PENGEMBANGAN KONEKSI ANTAR JARINGAN UNTUK PENUNJANG SISTEM OBSERVASI LAUT
CHRISTIADI TRIYATNA
SKRIPSI
DEPARTEMEN ILMU DAN TEKNOLOGI KELAUTAN FAKULTAS PERIKANAN DAN ILMU KELAUTAN INSTITUT PERTANIAN BOGOR 2011
RINGKASAN
CHRISTIADI TRIYATNA. PENGEMBANGAN KONEKSI ANTAR JARINGAN UNTUK PENUNJANG SISTEM OBSERVASI LAUT. Dibimbing oleh I WAYAN NURJAYA dan INDRA JAYA. Masyarakat Indonesia banyak yang menggantungkan hidup pada laut, baik dalam kegiatan pelayaran, perencanaan dermaga dan pelabuhan, perencanaan ataupun pengembangan wilayah pesisir dan pantai, sehingga diperlukan data aktivitas laut seperti angin untuk mendukung kegiatan masyarakat (WALHI, 2011). Banyak badan internasional penyedia data khusunya data angin secara realtime seperti NOAA, dan IFREMER, yang menyediakan data secara gratis. Permasalahan yang dihadapi pengguna data oseanografi yang berada di Indonesia adalah koneksi yang lambat untuk mengunduh data, data yang diunduh terlalu besar karena mencakup data satu dunia. Prototipe server penyedia data lokal untuk daerah Indonesia berbasis web ini menjawab kebutuhan pengguna data di Indonesia. Prototipe server penyedia data lokal mempermudah pihak-pihak yang berkepentingan untuk memperoleh data klimatologi dan oseanografi, khususnya data angin secara realtime karena server diakses dengan koneksi lokal yang relatif lebih cepat dibandingkan dengan koneksi internasional dan file yang diunduh lebih kecil. Prototipe server penyedia data lokal menggunakan data yang berasal dari Centre ERS d'Archivage et de Traitement - French ERS Processing and Archiving Facility (CERSAT), parameter yang digunakan adalah angin permukaan yang dioperasikan dengan system Linux Ubuntu 9.04 karmic dan bahasa pemograman Phyton2.6. Website yang dibangun menyediakan data per 6 jam dan dapat dilihat rerata harian, bulanan serta tahunan berdasarkan kebutuhan pengguna. Penelitian ini terdiri dari tiga subsistem utama yang mempunyai fungsi dan peranan sendiri-sendiri, ketiga sistem ini adalah: 1. Subsistem pengolahan data sistem pengolahan data dibagi menjadi tiga bagian subsistem yang bekerja berkesinanbungan. Ketiga subsistem ini adalah: Subsistem unduh data berperanuntuk mengunduh semua data angin yang berasal dari website IFREMER, Subsistem pengolahan data berperan untuk mengolah data hasil unduh, dan Subsistem komunikasi yang menghubungkan sistem pengolahan data ke system lainnya. 2. Subsistem basis data: Sistem basis data berisi tentang info data yang tersimpan dalam sistem pengolah data dan diimport dalam bentuk tabel pada mysql. Pada sistem basis data terdapat enam tabel yaitu: tabel raw data, tabel data Indonesia, tabel data harian, tabel data bulanan, tabel data tahunan, dan tabel plot data Indonesia 3. Subsistem Webserver : berfungsi sebagai penghubung antara pengguna dengan sistem basis data dan sistem pengolahan data
PENGEMBANGAN KONEKSI ANTAR JARINGAN UNTUK PENUNJANG SISTEM OBSERVASI LAUT
SKRIPSI
Oleh : CHRISTIADI TRIYATNA
Sebagai salah satu syarat untuk memperoleh gelar Sarjana Ilmu Kelautan Pada Fakultas Perikanan dan Ilmu Kelautan Institut Pertanian Bogor
DEPARTEMEN ILMU DAN TEKNOLOGI KELAUTAN FAKULTAS PERIKANAN DAN ILMU KELAUTAN INSTITUT PERTANIAN BOGOR 2011
PERNYATAAN MENGENAI SKRIPSI DAN SUMBER INFORMASI
Dengan ini saya menyatakan bahwa Skripsi yang berjudul :
PENGEMBANGAN KONEKSI ANTAR JARINGAN UNTUK PENUNJANG SISTEM OBSERVASI LAUT adalah benar merupakan hasil karya sendiri dan belum diajukan dalam bentuk apapun kepada perguruan tinggi manapun. Semua sumber data dan informasi yang berasal atau dikutip dari karya yang diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka dibagian akhir Skripsi ini.
Bogor, 18 Juli 2011
CHRISTIADI TRIYATNA NRP. C54053969
i
© Hak cipta milik IPB, tahun 2011 Hak cipta dilindungi 1.
2.
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan atau menyebutkan sumber a. Pengutipan hanya untuk kepentingan pendidikan, penelitian, penulisan karya ilmiah, penyusunan laporan, penulisan kritik atau tinjauan suatu masalah b. Pengutipan tidak merugikan kepentingan yang wajar IPB Dilarang mengumumkan dan memperbanyak sebagian/seluruh karya tulis dalam bentuk apapun tanpa izin IPB
ii
Judul Penelitian
: PENGEMBANGAN KONEKSI ANTAR JARINGAN UNTUK PENUNJANG SISTEM OBSERVASI LAUT
Nama Mahasiswa
: Christiadi Triyatna
Nomor Pokok
: C54053969
Departemen
: Ilmu dan Teknologi Kelautan
Menyetujui, Dosen Pembimbing Utama
Dosen Pembimbing Anggota
Dr. Ir. I Wayan Nurjaya, M.Sc NIP. 19640801 19893 1 001
Prof. Dr. Ir. Indra Jaya, M.Sc NIP. 19610410 198601 1 002
Mengetahui, Ketua Departemen Ilmu dan Teknologi Kelautan
Prof. Dr. Ir. Setyo Budi Susilo, M.Si NIP. 19580909 198303 1 003
Tanggal lulus : 18 Juli 2011
iii
KATA PENGANTAR Puji dan syukur penulis panjatkan kehadirat Tuhan Yesus Kristus atas kasih dan karunia yang telah Dia berikan sehingga skripsi ini dapat diselesaikan. Skripsi yang berjudul “PEMROSESAN DATA OTOMATIS KELAUTAN Net-CDF UNTUK PENUNJANG SISTEM OBSERVASI LAUT” diajukan sebagai salah satu syarat untuk mendapatkan gelar Sarjana Ilmu Kelautan pada Fakultas Perikanan dan Ilmu Kelautan. Dalam kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada: 1. Kedua orangtua dan keluarga yang selalu mendukung dan mendoakan sehingga skripsi ini dapat selesai, Tuhan memberkati. 2. Dr. I Wayan Nurjaya, M.Sc dan Prof. Dr. Indra Jaya, M.Sc selaku dosen pembimbing yang telah membimbing dan memberikan semangat kepada penulis dalam proses penyelesaian tugas akhir.
3. Dr. Ir. John I. Pariwono selaku Pembimbing Akademik. 4. Dr. Ir. Henry M. Manik, MT selaku Ketua Program Studi ITK. 5. Bapak/Ibu dosen dan staf penunjang Departemen ITK. 6. Muhammad Iqbal yang telah membantu dan membimbing penulis selama penelitian di Laboratorium Instrumentasi Kelautan, ITK-IPB. 7. Seluruh teman seperjuangan ITK angkatan 42 dan seluruh warga ITK yang tidak dapat disebut satu-persatu.
Penulis menyadari bahwa penulisan skripsi ini belum dapat dikatakan sempurna, untuk itu penulis sangat mengharapkan kritik dan saran yang membangun demi kesempurnaan skripsi ini. Akhir kata penulis berharap bahwa skripsi ini dapat berguna bagi penulis maupun pembaca dan orang lain. Tuhan memberkati.
Bogor, 18 Juli 2011
Christiadi Triyatna
iv
v
DAFTAR ISI
Halaman
LEMBAR PENGESAHAN .............................................................................
ii
KATA PENGANTAR ......................................................................................
iii
DAFTAR ISI .....................................................................................................
v
DAFTAR GAMBAR .........................................................................................
viii
DAFTAR TABEL.............................................................................................
x
1. PENDAHULUAN ..................................................................................... 1.1 Latar Belakang ....................................................................................... 1.2 Tujuan ....................................................................................................
1 1 2
2. TINJAUAN PUSTAKA .............................................................................. 2.1 Sistem Manajemen Basis Data.............................................................. 2.2 Sistem Jaringan. .................................................................................... 2.2.1 Internetworking ............................................................................. 2.2.2 Model Client Server ...................................................................... 2.3 Format Data Kelautan. .......................................................................... 2.3.1 GRID in Binary (GRIB) ................................................................ 2.3.2 Common Data Format(CDF) ........................................................ 2.3.3 Hierarchical Data Format (HDF) ................................................ 2.3.4 Binary Universal Format Representation (BUFR) ....................... 2.3.5 Network Common Data Form (NetCDF) ..................................... 2.3.5.1 Model Data NetCDF ........................................................... 2.4 Wget. ..................................................................................................... 2.5 Python. .................................................................................................. 2.5.1 Modul Python ................................................................................ 2.5.1.1 Modul NetCDF.................................................................... 2.5.1.2 Numpy ................................................................................. 2.5.1.3 Matplotlib ............................................................................ 2.6 Komputasi di Bidang Ilmu Kelautan..................................................... 2.6.1 Sistem Pengolahan Data StasiunLapang AMSR ADEOS-II ........ 2.6.2 High Speed Processing AMSR ADEOS-II ................................... 2.7 Data Angin CERSAT-IFREMER. ........................................................ 2.7.1 ERS Scatterometer ........................................................................ 2.7.2 NSCAT ..........................................................................................
3 3 5 6 8 9 11 11 12 12 12 14 17 18 18 19 21 22 23 24 28 30 32 33
3. BAHAN DAN METODE ............................................................................ 3.1 Lokasi dan Waktu Penelitian ................................................................. 3.2 Perangkat dan Peralatan ......................................................................... 3.2.1 Perangkat Keras ............................................................................. 3.2.2 Perangkat Lunak ............................................................................ 3.2.3 Sumber Data .................................................................................. 3.3 Metodologi Penelitian Secara Umum .................................................... 3.4 Skenario Pengunduhan Data .................................................................. 3.5 Skenario Pengolahan Data ..................................................................... 3.6 Skenario Visualisasi Data ...................................................................... 3.7 Skenario Sistem Webserver ................................................................... 3.8 Website................................................................................................... 3.9 Analisis Kerja Sistem ............................................................................. 3.10 Validasi Data .........................................................................................
35 35 35 35 35 36 37 38 39 42 43 44 45 45
4. HASIL DAN PEMBAHASAN ................................................................... 4.1 Alur Kerja Sistem .................................................................................. 4.1.1 Subsistem Pengolahan Data ............................................................ 4.1.1.1 Modul Pengunduhan Data ................................................... 4.1.1.2 Modul Pengolahan Data ...................................................... 4.1.1.3 Modul Komunikasi .............................................................. 4.1.2 Subsistem Basis Data ...................................................................... 4.1.3 Sistem Webserver............................................................................ 4.2 Model Pengunduh Data. ........................................................................ 4.3 Pengolahan Data.................................................................................... 4.3.1 Proses Ekstrak Data....................................................................... 4.3.2 Proses Cropping Data .................................................................... 4.3.3 Proses Perata-rataan Data............................................................. 4.3.3.1 Data harian .......................................................................... 4.3.3.2 Data Bulanan ....................................................................... 4.3.3.3 Data Tahunan ...................................................................... 4.3.4 Import Keterangan File ke MySQL............................................... 4.3.5 Visualisasi Data ............................................................................. 4.4 Basis Data.............................................................................................. 4.5 Tampilan Halaman Website. ................................................................. 4.5.1 Proses Pencarian Data ................................................................... 4.6 Analisis Kerja Subsistem. ..................................................................... 4.6.1 Analisis Pemrosesan Download .................................................... 4.6.2 Analisis Pemrosesan Ekstraksi dan Cropping ............................... 4.6.3 Analisis Proses Penggabungan data Indonesia Harian, Bulanan, dan Tahunan .................................................................................. 4.7 Validasi Data ........................................................................................ 4.7.1 Validasi Komponen Zonal dan Meridional Dari Data Angin IFREMER dan TRITON Harian ................................................... 4.7.2 Sebaran Data IFREMER dan TRITON .........................................
46 46 46 46 47 48 48 49 52 58 60 62 68 69 73 77 79 80 83 86 90 92 93 94
vi
95 96 97 99
5.
KESIMPULAN DAN SARAN .................................................................. 5.1 Kesimpulan ............................................................................................ 5.2 Saran.......................................................................................................
100 100 100
DAFTAR PUSTAKA .......................................................................................
101
LAMPIRAN .......................................................................................................
103
DAFTAR RIWAYAT HIDUP .........................................................................
107
vii
DAFTAR GAMBAR Halaman Gambar 1. Jaringan internet ...............................................................................
8
Gambar 2. Model client - server. .......................................................................
9
Gambar 3. Data netCDF model klasik ...............................................................
15
Gambar 4. UML dari data model netCDF yang disempurnakan .......................
16
Gambar 5. Konfigurasi system ground segmen ADEOS-II...............................
26
Gambar 6. Hubungan interface data subsistem pengolahan data AMSR ..........
27
Gambar 7. Konfigurasi subsistem pengolahan data AMSR...............................
28
Gambar 8. (a) The ERS-1 satellite and its microwave instruments. (b) Wind ERS-1 scatterometer geometry .........................................
32
Gambar 9. ADEOS satellite and its instrument .................................................
34
Gambar 10. Metodologi penelitian secara umum ..............................................
38
Gambar 11. Proses pendownload-an data ..........................................................
39
Gambar 12. Proses pengolahan data ..................................................................
41
Gambar 13. Proses visualisasi data ....................................................................
42
Gambar 14. Sistem webserver............................................................................
43
Gambar 15. Diagram alir website ......................................................................
44
Gambar 16. Modul pengunduhan data, B. Modul pengolahan data C. Modul komunikasi, D.Sistem pengolahan data, E. Sistem basis data, F. Basis data .......................................................................................
51
Gambar 17. Contoh proses pengunduhandata yang error ..................................
55
Gambar 18. Tempat penyimpanan raw data di lokalkomputer ..........................
56
Gambar 19. Diagram Proses Pengolahan Data (A. Proses Ekstrak Data, B. Proses Cropping Data, C. Proses penggabungan Data, D. Proses Import ke MySQL ..........................................................................
59
Gambar 20. Direktori raw data dan data hasil ekstrak .......................................
62
Gambar 21. Cropping data .................................................................................
64
Gambar 22. Direktori data hasil cropping ..........................................................
68
Gambar 23. Direktori tempat penyimpanan data hasil gabung 1 hari................
72
Gambar 24. Direktori penyimpanan data bulanan .............................................
76
viii
Gambar 25. Direktori tempat penyimpanan data tahunan .................................
75
Gambar 26. Plot Sebaran Angin 2D ...................................................................
83
Gambar 27. Diagram relasi antar tabel basis data ..............................................
85
Gambar 28. Tampilan homepage observasi data kelautan. (a) header (b) Sistem pencari data ( c) footer ...................................................................
86
Gambar 29. Form IFREMER luasan world .......................................................
87
Gambar 30. Form dowload raw data IFREMER luasan world dengan parameter angin, berdasarkan jam, tanggal, bulan, dan tahun ........................
88
Gambar 31. Form IFREMER luasan Indonesia ..................................................
88
Gambar 32. Form IFREMER Indonesia dengan rataan per6jam ........................
89
Gambar 33. Form download IFREMER indonesia dengan parameter suhu dan rataan tahunan .................................................................................
90
Gambar 34. Diagram alir Pencarian Data ...........................................................
91
Gambar 35. Validasi data zonal harian IFREMER dan TRITON ......................
97
Gambar 36. Validasi data meridional harian IFREMER dan TRITON ..............
98
Gambar 37. Sebaran data IFREMER dan TRITON............................................
99
ix
DAFTAR TABEL
Tabel 1. Struktur data angin ............................................................................... 37 Tabel 2. Subsistem menu halaman awal ............................................................ 87 Tabel 3. Analisis kerja sistem ............................................................................ 92 Tabel 4. Lamanya proses pengolahan satu file data ........................................... 93 Tabel 5. Analisis pemrosesan unduh data .......................................................... 94 Tabel 6. Analisis pemrosesan ekstraksi dan cropping ....................................... 94 Tabel 7. Proses penggabungan data harian ........................................................ 85 Tabel 8. Proses penggabungan data bulanan..................................................... 96 Tabel 9. Proses penggabungan data tahunan..................................................... 96 Tabel 10. Standard deviation pada data IFREMER dan TRITON .................... 98 Tabel 11. Standard deviation pada data IFREMER dan TRITON .................... 99
x
1
1. 1.1
PENDAHULUAN
Latar belakang Masyarakat Indonesia banyak yang menggantungkan hidup pada laut, baik
dalam kegiatan pelayaran, perencanaan dermaga dan pelabuhan, perencanaan ataupun pengembangan wilayah pesisir dan pantai, sehingga diperlukan data aktivitas laut seperti angin untuk mendukung kegiatan masyarakat (WALHI, 2011). Banyak badan internasional penyedia data khusunya data angin secara realtime NOAA, dan IFREMER, yang menyediakan data secara gratis. Permasalahan yang dihadapi pengguna data oseanografi yang berada di Indonesia adalah koneksi yang lambat untuk mengunduh data, data yang diunduh terlalu besar karena berisi data satu dunia. Badan Meteorologi Klimatologi dan Geofisika (BMKG) sudah melakukan pengembangan informasi data angin namun belum dapat diakses secara bebas. Prototipe server penyedia data lokal untuk daerah Indonesia berbasis web yang akan dikembangkan pada penelitian ini menjawab kebutuhan pengguna data di Indonesia. Prototipe server penyedia data lokal mempermudah pihak-pihak yang berkepentingan untuk memperoleh data klimatologi dan oseanografi, khususnya data angin secara realtime karena server di akses dengan koneksi lokal yang relatif lebih cepat dibandingkan dengan koneksi internasional Prototipe server penyedia data lokal menyediakan data dengan ukuran yang lebih kecil daripada data asli yang berasal dari website penyedia data internasional, karena area jangkauan data adalah Indonesia. Ukuran file yang lebih kecil dan koneksi server yang lokal akan mempercepat dan mempermudah
pengguna data untuk mengakses data yang dibutuhkan. Penelitian ini akan difokuskan pada data angin berformat NetCDF yang berasal dari website IFREMER, dan mempunyai luasan 0.25 ° x 0.25°.
1.2
Tujuan Membuat prototipe server lokal penyedia data untuk daerah Indonesia
berbasis web sehingga mempermudah pihak-pihak yang berkepentingan untuk memperoleh data klimatologi dan oseanografi, khususnya data angin dengan cepat dan mudah.
2
3
2. 2.1
TINJAUAN PUSTAKA
Sistem Manajemen Basis Data Data merupakan fakta mengenai suatu objek seperti manusia, benda,
peristiwa, konsep, keadaan dan sebagainya yang dapat dicatat dan mempunyai arti implisit. Data dapat dinyatakan dalam bentuk angka, karakter atau simbol, sehingga bila data dikumpulkan dan saling berhubung maka dikenal dengan istilah basis data atau database (Ramez, 2000). Basis data merupakan suatu kumpulan data yang disimpan secara bersama-sama pada suatu media tanpa ada redundansi (data yang tidak diperlukan atau pengulangan data) satu sama lain sehingga mudah untuk digunakan atau ditampilkan kembali (Sutanta, 1996). Satu sistem manajemen basis data atau Data Base Management System (DBMS) adalah sistem yang berisi satu koleksi data yang saling berelasi dan satu set program untuk mengakses data tersebut. DBMS terdiri dari satu set basis data dan set program pengelola untuk menambah, menghapus, mengambil dan membaca data (Kristanto, 1994). Pada umumnya database bersifat intergrated dan shared. Intergrated berarti basis data merupakan penggabungan beberapa file data yang berbeda dengan membatasi pengulangan baik keseluruhan file ataupun sebagian. Shared sendiri artinya adalah data individu dalam basis data dapat digunakan secara bersamaan antara beberapa pengguna yang berbeda (Robby et al, 2009). Beberapa Kelebihan digunakannya sistem basisdata:
Padat : tidak perlu lagi membuat arsip kertas dalam ukuran besar.
Kecepatan : mesin dapat mendapatkan kembali dan mengubah data jauh lebih cepat daripada manusia yang dapat lakukan.
Mengurangi pekerjaan yang membosankan.
Aktual : informasi yang terbaru dan akurat selalu tersedia di setiap waktu ketika dibutuhkan. Menurut Kristanto (2002) ada beberapa syarat untuk merancang basis
data, yaitu : 1. Redundansi dan Inkonsisten Data Redudansi adalah data yang sama di beberapa tempat. Hal ini dapat menyebabkan inkonsisten data, karena jika ada data yang harus dirubah harus merubah satu per satu. Selain itu juga menyebabkan pemborosan ruang dan biaya. 2. Kesulitan Akses Data Data yang kita miliki mudah untuk diakses dengan program yang familiar dan DBMS sudah dapat memenuhi syarat tersebut. 3. Isolasi Data Untuk Standarisasi Apabila data yang kita miliki tersebut merupakan beberapa file, maka haruslah dalam format yang sama sehingga tidak menyulitkan pengaksesan data.
4
4. Multiple User Salah satu alasan mengapa basis data dibuat karena nantinya basis data digunakan oleh banyak orang dan waktu yang tak terbatas, sehingga basis data yang baik harus tidak bergantung dan menyatu dengan programnya. 5. Masalah Keamanan Sistem basis data haruslah mempunyai program yang dapat mengatur akses dari user. 6. Masalah Integritas Apabila terdapat dua file yang saling berkaitan maka harus ada field rinci yang mengkaitkan keduanya. 7. Masalah Kebebasan Data Sistem basis data yang baik harus menjamin bahwa suatu saat struktur data dapat berubah, maka program tidak perlu dirubah dan tetap dapat mengakses data.
2.2
Sistem Jaringan Jaringan (network) dalam bidang Information Technology (IT) diartikan
sebagai dua atau lebih komputer yang dihubungkan sehingga dapat berhubungan dan berkomunikasi, sehingga akan menimbulkan efisiensi, sentralisasi dan optimasi kerja. (Riyanto, 2003). Jaringan adalah suatu set perangkat keras dan lunak di dalam suatu sistem yang memiliki suatu aturan tertentu yang mengatur seluruh aktivitas dan perilaku anggota-anggotanya dalam melakukan suatu aktivitas. Komponen dari suatu jaringan adalah node dan link. Node adalah titik yang dapat menerima input data
5
ke dalam jaringan atau menghasilkan output informasi atau kedua-duanya seperti PC atau komputer mikro dan modem, sedangkan link adalah kanal atau jalur transmisi untuk arus informasi atau data diantara node berupa kabel, sistem gelombang mikro, laser atau sistem satelit. Satu komputer yang terkoneksi ke jaringan menjadi satu node dari jaringan tersebut. Komputer juga dapat menjadi node sepanjang mereka dapat berkomunikasi melalui jaringan, dengan mengirim dan menerima data dari node-node yang lain. Istilah “host” secara umum diartikan sebagai komputer yang terkoneksi ke jaringan yang dapat memberikan layanan jaringan (network service). Data dikirimkan dari satu komputer ke komputer lain dalam jaringan dibawa oleh medium jaringan (Riyanto, 2003). Jaringan dapat bermanfaat sebagai sharing informasi, sharing hardware, dan sentral administrasi dan support jaringan.
2.2.1 Internetworking Tujuan dari Transmission Control Protocol/Internet Protocol (TCP/IP) adalah untuk membangun suatu koneksi antar jaringan (network), dimana biasa disebut internetwork, atau internet, yang menyediakan pelayanan komunikasi antar jaringan yang memiliki bentuk fisik yang beragam. Tujuan yang jelas adalah menghubungkan host pada jaringan yang berbeda, atau mungkin terpisahkan secara geografis pada area yang luas. Gambar 1 merupakan contoh jaringan internet dimana keduanya terlihat dalam 1 logika jaringan. Internet dapat digolongkan menjadi beberapa grup jaringan, antara lain:
6
Backbone: Jaringan besar yang menghubungkan antar jaringan lainnya. Contoh : NSFNET yang merupakan jaringan backbone dunia di Amerika, EBONE yang merupakan jaringan backbone di Eropa, dan lainnya. Jaringan regional, contoh: jaringan antar kampus. Jaringan yang bersifat komersial dimana menyediakan koneksi menuju backbone kepada pelanggannya. Jaringan lokal, contoh: jaringan dalam sebuah kampus. Aspek lain yang penting dari Transmission Control Protocol/Internet Protocol ( TCP/IP ) adalah membentuk suatu standarisasi dalam komunikasi. Tiap-tiap bentuk fisik suatu jaringan memiliki teknologi yang berbeda-beda, sehingga diperlukan pemrograman atau fungsi khusus untuk digunakan dalam komunikasi. Transmission Control Protocol/Internet Protocol ( TCP/IP ) memberikan fasilitas khusus yang bekerja diatas pemrograman atau fungsi khusus tersebut dari masing-masing fisik jaringan. Sehingga bentuk arsitektur dari fisik jaringan akan tersamarkan dari pengguna dan pembuat aplikasi jaringan. Dengan TCP/IP, pengguna tidak perlu lagi memikirkan bentuk fisik jaringan untuk melakukan sebuah komunikasi.
7
Gambar 1. Jaringan internet (Dhoto, 2007)
Gambar 1 diatas menjelaskan bahwa untuk dapat berkomunikasi antar 2 jaringan, diperlukan komputer yang terhubung dalam suatu perangkat yang dapat meneruskan suatu paket data dari jaringan yang satu ke jaringan yang lain. Perangkat tersebut disebut Router. Selain itu router juga digunakan sebagai pengarah jalur (routing). Internet Protocol (IP) adalah sebuah alamat yang berguna untuk mengidentifikasi sebuah host. Sebuah host yang memiliki beberapa perangkat jaringan (interface), seperti router, maka setiap interface harus memiliki sebuah alamat Internet Protocol (IP) yang unik sebagai pengidentifikasi.
2.2.2 Model Client Server Model client/server merupakan sistem yang memisahkan secara jelas, mana yang dapat memberikan layanan jaringan (server) dan mana yang hanya menerima layanan (client). Beberapa komputer diatur sebagai server yang
8
memberikan segala sumberdaya (resource) dari jaringan printer, modem, saluran dan lain-lain kepada komputer lain yang terkoneksi ke jaringan yang berfungsi sebagai client. Untuk dapat berkomunikasi antara server dan client (dan diantara mereka) server menggunakan aplikasi jaringan yang disebut server program dan client berinteraksi dengan server menggunakan program client. Server merupakan progam yang dapat menerima permintaan (request), melakukan pelayanan yang diminta, kemudian mengembalikan sebagai reply. Server dapat melayani multi request bersamaan.
Gambar 2. Model client-server (Anonim, 2010)
Gambar 2 diatas menjelaskan bahwa server bekerja dengan cara menunggu request pada port yang sudah terdaftar, sehingga client dapat dengan mudah mengirimkan data ke port pada server.
2.3
Format Data Kelautan Berdasarkan NESL’s Climate & Global Dynamics (2010) data atmosfer
dan oseanografi dapat diarsipkan dalam beberapa bentuk karakter format, native format, paket biner atau dalam salah satu dari beberapa format data standar 9
ilmiah. Pengguna dataset harus mengetahui informasi penyimpanan data. Terdapat beberapa metode yang berbeda untuk menyimpan baik karakter dan nilai-nilai numerik. Biasanya, deskripsi rinci tentang format data yang disediakan dan, seringkali, perangkat lunak untuk mengakses data sudah tersedia. Unsur terkecil dari informasi yang terkandung dalam komputer disebut “bit”. Setiap bit dapat “on” atau “off”' dan diwakili oleh “1” atau “0”. Komputer menyimpan teks dan angka sebagai rangkaian dari bit. Rangkaian 8-bit disebut byte dan sering digunakan untuk menggambarkan karakter teks, misalnya „a‟, „q‟, „;‟, „6‟, dan lain-lain. Memerintahkan urutan byte disebut dengan word. Pada umumnya, komputer workstation dan super komputer yang digunakan oleh para ilmuwan atmosfer dan oseanografi memiliki panjang data 32/64-bit. Jika merujuk byte ke karakter, kemudian kata 32-bit bisa mengandung 4 karakter, sedangkan kata 64-bit bisa berisi 8 karakter. Sebuah teks komputer yang digunakan untuk menyimpan nilai numerik float terdiri dari tiga segmen, yakni bit penanda, karakteristik (bias eksponen) dan sebuah mantissa. Sebuah integer diwakili oleh dua segmen, yakni bit tanda dan rangkaian bit atau sebuah data 32-bit dapat menyimpan nomor float dengan enam sampai tujuh presisi desimal sementara data 64-bit dapat menyimpan nomor dengan tiga belas sampai empat belas presisi desimal. Workstation yang biasanya beroperasi dengan kata-kata 32-bit juga bisa menggunakan dan menyimpan data angka dalam modus 64-bit dengan menggunakan pernyataan deklarasi tipe dalam FORTRAN (double precision) dan C (int double dan long). Karakteristik arsitektur perangkat keras komputer dapat menyebabkan beberapa kesulitan saat menggunakan data biner yang dibuat pada
10
mesin yang berbeda. Namun, perangkat lunak sering tersedia untuk mengubah data ke bentuk yang sesuai. Terdapat sejumlah format data standar ilmiah. Dokumentasi dan perangkat lunak yang diperlukan untuk mengimplementasikan format ini umumnya tersedia melalui jaringan computer. Arsitektur format standar independen yang umum digunakan untuk data atmosfer dan oseanografi mencakup: GRIB (GRId in Binary), CDF (Common Data Format), HDF (Hierarchical Data Format), BUFR (Binary Universal Format Representation), dan netCDF (network CDF) (Setiawan, 2008).
2.3.1 GRID in Binary (GRIB) GRIB adalah standar World Meteorological Organization (WMO) format data yang merupakan metode yang efisien untuk transmisi dan pengarsipan untuk volume data meteorologi dan oseanografi dua dimensi yang besar. GRIB adalah standar yang digunakan oleh pusat operasional meteorologi terbesar di dunia (NMC dan ECMWF). Sebuah format GRIB baru, yang dikenal sebagai GRIB2, dinyatakan beroperasi pada bulan November 2001. GRIB2 (Informasi secara umum dan teratur didistribusikan dalam dataset binary) lebih fleksibel dibandingkan dengan GRIB asli. Hal ini dapat digunakan untuk menangani data radar dan satelit dan memungkinkan untuk kompresi data yang lebih baik.
2.3.2 Common Data Format (CDF) CDF pada awalnya dikembangkan oleh NASA Goddard sekitar tahun 1980 sebagai interface dan toolkit untuk arsip dan akses ke data multidimensi pada VAX menggunakan VMS FORTRAN. Selama bertahun-tahun telah
11
berkembang menjadi standar mesin-independen dan sering digunakan oleh NASA untuk menyimpan data luar angkasa dan data ilmu bumi.
2.3.3 Hierarchical Data Format (HDF) HDF adalah format data umum yang dibuat oleh NCSA, ada dua versi utama, yakni HDF4 dan HDF5 yang diperkenalkan pada tahun 1999. HDF4 tidak kompatibel dengan HDF5. HDF menekankan format umum tunggal untuk data, di mana banyak interface dapat dibangun. Sebuah interface netCDF untuk HDF4 disediakan tetapi tidak ada dukungan untuk pencampuran struktur HDF dan netCDF. Dengan kata lain, perangkat lunak HDF4 dapat membaca HDF dan netCDF tetapi hanya bisa menulis di HDF4. Baik HDF4 dan HDF5 lebih fleksibel daripada netCDF tetapi juga lebih rumit. HDF sering digunakan untuk arsip dan mengirimkan gambar raster.
2.3.4 Binary Universal Format Representation (BUFR) BUFR adalah sebuah data format standar WMO (World Meteorological Organization) untuk representasi data meteorologi dan oseanografi. Meskipun dapat digunakan untuk semua jenis data, fungsi utamanya adalah untuk mewakili data pengamatan, misalnya dari stasiun, raobs dan kapal. Hal ini dirancang untuk mengurangi redundansi untuk transmisi yang efisien melalui GTS dan untuk mengurangi waktu komputer yang diperlukan untuk memecahkan kode informasi.
2.3.5 Network Common Data Form (NetCDF) Network Common Data Form atau netCDF merupakan sebuah interface untuk mengakses fungsi library data untuk menyimpan dan mengambil data dari bentuk array. Array adalah dimensi yang memiliki struktur empat persegi
12
panjang yang berisi data dengan tipe yang sama (Rew et al, 2010). Sejak tahun 1988, netCDF telah merekomendasikan penggunaan konvensi untuk mewakili data dan untuk mendorong interoperabilitas antara penyedia data, pengembang aplikasi, dan pengguna data. Konvensi dimaksudkan agar format yang ditetapkan dapat berlaku umum untuk setiap jenis data yang direpresentasikan dalam bentuk netCDF, termasuk data yang tidak berhubungan dengan kebumian, seperti:
Penggunaan nama yang sama untuk suatu variabel sebagai dimensi untuk mewakili koordinat sederhana.
Atribut untuk menyimpan string representasi dari unit suatu pengukuran
Atribut untuk mewakili data yang belum ditulis atau yang hilang.
Sebuah konvensi atribut yang menyatakan disiplin, spesifik, dan khusus. NetCDF merupakan serangkaian perangkat lunak perpustakaan dan self-
describing mesin independen format data yang mendukung penciptaan, akses, dan berbagai array berorientasi data ilmiah. Proyek homepage yang diselenggarakan oleh Unidata Program di University Corporation for Atmospheric Research (UCAR). Mereka juga pemimpin sumber perangkat lunat NetCDF, standar pengembangan, update, dan lain-lain. Format ini merupakan standar terbuka. Proyek ini didukung aktif dan baru saja diluncurkan versi 4.0 (2008) dimana hal ini sangat meningkatkan perkembangan data model bagi pengguna data HDF5. NetCDF versi 4 rilis dengan membawa tiga aspek terdiri dari (Hartnett dan Rew, 2008):
13
Sebuah konsep dari suatu model data Kumpulan format data binary Kumpulan dari APIs untuk C/ Fotran/ Java
2.3.5.1 Model Data NetCDF Rew (2008) menjelaskan format data tingkat rendah yang menerapkan konvensi data dengan pemetaan abstraksi yang merupakan subjek konvensi untuk perwakilan mereka pada media penyimpanan, data konvensi, memanfaatkan format data, menambahkan lebih tinggi tingkat abstraksi dan objek data seperti sistem koordinat model data yang paling abstrak dan konseptual lapisan paling sederhana, dan dapat menggunakan data dalam konvensi yang mewakili maksud dari penyedia format data. Biasanya mengimplementasikan model data secara langsung tidak ada konvensi yang digunakan, tapi konvensi dapat meningkatkan model data dengan mendukung abstraksi tambahan atau penyederhanaan. Dua model data penting untuk netCDF :
Model netCDF klasik, digunakan untuk netCDF-3 dan versi sebelumnya. Model data yang ditingkatkan disebut sebagai Common Data Model (CDM), digunakan untuk netCDF-4 dan versi selanjutnya. Model netCDF klasik merupakan data set menggunakan nama variabel, dimensi, dan atribut. Variabel array multidimensi yang semua tipe unsur variabelnya sama juga bisa memiliki atribut dan terkait.. Setiap variabel memiliki bentuk, ditentukan oleh dimensi dan sumbu bernama yang memiliki panjang satu dimensi. Berbagi variabel menunjukkan grid umum. Salah satu dimensi mungkin memiliki panjang tak terbatas, sehingga data dapat secara efisien ditambahkan ke
14
variabel bersama. Variabel atribut memiliki salah satu dari enam tipe data primitif, yakni byte, short, int char, float, atau double.
Gambar 3. Data netCDF model klasik (R.Rew, 2009).
Meskipun model data netCDF-3 memiliki model yang sederhana, namun model data ini juga memiliki keterbatasan yang signifikan yakni kurang mendukungnya netCDF model klasik untuk struktur data array multidimensi dan list. Secara khusus nest array struktur dan ragged arrays tidak mudah diwakili. Hanya satu array multi dimessi untuk setiap file berarti beberapa dataset harus menggunakan beberapa file. Karakter array dapat mewakili string, tetapi membutuhkan pembatasan yang tegas dengan panjang array. Kurangnya jenis dan tipe unsigned integer 64-bit sehingga menghalangi beberapa aplikasi. Format netCDF yang klasik tidak mendukung kompresi variabel secara individu, penambahan file skema, misalnya menambahkan variabel baru dan dimensi, bisa sangat tidak efisien. Akhirnya, format data yang klasik memiliki bias terhadap
15
little-endian platforms, karena membutuhkan lebih banyak konversi byteswapping untuk mengakses data pada little-endian platforms. Model netCDF-4 data diimplementasikan dengan menggunakan lapisan HDF5 berbasis penyimpanan. Dalam model data yang disempurnakan, file memiliki kelompok level tinggi tanpa nama. Setiap kelompok mungkin berisi satu atau lebih variabel, dimensi, atribut, kelompok, dan jenis. Variabel adalah array multidimensi yang masih merupakan elemen yang semuanya dari jenis yang sama, variabel masing-masing memiliki atribut, dan bentuk setiap variabel adalah ditentukan oleh dimensi, dan dapat dipergunakan bersama. Namun, dalam model data yang disempurnakan, satu atau lebih dimensi mungkin memiliki panjang tak terbatas, sehingga data dapat secara efisien ditambahkan ke variabel. Variabel dan atribut memiliki salah satu dari dua belas tipe data primitif atau salah satu dari empat jenis tipe user-defined. Model data netCDF dapat lebih jelas dilihat melalui Gambar 4.
Gambar 4. UML dari data model netCDF yang disempurnakan netCDF-4 (merah) (Rew, 2008). 16
2.4
Wget Wget merupakan utility download non-interaktif yang gratis untuk
mengunduh file dari website. Wget mensupport HTTP (Hypertext Transfer Protocol ), HTTPS (Hypertext Transfer Protocol Secure) dan FTP (File Transfer Protocol), wget bekerja sama baiknya di bawah HTTP proxy (Niksic, 2009). Wget merupakan pendownload non-interaktif ini berarti pengguna tidak harus selalu login, sebagian besar web browser untuk mendownload file diperlukan user untuk terus login, dengan menggunakan wget saat pengguna sedang tidak log on maka wget untuk bekerja sendiri untuk menyelesaikan suatu tugas. Berikut beberapa fitur dari wget (Niksic, 2009):
Wget bisa mengunakan link Hypertext Markup Language (HTML), Extensible Hypertext Markup Language (XHTML), dan halaman Cascading Style Sheet (CSS) untuk membuat versi lokal dari website yang jauh, wget juga membuat struktur derektori yang sama dengan struktur dari website asli yang biasanya disebut recursive downloadin. Wget juga menghormati Robot Exclusion Standard („/robots.txt‟).
Wget dapat membaca informasi time-stamp yang diberikan oleh server HTTP dan FTP. Wget dapat melihat apakah remote file telah berubah dan secara automatis mendownload file yang baru, ini yang membuat wget sangat tepat untuk melakukan mirroring dari site FTP sama baiknya dengan homepage.
Wget didesain untuk mendownload pada jaringan yang lambat dan tidak stabil, jika pengunduhan gagal karena masalah koneksi wget akan terus berusaha sampai semua file berhasil diunduh, jika server mensupport
17
regetting ini akan menginstruksikan untuk melanjutkan pengunduhan dari file yang belum diunduh.
Wget mendukung server proxy yang mana bisa meringankan server, mempercepat pengunduhan dan mengakses file di dalam firewall. Wget menggunakan pasif FTP untuk mengunduh sebagai standar.
Wget mensupport IP versi 6 yang merupakan generasi selanjutnya. Binary dibangun dengan IPv6 yang mensupport dengan baik pada IPv6 dan IPv4
Fitur dari wget mempunyai kemampuan untuk memyempurnakan link yang ingin diikuti.
Progress pengunduhan individual file dilacak dengan menggunkan process gauge yang dilambangkan dengan non-interaktif dot. Secara standar, setiap titik menjelaskan data yang diterima sebesar 1 KB.
2.5
Python Python Software Foundation (1990) menjelaskan Python merupakan
bahasa pemrograman yang sangat kuat, dinamis dan digunakan dalam berbagai domain aplikasi. Python sering dibandingkan dengan Tcl, Perl, Ruby, Scheme atau Java. Beberapa fitur utama yang membedakan antara lain: Sangat jelas, sintaks mudah dibaca Kemampuan introspeksi yang kuat Objek orientasi programming Ekspresi natural dalam kode prosedural
Modul, mendukung paket hirarki
Pengecualian dalam penanganan error
18
Tipe data yang sangat dinamis
Ekstensi dan modul mudah ditulis dalam C, C + + (atau Java untuk Jython, atau. bahasa NET untuk IronPython). Python tersedia untuk semua sistem operasi utama: Windows, Linux /
Unix, OS / 2, Mac, Amiga, antara lain. Bahkan ada versi yang berjalan di NET, Mesin virtual Java, dan Seri ponsel Nokia 60. Kode sumber yang sama akan berjalan dan tidak berubah di semua implementasi (Python, 2010).
2.5.1
Modul Python Python memiliki cara untuk menempatkan definisi dalam sebuah file dan
menggunakannya dalam naskah atau dalam interaktif interpreter. File seperti ini disebut modul, definisi dari sebuah modul dapat diimpor ke modul lain atau ke modul utama.
2.5.1.1 Modul NetCDF NetCDF interface menggunakan bahasa pemograman Python. Module netCDF ini digunakan untuk membuka dan membuat file netCDF. Sekarang ada beberapa interface netCDF untuk Python, seperti: André Gosselin dari Institut Maurice-Lamontagne, Péches & Océans Canada, telah menerapkan pycdf, interface python baru ke netCDF. Ini tersedia dari http://pysclint.sourceforge.net/pycdf/ , dimana pengguna akan menemukan file mentah, instruksi instalasi, dokumentasi yang ekstensif dalam teks dan format html, dan contoh. pycdf membutuhkan paket python Numeric.
19
Bill Siang (
[email protected] ) telah menerapkan netCDF Python modul lain yang memungkinkan membuat, akses, dan browsing data netCDF dengan mudah. Modul ini juga menggunakan perpustakaan udunits untuk melakukan konversi unit. Informasi lebih lanjut dan sumber untuk Nun's netCDF modul untuk python tersedia di http://snow.cit.cornell.edu/noon/ncmodule.html . Paket dari Konrad Hinsen telah diintegrasikan ke dalam paket ScientificPython nya. Jeff Whitaker dari NOAA Earth System Research Lab telah mengembangkan modul netCDF-4 untuk python. Dapat di peroleh di http://code.google.com/p/netcdf4-python/ . Dave Brown dari NCAR's Computational and Information Systems Laboratory telah mengembangkan PyNIO, paket Python yang memungkinkan membaca dan menulis ke berbagai format data menggunakan model interface pada netCDF. Saat ini format yang didukung mencakup netCDF, HDF4, GRIB1 dan GRIB2 dan HDF-EOS 2 Grid . Kristen Dieterich dari University of Chicago menulis pynci, yang menyediakan akses ke interface netCDF C dari prompt Python. Vicente Galiano dari Universitas Miguel Hernandez telah mengembangkan interface Python untuk PnetCDF. Paket Python ini disebut "PyPnetCDF" memungkinkan akses ke file NetCDF menggunakan MPI dan perpustakaan pnetCDF dikembangkan oleh http://www.mcs.anl.gov/parallel-netcdf/ . Alat ini sangat mirip dengan
20
paket NetCDF Konrad Hinsen untuk Python tetapi dapat membaca dan menulis secara paralel. Dapat diperoleh di: http://www.pyacts.org/pypnetcdf Pupynere (Pure Python NEtcdf Reader) Roberto De Almeida telah mengembangkan pupynere, murni python NEtcdf Reader yang memungkinkan membaca dan mengakses ke netCDF file menggunakan sintaks yang sama sebagai modul Python Scientific.IO.NetCDF. Meski ditulis dengan Python, modul ini hingga 40% lebih cepat dari Scientific.IO.NetCDF dan pynetcdf.
2.5.1.2 Numpy NumPy adalah paket fundamental untuk komputasi ilmiah di Python. Ini adalah perpustakaan Python yang menyediakan multidimensional array objek, diturunkan berbagai obyek (seperti masked array dan matriks), dan berbagai macam rutin untuk operasi cepat pada array, termasuk matematika, manipulasi logis, bentuk, menyortir, memilih, I / O, Fourier diskrit transform, aljabar linear dasar, operasi statistik dasar, dan simulasi acak (NumPy community, 2010).
Pada inti dari paket NumPy, adalah obyek n-array. Merangkum array n-dimensi dengan tipe data yang homogen, dengan banyaknya operasi yang dilakukan dalam kode yang di kompilasi untuk kinerja.
NumPy array memiliki ukuran tetap pada penciptaan, tidak seperti daftar Python (yang bisa tumbuh secara dinamis).
Mengubah ukuran sebuah array akan menciptakan array baru dan menghapus yang asli. Elemen-elemen dalam array NumPy semua diwajibkan dalam tipe data yang sama, dengan demikian akan menjadi
21
ukuran yang sama di memori. Pengecualian: satu dapat memiliki array (Python, termasuk NumPy) obyek, sehingga memungkinkan untuk array memiliki elemen ukuran yang berbeda.
NumPy array memfasilitasi banyak fungsi matematika dan operasi yang lain dalam junlah data yang besar.
2.5.1.3 Matplotlib Matplotlib adalah paket Python untuk membuat grafik 2D yang berkualitas. Mendukung interaktif dan non-interaktif plotting, dan dapat menyimpan gambar dalam beberapa output format (PNG, PS, dan lain-lain). Selain itu, dengan Matplotlib dapat digunakan toolkit (GTK, wxWidgets, Qt, dan sebagainya) dan menyediakan berbagai jenis plot (baris, bar, pie chart, histogram, dan banyak lagi). Selain itu, sangat bervariasi, fleksibel, dan mudah digunakan. Matplotlib dimodelkan pada MATLAB, karena grafik adalah sesuatu yang MATLAB lakukan dengan sangat baik. Beberapa kelebihan dari matplotlib:
Menggunakan Python: Python adalah bahasa yang sangat menarik untuk tujuan ilmiah (Itu diinterpretasikan, tingkat tinggi, mudah dipelajari, extensible, dan memiliki library standar yang kuat) dan sekarang digunakan oleh lembaga besar seperti NASA, JPL, Google, DreamWorks, Disney, dan banyak lagi.
Open source, jadi tidak ada lisensi untuk membayar: Ini membuatnya sangat menarik bagi dosen dan mahasiswa, yang sering memiliki anggaran yang rendah.
22
Ini adalah bahasa pemrograman yang nyata: Bahasa MATLAB tidak memiliki banyak fitur dari bahasa untuk tujuan yang umum seperti Python.
Ini jauh lebih lengkap: Python memiliki banyak modul-modul eksternal yang akan membantu kita melakukan semua fungsi yang kita perlukan. Jadi alat yang sempurna untuk memperoleh data, menguraikan data, kemudian melakukan plot data.
Ini sangat dapat buat bervariasi dan extensible: Matplotlib dapat menyesuaikan setiap masalah karena memiliki banyak jenis grafik, fitur, dan opsi konfigurasi.
Terintegrasi dengan markup LaTeX: Ini benar-benar berguna saat menulis makalah ilmiah.
Cross-platform dan portabel: Matplotlib dapat berjalan di Linux, Windows, Mac OS X, dan Sun Solaris (dan Python bisa berjalan di hampir setiap arsitektur yang tersedia).
2.6
Komputasi di Bidang Ilmu Kelautan Banyak lembaga–lembaga yang menyediakan data kelautan seperti
NOAA, IFREMER, JAMSTEC, dan CSIRO. Untuk menyediakan data kelautan di perlukan komputasi dalam memproses data, sistem penyimpanan dan diakhiri dengan distribusi data ke user, semua hal di atas harus ditunjang dengan sistem komputasi yang cepat dan efisien, berhubungan dengan jumlah data yang besar (Stewart, 2005).
23
2.6.1
Sistem Pengolahan Data Stasiun Lapang AMSR ADEOS-II Ishida et al. menjelaskan bahwa AMSR adalah radiometer microwave
dengan antena berdiameter 2 meter, yang merupakan onboard antena terbesar untuk microwave. Tujuan AMSR adalah memperoleh data energi sirkulasi global melalui sirkulasi air. AMSR dapat mengamati permukaan bumi dalam 24 jam tanpa memperhatikan waktu setempat atau cuaca, dan dapat memperoleh serangkaian data observasi. Sistem Pengolahan Data Stasiun Lapang AMSR akan memproses semua data tersebut. Persyaratan untuk pengolahan data near realtime dan pengolahan semua data yang diamati, sistem pengolahan data stasiun lapang AMSR harus memiliki kemampuan memproses sejumlah besar data dengan cepat. Secara umum, pengolahan kecepatan yang lebih tinggi membutuhkan biaya yang lebih tinggi untuk pengembangan sistem. Satelit ADEOS-II yang mengintegrasikan AMSR, ADEOS-II ground segmen dimana ground data processing system AMSR sebagai suatu subsistem. ADEOS satelit-II yang memiliki orbit sinkron matahari dan membutuhkan waktu sekitar 101 menit untuk membuat putaran bumi dan akan melewati titik yang sama setiap 4 hari. Hal tersebut terintegrasi AMSR and GLI(Global Imager), ILAS-II (Improved Limb Atmospheric Spectrometer-II), POLDER (Polarization and Directionality of the Earth’s Reflectances), SeaWinds dan lain-lain. Operasi dasar ADEOS-II untuk merekam data yang diamati menggunakan Misi Data Recorder (MDR) yang terpasang di satelit, untuk mengirim kembali play-back MDR ke stasiun bumi melalui Inter Orbit Komunikasi (Ishido et al).
24
Satelit (IOCS) dihubungkan oleh band Ka atau mengirim langsung datadata tersebut ke stasiun bumi dengan menggunakan band X. Operasi yang menggunakan penghubung IOCS akan mulai dengan DRTS,DRTS (Data Relay Test Satellite) yang pertama pada tahun 2000. Sebelumnya, data yang diamati terutama akan dioperasikan dengan transmisi langsung oleh band X dan data pengamatan ADEOS-II berbentuk sebagai data paket berdasarkan CCSDS (Consultative Committee for Space Data System). Ini adalah aplikasi pertama Jepang untuk pengamatan sistem satelit. Konfigurasi sistem ADEOS-II ground sistem ditampilkan pada Gambar 5.
25
Gambar 5. Konfigurasi system ground segmen ADEOS-II (Ishido et al.) 26
Ground segmen ADEOS-II beroperasi total untuk menerima, mencatat, mengolah, mengelola data operasi satelit dan mendistribusikan data yang selesai di proses yang dapat dilihat pada Gambar 6.
Gambar 6. Hubungan interface data subsistem pengolahan data AMSR (Ishido et al.) Subsistem pengolahan data AMSR menerima data tingkat 0 dari EOC Recording System, stasiun lapang NASA dan stasiun kiruna. Subsistem pengolahan data AMSR menerima informasi perintah produksi dari manajemen misi dan sistem operasi atau jadwal sistem manajemen melalui manajemen pengolahan data stelah itu pengolahan data akan dimulai. Subsistem Pengolahan data AMSR membuat produk dari tingkat 1 ke tingkat 3 dari data tingkat AMSR 0. Serta perekaman media tape jenis kaset ditangani oleh Subsistem Master Data Storage dalam EOIS. EOIS memiliki tanggung jawab untuk benar-benar mengelola dan menyimpan semua data yang telah diproses dari setiap sensor yang ada.
27
2.6.2 High Speed Processing AMSR ADEOS-II Terdapat beberapa metode untuk mencapai pengolahan data berkecepatan tinggi, yakni mengembangkan perangkat lunak ke tingkat operating system prosesornya atau dengan menggunakan prosesor kecepatan tinggi. Berdasarkan hal tersebut stasiun lapang AMSR harus menggunakan yang memiliki kemampuan prosesor yang tinggi, jaringan kecepatan tinggi dan sistem disk RAID. Konfigurasi hardware subsistem pengolahan data AMSR ditunjukkan pada Gambar 7.
Gambar 7. Konfigurasi subsistem pengolahan data AMSR (Ishido et al.)
28
Untuk membagi sumber daya data dan memperpendek waktu pemrosesan, komputer yang terhubung dengan RAID disk. Perangkat ini berperan sebagai server data dan isi dari disk dibagikan melalui jaringan NFS dari komputer yang lain. Selain itu, agar penggunaan sumber daya perangkat keras lebih efektif, dapat dilakukan dengan cara memberi beberapa fungsi sekaligus, seperti fasilitas pengolahan data memiliki dua fungsi yaitu pengolahan data dan interface data dengan subsistem lainnya. Beberapa faktor penting untuk mempercepat pemrosesan data: 1.
Fasilitas pemrosesan data Proses AMSR level 1 memakan banyak waktu terutama pada penghitungan
suhu pada pengamatan masing-masing titik. Karena data AMSR memiliki jumlah kanal (16 channel) dan jumlah titik sampel. Pada jumlah data yang banyak untuk memperpendek waktu proses, digunakan server 64bit yang mampu melakukan kerja secara pararel. 2.
Jaringan Ethernet berkecepatan 100 mbps digunakan dalam fasilitas network internal,
ATM dan FDDI digunakan untuk menghubungkan dengan subsistem yang lain. Alasan memilih Ethernet 100 mbps adalah:
Mudah untuk dikeluarkan dari computer umum daripada Asynchronous Transfer Mode (ATM ) dan Fider Distributed Data Interface ( FDDI)
Pemanfaatan band komunikasi lebih efektif dibandingkan dengan LAN ethernet dengan menggunakan fungsi switch. Switch mempunyai kemampuan untuk full duplex
29
3.
Sistem RAID RAID digunakan berhubungan dengan akses data kecepatan tinggi dan daya
tahan tinggi untuk fasilitas internal server. RAID mempunya kemampuan standby yang lama dan proteksi data menggunakan parity bit. 4.
Fasilitas penyimpanan data Hard disk berguna untuk menyimpan data. Hard disk mempunyai
kecepatan merekam dan memproses data berbeda-beda, semaik cepat kemampuan harddisk merekam dan memproses data makan pemrosesan data akan semakin cepat.
2.7
Data Angin CERSAT-IFREMER CERSAT (Centre ERS d'Archivage et de Traitement - French ERS
Processing and Archiving Facility) dibentuk pada tahun 1991 dan merupakan bagian dari ESA (European Space Agency). Pusat komputer yang dikelola oleh Departemen oseanografi dan luar angkasa di IFREMER (Institut Francais de Recherche pour l'Exploitation de la mer), Plouzan, France. CERSAT bertugas untuk mengelola data secara offline dari sensor low-bit rate ERS-1 dan ERS-2. Radar Altimeter, Scatterometer, Micro-wave sounder and SAR dalam model gelombang. ERS-1/ERS-2/NSCAT mempunyai daerah jangkauan 80° Lintang Utara sampai 80° Selatan lintang, dan 180° Bujur Barat sampai 180° Bujur Timur, dengan resolusi spasial persegi sebesar 1° x 1°. Data diproyeksikan pada grid 1 ° persegi panjang dari 360 kolom dan 160 baris. Sebuah grid rentang sel 1° di bujur dan 1° dalam lintang. Lintang dan bujur dari setiap sel grid mengacu pada
30
pusatnya. Asal setiap grid data sel grid didefinisikan oleh 179,5° BB dalam bujur dan 79,5° Lintang Utara dalam lintang. Lalu yang terakhir, sel grid yang berpusat pada 79,5 ° di selatan dan 179,5 ° BT (Ifremer, JPL, CERSAT, 2002). Sejak 1996 CERSAT memperluas aktifitasnya dengan menangani dataset yang baru dari berbagai jenis sensor yang mirip atau komplementer dari ERS seperti : SSM/I, ADEOS/NSCAT, QuikSCAT/SeaWinds dan mengembangkan beberapa variable serta basis data wind fields, sea-ice characterization maps atau multi-sensor colocated datasets (gabungan dari ERS, NSCAT, QuikSCAT/SeaWinds, TOPEX, SSM/I, JASON-1, ENVISAT satelit tapi juga buoy dan model output. CERSAT telah berkembang sampai beberapa tahun kedepan pusat dari banyak misi untuk mengarchive, pengolahan dan validasi berbagai sensor data untuk oseanografi. Termasuk misi terbaru seperti ADEOS II/SeaWinds (2001) or METOP/ASCAT (2003) untuk menciptakan series yang homogeneous dari jumlah data yang dtambahkan seperti wind fields, fluxes, waves or sea-ice. Produk ini dimaksudkan untuk memberikan komunitas ilmiah dengan mudah digunakan sinoptik grid parameter angin diambil dari ESA scatterometer AMI-Wind onboard ERS-1 & ERS-2, from NASA scatterometers NSCAT onboard ADEOS and SeaWinds onboard QuikSCAT.
31
2.7.1
ERS Scatterometer Satelit penginderaan jauh Eropa, ERS-1 & 2, memberikan kontribusi
substansial ilmiah untuk studi lautan. Estimasi parameter permukaan dilakukan dengan menggunakan tiga instrumen microwave: Altimeter, Scatterometer dan Synthetic Aperture Radar (SAR) mode gelombang yang dapat dilihat pada Gambar 8.
NSCAT
(a)
(b)
Gambar 8. (a) The ERS-1 satellite and its microwave instruments. (b) Wind ERS-1 scatterometer geometry (Ifremer, JPL, CERSAT, 2002). Scatterometer ERS pada Gambar 8 merupakan instrumen yang beroperasi microwave aktif di 5.4GHz (band C) yang menghasilkan vektor angin (kecepatan dan arah angin) pada resolusi 50 km dengan pemisahan 25 km melintasi petak 500/km. Sudut untuk rentang tiga antena dari 17° sampai 46°, pada pertengahan 25° sampai 57° baik depan dan belakang. Angin permukaan diproses dan didistribusikan oleh Institut Français de Recherche pour l'Eksploitasi de la MER (IFREMER) menggunakan off-line algoritma (Bentamy et al, 1994; Quilfen 1995). Angin ERS-2 disebut WNF (angin Lapangan). Kalibrasi dan validasi
32
algoritma dilakukan dengan buoy data selama percobaan RENE91, dengan National Oceanic Atmospheric Administration (NOAA), Nasional Data Bouy Center (NDBC), Tropical Ocean Global Atmosphere (TOGA), dan Tropical Atmosphere Ocean (TAO). Akurasi dari kecepatan dan arah angin berasal dari algoritma IFREMER sebesar 1m / s dan 14°. Validasi produk off-line angin menunjukkan bahwa, pada kecepatan angin yang rendah, data kecepatan angin dan arah angin kurang akurat (Graber et al, 1996).
2.7.2 NSCAT Scatterometer NASA yang dapat dilihat pada Gambar 9, berada dalam orbit lingkaran untuk jangka waktu sekitar 100,92 menit, dengan inclination 98,59° dan dinominal ketinggian 796 km dengan siklus berulang 41 hari. NSCAT memiliki dua swaths seluas 600 km, terletak di setiap sisi jalur satelit, dipisahkan oleh 300 km. Beroperasi di 14 (Ku band) GHz, fore-beam dan antena aft-beam berada di titik di 45° dan 135° untuk setiap sisi jalur satelit Mid-beam berada di titik pada 65° dan 115° tergantung pada swath NSCAT. Resolusi spasial dari instrumen di permukaan bumi adalah sekitar 25 km.
33
Gambar 9. ADEOS satellite and its instrument (Ifremer, JPL, CERSAT, 2002).
34
35
3. 3.1
BAHAN DAN METODE
Lokasi dan Waktu Penelitian Penelitian ini dilakukan di Workshop Laboratorium Instrumentasi dan
Telemetri Kelautan, Departemen Ilmu dan Teknologi Kelautan, Fakultas Perikanan dan Ilmu Kelautan, Institut Pertanian Bogor pada bulan Febuari 2009 sampai November 2010.
3.2
Perangkat dan Peralatan
3.2.1 Perangkat Keras 1. 2 buah personal computer 2. 1 buah computer server (hp proliant ml370 g3) 3. 1 buah hub 4. Kabel jaringan 100 mbps 5. Alat inputan mouse dan keyboard.
3.2.2 Perangkat Lunak 1. Sistem Operasi
: Linux ubuntu 9.04 karmic (http://www.ubuntu.com/)
2. Bahasa Pemrograman
: Phyton2.6 (http://www.python.org/), PHP (http://www.php.net/)
3. DBMS
: MySQL Server 5 (http://dev.mysql.com/downloads/mysql/)
4. Downloader
: wget 1.10.2-1ubuntu1.2 (http://packages.ubuntu.com/dapper/wget)
5. Web Server
: apache2 2.2.12-1ubuntu2.3
(http://packages.ubuntu.com/karmic/apache2) 6. Browser
: Google Chrome
8. Modul Python
: NetCDF interface (http://code.google.com/p/netcdf4) Matplotlib (http://matplotlib.sourceforge.net/) Numpy (http://numpy.scipy.org/)\
3.2.3
Sumber data Data yang digunakan dalam penelitian ini berasal dari CERSAT (Centre
ERS d'Archivage et de Traitement - French ERS Processing and Archiving Facility). Parameter yang digunakan adalah angin permukaan dengan rerata bidang angin menutupi samudera global dari 80° Lintang Utara sampai 80° Selatan lintang, dan 180° Bujur Barat sampai 180° Bujur Timur, dengan resolusi spasial persegi sebesar 0.25° x 0.25°. Data diproyeksikan pada grid 0.251° persegi panjang dari 1440 kolom dan 641 baris. Sebuah grid rentang sel 1° bujur dan 1° lintang. Lintang dan bujur dari setiap sel grid mengacu pada pusatnya. Data dapat diperoleh dari website: ftp://ftp.ifremer.fr/ifremer/cersat/products/gridded/mwf-blended/data/6-hourly/ Data disimpan dalam format Network Common Data Form (NetCDF), setiap data berisi semua parameter berdasarkan tanggal setipa enam jam, menggunakan penamaan:
-<jam>.nc with dates as „YYYYMMDDhh‟ Contoh : 2000100100.nc ( 1 oktober 2000 jam 00:00) Struktur data angin yang berformat netCDF mempunyai beberapa parameter yang terlihat pada Tabel 1:
36
Tabel 1. Struktur data angin Nama Elemen time depth woce_date woce_time latitude longitude swath_count quality_flag wind_speed wind_speed_error zonal_wind_speed zonal_wind_speed_error meridional_wind_speed meridional_wind_speed_error wind_speed_divergence wind_stress wind_stress_error zonal_wind_stress zonal_wind_stress_error meridional_wind_stress meridional_wind_stress_error wind_stress_curl
3.3
Tipe data Integer Real string time real real integer integer real real real real real real real real real real real real real real
Satuan Hours m UTC UTC degrees_north degrees_east
m/s m/s m/s m/s m/s m/s s-1 Pa Pa Pa Pa Pa Pa Pa/m
Metodologi Penelitian Secara Umum Secara umum penelitian ini dibagi menjadi 5 bagian yaitu pendownload
data, pengolahan data, visualisasi, webserver dan user, seperti terlihat pada Gambar 10.
37
ftp://ftp.ifremer.fr/ ifremer/cersat/ products/gridded/ mwf-blended/data/6hourly/
Visualisasi
Penunduhan data (aktif)
Webserver
Pengolahan Data
User Interface (tampilab)
Gambar 10. Metodologi penelitian secara umum
3.4
Skenario Pengunduhan Data Data yang digunakan pada penelitian ini berasal dari CERSAT (Centre
ERS d'Archivage et de Traitement - French ERS Processing and Archiving Facility)-IFREMER. Parameter yang digunakan adalah angin permukaan dengan resolusi 1° x 1°, dalam satu hari terdapat empat data dengan waktu temporal 6 jam. Download data menggunakan wget, wget adalah downloader yang dijalankan dengan mengunakan code tertentu. Data kemudian disimpan pada harddisk dengan penamaan tertentu sehingga memudahkan pengolahan data, Selanjutnya untuk memudahkan data ini disebut sebagai “raw data”. Raw data ini memiliki format bz2. Pendownload-an data dapat dilihat pada Gambar 11.
38
Website penyedia Data (ftp://ftp.ifremer.fr/ ifremer/cersat/products/ gridded/mwf-blended/ data/6-hourly/)
Penownload Data (wget)
Simpan Data di komputer lokal(raw data)
Gambar 11. Proses pengunduhan data
3.5
Skenario Pengolahan Data Pada bagian pengolahan data, raw data yang telah di unduh dari website
penyedia data IFREMER dengan mengunakan python file yang berekstensi *.bz2 diekstrak menjadi file berekstensi *.nc, file berekstensi *.nc disimpan kedalam computer local di direktori yang telah ditentukan. Selanjutnya data yang telah diekstrak masuk ke dalam proses cropping untuk mengambil wilayah Indonesia dengan menggunakan bahasa pemograman python yang didukung oleh modul netCDF inteface. Data hasil cropping masuk kedalam proses selanjutnya yang pertama data simpan dengan nama baru di computer local. Data berekstensi *.nc yang telah dicropping masuk dalam proses perataan data menjadi data harian, bulanan dan tahunan. Perata-ratan data ini merupakan pengolahan data yang tidak dilakukan oleh CERSAT-IFEMER. Setelah data hasil cropping selesai dirata-
39
ratakan disimpan dengan nama yang baru dalam proses penggabungan ini dilakukan oleh pythin dengan bantuan modul netCDF interface. Tahap terakhir dari proses pengolahan data ini adalah import nama dan directory ke mysql, yang nantinya akan digunakan untuk proses search di sistem database. Proses import data ini menggunakan python dengan bantuan modul mysqlDB yang berguna sebagai perantara antara python dan mysql. Dalam bagian pengolahan data ini python memegang peranan yang penting dalam setiap subproses pengolahan data. Secara lengkap tahapan pengolahan data dapat dilihat pada Gambar 12.
40
Raw Data
python Ekstrak bz2 Menjadi .nc Netcdf interface untuk python Cropping Wilayah Indonesia Python simpan file Simpan Data baru (indoBlendedEc mwf25km6h_tan ggal.nc)
Gabung data menjadi Harian, bulanan, tahun
Directory : home\ data\IFREMER/ windblended/ data_nc_indo
Simpan Data baru (indoBlendedEc mwf25km6h_tan ggal.nc) Directory: home\ data\IFREMER/ windblended/ data_nc_indo_ 1day
Python import ke mysql Import mysql nama+ directory
Gambar 12. Proses pengolahan data
41
3.6
Skenario Visualisasi Data Visualisasi data hasil cropping menggunakan bahasa pemograman
python, modul yang digunakan untuk visualisasi ini adalah matplotlib (untuk membuat plot) dan numpy (modul untuk melakukan perhitungan matematika). Visualisasi ini dilakukan secara otomatis setiap ada data baru yang masuk script python akan bekerja untuk membuat plot sebaran 2D angin. Setelah proses visualisasi selesai di simpan dengan nama tertentu pada directory yang telah ditentukan. Proses terakhir adalah import ke mysql disini juga yang berperan adalah python dengan bantuan modul mysqlDB. Secara keseluruhan proses visualisasi data dapat dilihat pada Gambar 13 berikut. Data Indonesia
Modul python Numpy untuk mengubah zonal dan merdional wind speed menjadi arah dan kecepatan
Modul python matplotlib untuk membuat Plot sebaran angin 2D
Simpan Gambar dalam komputer lokal Modul python mysqlDB Import nama dan directory ke mysql
Gambar 13. Proses visualisasi data
42
3.7
Skenario Sistem Webserver Melalui Gambar 14 dapat dijelaskan bahwa pada penelitian ini terdiri dari
tiga sistem yang bekerja saling berhubungan, yaitu sistem pengolahan data, sistem basis data, dan sistem webserver. Setiap sistem menjalankan fungsinya sendiri– sendiri, sistem pengolahan data berfungsi untuk download data, pengolahan data, dan mengirim lokasi file ke sistem basis data. Sistem database ini menyimpan informasi database dan bekerja menurut respon dari sistem webserver yang berperan sebagai interface dengan user.
Webserver (apache)
Hub
Website penyedia data (ftp://ftp.ifremer.fr/ifremer/ cersat/products/gridded/mwfblended/data/6-hourly/)
Sistem Pengolahan Data
Gambar 14. Sistem webserver
43
Sistem Basis Data (mysql)
3.8
Website Website merupakan interface ke user yang membutuhkan data. Website ini
berisi dua link yaitu about us dan data, about us berisi tentang pengelola website. Link data berisi dua bagian yaitu raw data dan data Indonesia, raw data berisi data mentah global hasil unduhan dari website (ftp://ftp.ifremer.fr/ifremer/cersat/products/gridded/mwf-blended/data/6-hourly/), sedangkan data Indonesia adalah data telah mengalami pengolahan data yang telah dijelaskan di bagian pengolahan data. Data Indonesia ini berisi 5 link yaitu rataan: data 6/jam, data harian,data bulanan, data tahunan dan plot data. Semua bagian ini dihubungkan dengan basis data yang berada di sistem basis data. Pada website ini terdapat fungsi searching yang berfungsi untuk mencari data yang dikehendaki oleh user dapat dilihat pada Gambar 15.
Raw Data
Data
Data Indonesia
Deskripsi Data Home Page About Us
Gambar 15. Diagram alir website
44
Rataan Data 6/ jam Data Harian Data Bulanan Data Tahunan Plot Data Indonesia
3.9
Analisis Kerja Sistem Untuk mengetahui kinerja semua sistem yang bekerja dalam penelitian ini
maka diperlukan analisis untuk memantau kinerja sistem yang telah dibuat. Berikut beberapa hal yang akan diukur:
Besar file raw data
Waktu yang dibutuhkan untuk dekompresi file bz2 menjadi file netCDF.
Waktu yang dibutuhkan untuk cropping.
Besar file hasil cropping
Waktu yang dibutuhkan untuk penggabungan data harian, bulanan, dan tahunan
3.10
Besar file hasil penggabungan
Besar file gambar.
Validasi Data Validasi data merupakan proses pengecekan atau perhitungan dengan
membandingkan antara data hasil pengolahan yang telah dilakuan dengan data bouy triton yang merupakan data insitu . validasi harus dilakukan sebelum data tersebut diterima dan diolah untuk keperluan selanjutnya. Hal tersebut dilakukan agar data model yang akan digunakan adalah data yang sahih (Pearson, 1984). Proses validasi kedua data tersebut dilakukan dengan membuat grafik perbandingan antara data IFREMER dengan data TRITON sebagai data insitu. Berdasarkan data tersebut dapat dilihat bagaimana pola sebaran dari kedua data.
45
4. 4.1
HASIL DAN PEMBAHASAN
Alur Kerja Sistem Penelitian in terdiri dari 3 subsistem utama yang mempunyai fungsi dan
peranan sendiri-sendiri, ketiga subsistem ini adalah:
Subsistem pengolahan data
Subsistem basis data
Subsistem webserver
Ketiga subsistem dihubungkan dengan jaringan intranet menggunakan hub dan kabel ethernet 100 mbps dimana semua subsistem saling terhubung satu sama lain dan mempunyai fungsi–fungsi yang spesifik. Tujuan ketiga subsistem ini dibagi menjadi tiga bagian adalah agar terjadi pembagian sumber daya serta mempercepat pemrosesan data. Selain juga dapat mempermudah mengambil redudansi dari masing-masing perangkat lunak yang bekerja.
4.1.1 Subsistem Pengolahan Data Pada bagian subsistem pengolahan data dibagi menjadi tiga bagian subsubsistem yang bekerja berkesinanbungan. Ketiga subsubsistem ini adalah:
Modul pengunduhan data, (Gambar 16 bagian A)
Modul pengolahan data (Gambar 16 bagian B)
Modul komunikasi (Gambar 16 bagian C)
4.1.1.1 Modul Pengunduhan Data Modul pengunduhan data berperan dalam mengunduh data dari website: ftp://ftp.ifremer.fr/ifremer/cersat/products/gridded/mwf-blended/data/6-hourly/
46
data yang diunduh mempunyai ekstensi *.bz2. Data yang diunduh berasal dari tahun 2006-2009. Setiap data yang diunduh disimpan dalam direktori :home\data\IFREMER/windblended/data_bz2. Pengunduhan data ini dilakukan oleh software wget yang dijalankan pada shell linux. Wget mengunduh secara otomatis setiap ada data yang baru di website penyedia data. Wget bekerja di belakang Operating System (OS), sehingga setiap komputer dinyalakan dan masuk kedalam OS maka secara otomatis script wget bekerja di background OS.
4.1.1.2 Modul Pengolahan Data Modul pengolahan data berperan untuk mengolah raw data (data hasil unduh dari website berekstensi *.bz2). Seperti terlihat pada Gambar 16 bagian D, proses diawali dengan decompress raw data yang berekstensi *.bz2 menjadi file netCDF yang berekstensi *.nc tugas ini dilakukan oleh bahasa pemograman python. Python selain mengekstrak juga menyimpan data hasil ekstrak ke komputer lokal pada directory: home\data\IFREMER/windblended/data_nc. Proses selanjutnya pada modul pengolahan data adalah cropping data, dimana data yang dicropping sebatas wilayah Indonesia saja. Cropping ini dilakukan dengan bahasa pemograman python yang didukung oleh modul netCDF interface. NetCDF interface mengambil data berdasarkan array yang terdapat pada data. Setelah proses cropping, python juga berfungsi menyimpan data hasil cropping ke dalam direktori, file yang disimpan dalam direktori ini akan melalui proses selanjutnya yaitu penggabungan data. Penggabungan raw data per 6 jam dilakukan dengan menggunakan bahasa pemograman python. Hal ini merupakan kelebihan dari pengolahan data karena institusi yang membuat data ini tidak melakukan pengolahan data pada bagian
47
penggabungan. Data akan dirata-ratakan menjadi data harian, data bulanan, dan data tahunan. Proses selanjutnya adalah visualisasi, data hasil cropping selain masuk dalam proses penggabungan juga masuk dalam proses visualisasi. Visualisasi merupakan tahap pembuatan plot sebaran angin yang memberi gambaran awal kepada pengguna tentang kondisi sebaran angin 2D.
4.1.1.3 Modul Komunikasi Modul komunikasi adalah bagian terakhir dari subsistem pengolahan data yang bertugas untuk mengimport nama dan direktori ke subsistem basis data. Subsistem pengolahan data dan subsistembasis data dihubungkan dengan Ethernet 100 mbps. Pada subsistem pengolahan subsistem basis data dilakukan penginstalan MySQL server 5.0. MySQL berperan sebagai pengatur lalu lintas dari client MySQL dan MySQL server. MySQL client berfungsi sebagai client yang berperan dalam mengirim basis data ke MySQL server. MySQL server mengidentifikasi client yang punya kemampuan untuk mengakses atau memodifikasi tabel MySQL di dalam basis data. Modul komunikasi ini terihat pada Gambar 16 bagian B.
4.1.2
Subsistem Basis Data Subsistembasis basis data berisi tentang info data yang tersimpan dalam
subsistem pengolah data dan diimport dalam bentuk tabel pada MySQL seperti terlihat pada Gambar 16 bagian E. Pada subsistem basis data terdapat enam tabel yaitu:
48
Tabel raw data
Tabel data Indonesia
Tabel data harian
Tabel data bulanan
Tabel data tahunan
Tabel plot data Indonesia Tabel–tabel di atas berisi informasi tentang semua data yang terdapat di
dalam subsistem pengolah data. Informasi yang diambil dari data adalah: nama file, tahun, tanggal, jam, dan lokasi file di direktori, semua informasi ini diperlukan untuk proses searching di dalam website. Subsistembasis data menerima informasi yang dikirim dari MySQL client yang terkoneksi dan teridentifikasi oleh MySQL server. Pada MySQL server terdapat pengaturan yang memungkinkan mengindentifikasi komputer lain untuk dapat mengubah basis data yang terdapat di subsistembasis data, pengidentifikasian ini menggunakan nama pengguna MySQL client, alamat IP komputer dan diproteksi oleh password. Semua data pengguna ini tersimpan dalam basis data server.
4.1.3 Subsistem Webserver Subsistem webserver berfungsi sebagai penghubung antara pengguna dengan subsistem basis data dan subsistem pengolahan data. Dalam subsistem webserver terinstal apache yang berfungsi sebagai virtual host. Dalam apache terdapat 3 file konfigurasi yaitu :
49
httpd.conf access.conf
srm.conf Ketiga file di atas merupakan file yang mengatur tugas apache secara
spesifik. Pada subsistem webserver pengaturan apache dilakukan untuk mengatur direktori–direktori data yang dapat diakses oleh pengguna. Pada saat terdapat permintaan dari pengguna yang menginginkan data tertentu, maka subsistem webserver akan mencari alamat direktori dari file tersebut pada subsistem basis data. Setelah alamat direktori didapatkan, apache yang telah mengatur hak askses pada direktori tersebut mengambil file tersebut dan memberikannya kepada pengguna melalui website. Dalam subsistem webserver juga terdapat file–file penyusun website yang di simpan didalam direktori apache. Website berisi dua link yaitu about us, data, dan link. Data ini berhubungan dengan basis data yang terdapat pada subsistem basis data seperti terlihat pada Gambar 16 bagian F. Website dibuat dengan bahasa pemograman ajax (Asynchronous JavaScript ), php (Hypertext Preprocessor), javascript, html (Hypertext markup language) dan sql (Structured Query Language).
50
Hub Jaringan Internal
Website penyedia data (ftp://ftp.ifremer.fr/ifremer/ cersat/products/gridded/mwfblended/data/6-hourly/)
Mysql Client
Download data(wget)
Sistem Pengolahan Data
Mysql Server
B
Cloud
Apache
Pengguna
C
Sistem Basis Data (mysql)
Webserver (apache)
A Tabel mysql raw data
Raw Data
Tabel mysql data Indonesia
Tabel mysql data harian
Tabel mysql data tahunan
Tabel Plot data indonesia
Tabel mysql data bulanan Home Page
python Ekstrak bz2 Menjadi .nc
About Us
Data
E
Netcdf interface untuk python Cropping Wilayah Indonesia
Data Indonesia
Raw Data
Python simpan file Simpan Data baru (indoBlendedEc mwf25km6h_tan ggal.nc)
Gabung data menjadi Harian, bulanan, tahun
Directory : home\ data\IFREMER/ windblended/ data_nc_indo
Simpan Data baru (indoBlendedEc mwf25km6h_tan ggal.nc)
Data 6/ jam
Data Harian
Data Bulanan
Data Tahunan
Plot Data Indonesia Basis Data
F
Directory: home\ data\IFREMER/ windblended/ data_nc_indo_ 1day
D
Gambar 16. A. Modul pengunduhan data, B. Modul pengolahan data C. Modul komunikasi, D.Sistem pengolahan data, E. Sistem basis data, F.Basis data.
51
4.2
Model Pengunduh Data Pengunduh yang digunakan pada penelitian ini adalah wget. Wget
menggunakan script untuk menjalankan fungsi unduh yang spesifik sesuai yang kita inginkan. Wget bekerja di bawah proxy yang telah diatur oleh DKSI-IPB, sebelum wget digunakan untuk proses pengunduhan diperlukan seting pada wget untuk dapat bekerja di bawah proxy, seperti berikut: Buka file wgetrc yang merupakan file untuk konfigurasi wget yang berada di direktori ~/.wgetrc perintah yang digunakan adalah $sudo ~/.wgetrc File wgetrc berisi baris baris konfigurasi untuk wget bagian yang diperlukan untuk setting proxy adalah: 1. # You can set the default proxies for Wget to use for http, https, and ftp. 2. # They will override the value in the environment. 3. #https_proxy = http://proxy.yoyodyne.com:18023/ 4. #http_proxy = http://proxy.yoyodyne.com:18023/ 5. #ftp_proxy = http://proxy.yoyodyne.com:18023/ 6. 7. # If you do not want to use proxy at all, set this to off. 8. #use_proxy = on
Baris code di atas yang harus dirubah menjadi setting yang tepat dengan jaringan yang dipakai. 1. # You can set the default proxies for Wget to use for http, https, and ftp. 2. # They will override the value in the environment. 3. https_proxy = 172.17.0.11:8080/ 4. http_proxy = 172.17.0.11:8080/ 5. ftp_proxy = 172.17.0.11:8080/ 6. # If you do not want to use proxy at all, set this to off. 7. use_proxy = on
52
Simpan file dan tutup, setelah melakukan konfigurasi ini maka wget siap digunakan untuk proses unduh data. Wget merupakan pengunduh yang bekerja dengan kode perintah agar wget dapat melakukan penunduhan sesuai yang diinginkan. Pada penelitian ini ada beberapa kode perintah yang digunkan sebagai berikut:. 1. wget -nd -A bz2 -r - nc -np -c –P /home/aditri/dc/Ifermer/windblended/databz2 ftp://ftp.ifremer.fr/ifremer/cersat/products/gridded/mwfblended/data/6-hourly/
Penjelasan perintah yang digunakan:
Pada script di atas perintah diawali dengan wget, ini merupakan perintah dasar untuk menjalankan suatu program di terminal OS linux di ubuntu.
-nd / --no-directories digunakan supaya saat mengunduh semua isi dari website tidak mengambil parent direktori. Contoh ftp://ftp.ifremer.fr/ifremer/cersat/products/ jika mengunduh link di atas tanpa menggunakan –nd maka semua file yang berada di bagian ftp.ifremer.fr, ifremer, cersat, dan products akan diunduh semuanya ini akan memakan banyak waktu.
-A bz2 perintah ini digunakan untuk mengunduh hanya file berkekstensi *.bz2 jika tidak menggunakan perintah ini maka wget akan mengunduh semua file berekstensi apapun, ini akan memperlama proses penunduhan karena banyak file yang tidak kita perlukan ikut terunduh dan memakan banyak ruang di hardisk.
53
-r / --recursive mengaktifkan pengunduhan recursive, pengunduhan recursive adalah mengunduh semua link yang terhubung dalam suatu website.
-nc / --no-clobber perintah ini digunakan agar tidak ada file yang sama dalam satu direktori. Ini berguna karena pada saat script bekerja secara terus menerus memantau sebuah website penyedia data, data yang sudah di unduh akan dilewati.
-np/ --no-parent perintah ini digunakan untuk mengunduh hanya direktori terakhir dari link yang di berikan contoh pada link ftp://ftp.ifremer.fr/ifremer/cersat/products/gridded/mwfblended/data/6-hourly/ maka direktori yang didownlad hanya yang terakhir yaitu 6-Hourly. Karena data yang diperlukan ada didalam direktori tersebut.
-c / continue digunakan untuk melanjutkan unduh sampai file tersebut selesai diunduh jika file tersebut belum selesai di unduh maka wget tidak akan berlanjut ke file yang lain sampai percobaan 11 kali.
P /home/aditri/dc/Ifermer/windblended/databz2 perintah ini digunakan untuk menspesifikan direktori untuk menyimpan hasil unduh.
54
ftp://ftp.ifremer.fr/ifremer/cersat/products/gridded/mwfblended/data/6-hourly/ yang terakhir ini adalah link website yang dituju.
Gambar 17. Contoh proses pengunduhan data yang error.
Gambar 17 diatas merupakan gambar proses pengunduhan data yang sedang berlangsung. File hasil unduh/ raw data disimpan di direktori “/media/aditri/myresearch/data/IFREMER_CERSAT/WIND_BlendedEcmwf/data _worldbz2/data_beres” seperti terlihat pada Gambar 18.
55
Gambar 18. Tempat penyimpanan raw data di lokal komputer
Data yang digunakan dalam penelitian ini berasal dari tahun 2006 sampai 2009 dan disusun menurut tahun pada direktori seperti terlihat pada Gambar 18. Wget bekerja secara otomatis mengunduh data di startup OS (Operating system). Namun untuk membuatnya bekerja secara otomatis diperlukan script tersendiri untuk menjadikannya bagian dalam subsistemstartup. Crontab merupakan utility di unix dan linux untuk membuat pekerjaan bekerja dengan otomatis. Berikut script untuk crontab: 1. #Unduh.sh 2. wget -nd -A bz2 -r - nc -np -c -P /home/aditri/dc/Ifermer/windblended/databz2 --retryconnrefused –pengguna agent="autounduher ftp://ftp.ifremer.fr/ifremer/cersat/products/gridded/mwfblended/data/6-hourly/
Code di atas merupakan file yang berisi perintah pengunduhan yang ingin dijalankan di startup. Ekstensi yang digunakan adalah *.sh yang meupakan file
56
executable. Selanjutnya adalah melihat jadwal yang ada didalam crontab dengan perintah dibawah ini: sudo crontab -i
Selanjutnya adalah memasukan file unduh.sh dalam list pekerjaan di dalam crontab, dengan menggunan perintah dibawah : sudo crontab -e
Perintah crontab-e akan membuka semua pekerjaan yang ada di crontab menggunakan tekt editor yang default pada subsistemOS. Selanjutnya menambahkan satu line yang berisi perintah pekerjaan untuk crontab : @reboot /home/aditri/unduh.sh
Perintah @reboot merupakan code yang digunakan untuk menyatakan waktu script akan dijalankan setelah perintah di atas selesai ditambahkan, save file lalu close. Yang terakhir dilakukan adalah membuat sile yang berisi log dari script yang kita jalankan pada crontab. @daily /home/aditri/unduh.sh 2>&1 >> /home/adtri/log/unduhdata.log
Script diatas menggunakan @daily ini menandakan bahwa log akan disimpan setiap satu hari dan disimpan dalam bentuk file pada direktori /home/adtri/log/unduhdata.log.
57
4.3
Pengolahan Data Proses pengolahan data dalam penelitian ini terbagi dari 4 bagian. Setiap
bagian ini bekerja saling berhubungan. Bagian-bagian tersebut adalah:
Proses ekstrak data
Proses cropping data
Proses perata-rataan data
Proses import ke MySQL
Visualisasi data
Setiap bagian bekerja secara berurutan yang dimulai dari ekstrak data, lalu cropping data, penggabungan data dan yang terakhir adalah mengimport header dan lokasi file ke dalam MySQL pada subsistem basis data. Proses pengolahan data dapat di lihat pada Gambar 19.
58
Raw Data
python Dekompresi bz2 Menjadi .nc
A
Netcdf interface untuk python Cropping Wilayah Indonesia Python simpan file Simpan Data baru (indoBlendedEc mwf25km6h_tan ggal.nc) Directory : home\ data\IFREMER/ windblended/ data_nc_indo
Rataan data
Harian
Per 6 jam
Bulanan
28 hari 29 hari 30 hari 31 hari
B
Tahunan
Tahun kabisat
Tahun bukan kabisat
Simpan Data baru (indoBlendedE cmwf25km6h_t anggal.nc)
C
Python import ke mysql Import mysql nama+ directory
D
Gambar 19. Diagram Blok Proses Pengolahan Data (A. Proses Ekstrak Data, B. Proses Cropping Data, C. Proses merata-ratakan Data, D. Proses Import ke MySQL
59
1.5.1 Proses Ekstrak Data Proses ekstrak data merupakan proses untuk mengekstrak raw data yang berekstensi *.bz2 menjadi netCDF file yang berekstensi *.nc . Proses ekstrak ini dilakukan dengan bahasa pemograman python. Proses ekstrak data dimulai dengan inisialisai modul yang di gunakan, modul python yang digunakan adalah: import os, os.path import bz2 import numpy import MySQLdb import shutil
Modul os merupakan modul bawaan dari python untuk mengakses fitur-fitur yang ada dalam Operating System (OS), fitur yang digunakan dalam proses ekstrak data ini adalah os.path yang merupakan fitur untuk mengakses direktori dari OS
Modul bz2 digunakan untuk menangani file bz2.
Modul numpy pada proses ekstrak data digunakan untuk membuat list dari direktori,mengurutkan direktori file menjadi list.
Modul MySQLdb digunakan untuk mengimport nama, direktori dari raw data dan direktori file hasil ekstrak ke MySQL.
Modul shutil digunakan untuk memindahkan file ke direktori tertentu.
Setelah import modul yang dilakukan adalah membuat variable yang berisi direktori raw data dan direktori yang dituju untuk hasil dari ekstrak data. startDir = "/media/aditri/myresearch/data/IFREMER_CERSAT/WIND_Blende dEcmwf/data_worldbz2/data_beres" startncdir = "/media/aditri/myresearch/data/IFREMER_CERSAT/WIND_Blende 60
dEcmwf/data_nc_world" directories = [startDir] while len(directories)>0: directory = directories.pop() for name in os.listdir(directory): fullpath = os.path.join(directory,name) for nama in os.listdir(fullpath): fullpathdua = os.path.join(fullpath,nama) print fullpathdua
StartDir merupakan folder awal yang berisi raw data, dan startncDir merupakan direktori tempat file hasil ekstrak disimpan. Selanjutnya code di atas membuat looping yang terus berjalan, pada bagian directories.pop merupakan perintah yang digunakan untuk membuat list file direktori. input_file = bz2.BZ2File(fullpathdua, 'rb') try: 2. namafilebaru=fullpathdua[:len(fullpathdua)-4] if os.path.isfile(namafilebaru): print namafilebaru else: dest= file( namafilebaru, "wb" ) baca=input_file.read() dest.write(baca) a. dest.close() 1.
Code perintah diatas digunakan untuk mengekstrak raw data menjadi file netCDF. Code perintah bernomor 1 merupakan perintah untuk membuka file *.bz2 dan pada code perintah nomor 2 berfungsi untuk mengekstrak file *.bz2 yang dibuka oleh code perintah nomor satu menjadi file netCDF. Hasil ekstrak raw data tersimpan dalam direktori "/media/aditri/myresearch/data/IFREMER_CERSAT/WIND_BlendedEcmwf/data _nc_world" yang dapat dilihat pada Gambar 20.
61
Gambar 20. Direktori raw data dan data hasil ekstrak.
2.5.1 Proses Cropping Data Proses cropping data merupakan proses selanjutnya dari proses ekstrak data. Data hasil ekstrak mempunyai scope satu bumi, dalam penelitian ini data yang dihasilkan dalam scope Indonesia yaitu -20.125º LS sampai 20.125º LU.dan 90.125º BT sampai 145.125º BT. Modul yang digunakan untuk script cropping ini adalah:
import os, os.path
from Scientific.IO import NetCDF
import numpy
import shutil
62
Pada proses cropping data menggunakan modul netcdf yang berbeda dari proses ekstrak data. Modul ini digunak untuk membuka file netCDF di python, dan berguna untuk membuat file netCDF yang baru. 1. filenc=NetCDF.NetCDFFile(fullpath,'r') 2. time_ind = filenc.variables['time'][:] 3. depth_ind = filenc.variables['depth'][:] 4. lat_ind = filenc.variables['latitude'][239:401] 5. lon_ind = filenc.variables['longitude'][1080:1301] 6. ws_ind = filenc.variables['wind_speed'][:,239:401,1080:1301] 7. zws = filenc.variables['zonal_wind_speed'][:] 8. zws_ind = zws[:,239:401,1080:1301] 9. mws = filenc.variables['meridional_wind_speed'][:] 10. mws_ind = mws[:,239:401,1080:1301] 11. wst = filenc.variables['wind_stress'][:] 12. wst_ind = wst[:,239:401,1080:1301] 13. zwst = filenc.variables['zonal_wind_stress'][:] 14. zwst_ind = zwst[:,239:401,1080:1301] 15. mwst = filenc.variables['meridional_wind_stress'][:] 16. mwst_ind = mwst[:,239:401,1080:1301]
Baris nomor satu pada code di atas merupakan perintah untuk membuka file nerCDF ke dalam memory komputer. Baris-baris selanjutnya digunakan untuk mengambil variable dari file netCDF yang di buka, variable yang di ambil adalah time (waktu), depth (kedalaman), latitude, longitude, wind speed, zonal wind speed, meridional wind speed, wind stress, zona wind stress, dan meridional wind stress, setiap variable ini tersusun dalam array. Time dan depth merupakan array 1dimensi, latitude dan longitude merupakan array dua dimensi dan wind speed, zonal wind speed, meridional wind speed, wind stress, zona wind stress, dan meridional wind stress merupakan array tiga dimensi. Untuk melakukan cropping data Indonesia kita perlu mengetahui letak di array ke berapa data yang kita inginkan untuk mengetahui hal itu di lakukan dengan perhitungan yang dapat dilihat pada Gambar 21.
63
95 BT
142.5 BT
80 LU
641 baris
7.5 LU
Indon esia
0 12.5 LS
80 LS 0
180BB
180BT
1440 kolom
Gambar 21. Cropping data Perhitungan untuk lintang menggunkan rumus:
(
yx
=
)
Baris pada array
lmaks =
Nilai lintang terbesar
l
=
Lintang
A
=
Total semua baris pada array
=
Total jumlah maksimum dan minimum dari lintang
Batas lintang yang gunakan adalah -20.125º LS sampai 20.125º LU. Perhitungan untuk 20.125º LU (
)
64
Perhitungan untuk -20.125º LS (
)
Batas bujur yang digunakan adalah 90.125 º BT sampai 142.5 º BT. Perhitungan untuk 90.125º BT (
)
Perhitungan untuk 145.125º BT (
)
Berdasarkan hasil perhitungan diatas, batas lintang Indonesia yang telah ditentukan terdapat pada array [239:401], dan untuk longitude berada pada array [1080:1301]. Pengambilan nilai dari variabel wind speed, zonal wind speed, meriditiona wind speed, wind stress, zona wind stress, dan meriditional wind stress yang merupakan array tiga dimensi yang dipengaruhi oleh variable time, latitude dan longitude maka untuk mengambil nilai yang kita inginkan maka array tempat nilai variabel yang kita inginkan berada di array [:,239:401,1080:1301]. Pada variable time dan depth mempunyai nilai yang sama dan hanya berisi satu nilai untuk mengambil nilai pada variabel ini menggunakan code [:] yang menandakan mengambil semua nilai yag ada pada variabel tersebut. Semua variabel yang diperlukan telah tersimpan dalam memory yang dibuat oleh bahasa pemograman python, langkah selanjutnya adalah membuat file netCDF baru dan memasukan nilai yang telah kita ambil dari file netCDF yang asli. Berikut code untuk melakukan tugas ini:
65
1. 2. 3. 4. 5.
nc_indo = NetCDF.NetCDFFile(pathindo, 'w') nc_indo.createDimension('latdims',162,) nc_indo.createDimension('londims',221,) nc_indo.createDimension('time',1,) nc_indo.createDimension('depth',1,)
Baris pertama merupakan code untuk membuat file netCDF baru yang di tunjukan oleh 'w' yang berarti write. Baris ke 2 sampai ke 5 digunakan untuk membuat dimensi. Dimensi akan di isi oleh nilai nilai yang telah kita ambil pada langkah sebelumnya.. Penetuan nilai dimensi menggunakan rumus :
D = Nilai dimensi x1 = Nilai posisi array pertama x2 = Nilai posisi array kedua
1. timedims = ('time',) 2. time_indo = nc_indo.createVariable('time','i',timedims) 3. nc_indo.variables['time'][:] = time_ind 4. setattr(time_indo,"units","hours since 1900-1-1 0:0:0") 5. nc_indo.sync() 6. lat = ('latdims',) 7. latitude_indo = nc_indo.createVariable('latitude','f',lat) 8. nc_indo.variables['latitude'][:] = lat_ind 9. setattr(latitude_indo,"units","degrees_N") 10. nc_indo.sync() 11. lon = ('londims',) 12. longitudes_indo = nc_indo.createVariable('longitude','f',lon) 13. nc_indo.variables['longitude'][:] = lon_ind 14. setattr(latitude_indo,"units","degrees_N") 15. nc_indo.sync() 16. 17. dimensi = ('time','latdims','londims',) 18. windspeed_indo = nc_indo.createVariable('wind_speed','s',dimensi) 19. nc_indo.variables['wind_speed'][:] = ws_ind 20. setattr(windspeed_indo,"units","meters per second") 21. setattr(windspeed_indo,"scale_factor",0.0100000) 22. nc_indo.sync()
66
Baris kedua dalam code diatas digunakan untuk membuat variabel time dengan format data integer (bilangan bulat), variable ini akan ditempatkan pada dimensi timedims, demikian juga pada variabel latitude dan longitude yang ditunjukan oleh baris ke 7 dan 12. Pada variabel wind speed, zonal wind speed, meriditiona wind speed, wind stress, zona wind stress, dan meriditional wind ditunjukkan oleh baris ke 18 variabel wind speed, zonal wind speed, meridional wind speed, wind stress, zona wind stress, dan meridional wind disimpan dalam 3 dimensi yang berbeda yaitu 'time','latdims','londims', ini berarti untuk mengambil nilai dari variabel wind speed, zonal wind speed, meriditiona wind speed, wind stress, zona wind stress, dan meriditional wind memperhitungkan variabel dari time, latitude dan longitude. Nilai dimasukan ke dalam variabel dengan cara code pada baris ke 3, variabel yang telah selesai berisi file bernilai kosong dengan jumlah sesuai dengan dimensi yang telah ditentukan. Nilai yang dimasukan harus sesuai jumlahnya dengan dimensi yang dibuat. Variabel selain mempunyai nilai juga mempunyai attribute. Attribute berisi keterangan dari variabel seperti satuan dan scale factor, untuk membuat attribute pada variabel digunakan perintah seperti pada baris ke 4 ,9 ,14, 20, dan 21. Hal terakhir yang dilakukan adalah menulis semua dimensi, variabel, dan attribute ke dalam file yang telah dibuat dengan menggunakan perintah pada baris ke 22. File asli mempunyai penamaan BlendedEcmwf25km6h_yymmddhh.nc data hasil cropping mempunyai penamaan indoBlendedEcmwf25km6h_ yymmddhh.nc yang dapat dilihat pada Gambar 22.
67
Gambar 22. Direktori data hasil cropping
3.5.1
Proses Perata-rataan Data Proses perata-rataan data ini betujuan untuk memudahkan pengolahan data, perata-rataan data ini menggunakan bahasa pemograman python. Modul python yang digunakan dalam proses penggabungan data ini sama dengan proses cropping data, yaitu:
import os, os.path
from Scientific.IO import NetCDF
import numpy
import shutil
Data yang akan dihasilkan dari perata-rataan data ini adalah data harian, data bulanan, dan data tahunan.
68
4.3.3.1 Data Harian Kode program di bawah berfungsi untuk membuat lokasi direktori dari empat file yang akan disatukan. Lokasi direktori ditentukan dari y[x]+m[z]+d[a] yang merupakan tahun, bulan, dan hari, y[x]+m[z]+d[a] diatur oleh x, z, a yang berisi nilai posisi dari array yang akan loop terus menerus. Variabel y, m, d seperti terlihat pada bari 3, 4 ,dan 5 merupakan array yang mempunyai nilai yang menggambarkan hari, bulan, dan tahun yang nantinya akan mengisi code pada baris 15, 16, 17, dan 18. Variabel x, z, dan a mengatur urutan nilai yang keluar dari array y, m, dan d. 1. 2. 3. 4.
path = "/home/aditri/data_nc_indo/" path1day ="/home/aditri/data_nc_indo_1day/" m = ['01','02','03','04','05','06','07','08','09','10','11','12'] d = ['01','02','03','04','05','06','07','08','09','10','11','12', '13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30',' 31'] 5. y = ['2006','2007','2008'] 6. for x in range(3): 7. print 'x = ',x 8. y[x] 9. for z in range(12): 10. m[z] 11. print 'z=',z 12. for a in range(31): 13. d[a] 14. print 'a=',a 15. path1 = path+'indoBlendedEcmwf25km6h_'+y[x]+m[z]+d[a]+'00.nc' 16. path2 = path+'indoBlendedEcmwf25km6h_'+y[x]+m[z]+d[a]+'06.nc' 17. path3 = path+'indoBlendedEcmwf25km6h_'+y[x]+m[z]+d[a]+'12.nc' 18. path4 = path+'indoBlendedEcmwf25km6h_'+y[x]+m[z]+d[a]+'18.nc'
Data windblended dari IFREMER mempunya range waktu per 6 jam, dalam satu hari terdapat empat data. perata-rataan data harian ini menggunakan 4 file ini menjadi satu file netCDF.
69
Berdasarkan dari lokasi direktori yang dibuat oleh code diatas langkah selanjutnya adalah membuka file netcdf tersebut dan mengambil variabel yang di inginkan yaitu time, depth, latitude, longitude, wind speed, zonal wind speed, meriditiona wind speed, wind stress, zona wind stress, dan meriditional wind stress dari setiap file dengan menggunakan modul netCDF. Semua nilai dalam variabel yang diambil tersimpan dalam memori komputer yang diciptakan oleh python, dan langkah selanjutnya adalah menyatukan variabel yang sama dari setiap file netCDF yang dibuka. Berikut code untuk menyatukan variabel : 1. 2. 3. 4.
for r in range(35802): if r < 35802: wsf = ((wsf1[r:(r+1)]+wsf2[r:(r+1)]+wsf3[r:(r+1)]+wsf4[r:(r+1)])/4) zwsf = ((zwsf1[r:(r+1)]+zwsf2[r:(r+1)]+zwsf3[r:(r+1)]+zwsf4[r:(r+1)])/4) 5. mwsf = ((mwsf1[r:(r+1)]+mwsf2[r:(r+1)]+mwsf3[r:(r+1)]+mwsf4[r:(r+1)])/ 4) 6. wstf = ((wstf1[r:(r+1)]+wstf2[r:(r+1)]+wstf3[r:(r+1)]+wstf4[r:(r+1)])/4) 7. zwstf = ((zwstf1[r:(r+1)]+zwstf2[r:(r+1)]+zwstf3[r:(r+1)]+zwstf4[r:(r+1)])/4 ) 8. mwstf = ((mwstf1[r:(r+1)]+mwstf2[r:(r+1)]+mwstf3[r:(r+1)]+mwstf4[r:(r+1)] )/4) 9. #print 'coba',coba 10. wsfgabung.append(wsf) 11. zwsfgabung.append(zwsf) 12. mwsfgabung.append(mwsf) 13. wstfgabung.append(wstf) 14. zwstfgabung.append(zwstf) 15. mwstfgabung.append(mwstf) 16. wsfreshape = numpy.reshape(wsfgabung, (1,162,221)) 17. print wsfreshape 18. zwsfreshape = numpy.reshape(zwsfgabung, (1,162,221)) 19. mwsfreshape = numpy.reshape(mwsfgabung, (1,162,221)) 20. wstfreshape = numpy.reshape(wstfgabung, (1,162,221)) 21. zwstfreshape = numpy.reshape(zwstfgabung, (1,162,221)) 22. mwstfreshape = numpy.reshape(mwstfgabung, (1,162,221))
70
Pada kode di atas terdapat “wsf = ((wsf1[r:(r+1)]+wsf2[r:(r+1)]+wsf3[r:(r+1)]+wsf4[r:(r+1)])/4)“ kode ini digunakan untuk merata-ratakan file dari setiap file yang dibuka dengan “r” sebagai penanda array yang akan di rata-ratakan. Perata-rataan file netCDF variabel menggunakan modul numpy. Fungsi yang digunakan adalah append dan. Append merupakan fungsi dari numpy yang berfungsi untuk menambahkan nilai pada akhir array, yang mengunakan fungsi ini adalah variabel time untuk menyatukan dan mengurutkan time dari yang terlama,. Array yang selesai digabung telah tersimpan di memory komputer, langkah selanjutnya adalah membuat file netCDF baru dan memasukan nilai dari array yang telah digabung ke dalam variabel baru. Ini dilakukan dengan cara : 1. pathday = path1day+'indoBlendedEcmwf25km6h_'+y[x]+m[z]+d[a]+'.nc' 2. nc_indo = NetCDF.NetCDFFile(pathday, 'w') 3. nc_indo.createDimension('latitude',162,) 4. nc_indo.createDimension('longitude',221,) 5. nc_indo.createDimension('time',1,) 6. nc_indo.createDimension('depth',1,) 7. depthdims = ('depth',) 8. timedims = ('time',) 9. lats = ('latitude',) 10. lons = ('longitude',) 11. dimensi = ('time','latitude','longitude',) 12. latitude_1day = nc_indo.createVariable('latitude','f',lats) 13. nc_indo.variables['latitude'][:] = lat 14. setattr(latitude_1day,"units","degrees_N") 15. nc_indo.sync() 16. longitudes_1day = nc_indo.createVariable('longitude','f',lons) 17. nc_indo.variables['longitude'][:] = lon 18. setattr(longitudes_1day,"units","degrees_N") 19. nc_indo.sync() 20. windspeed_1day = nc_indo.createVariable('wind_speed','s',dimensi) 21. nc_indo.variables['wind_speed'][:] = gabungws 22. setattr(windspeed_1day,"units","meters per second") 23. setattr(windspeed_1day,"scale_factor",0.0100000) 24. nc_indo.sync()
71
Pada baris pertama digunakan untuk membuat file netCDF baru. Penamaan pada penggabungan ini hanya menghapus jam pada nama file. File Indonesia per 6 jam mempunyai penamaan indoBlendedEcmwf25km6h_yymmddhh.nc sedangkan file hasil gabung satu hari bernama indoBlendedEcmwf25km6h_yymmdd.nc. File hasil perata-rataan data harian mempunyai dimensi dan besar file yang sama, yang berbeda adalah nilai wind speed, zonal wind speed, meridional wind speed, wind stress, zona wind stress, dan meridional wind stress yang merupakan dari file dengan rataan 6 jam. seperti terlihat pada Gambar 23.
Gambar 23. Direktori tempat penyimpanan data hasil gabung 1 hari
72
4.3.3.2 Data Bulanan Penggabunggan data bulanan adalah proses lanjutan dari proses gabung data harian, untuk menggabungkan data bulanan semua data dalam satu bulan dibuka secara bersamaan, code yang menjalankan fungsi itu seperti dibawah ini: 1. m = ['04','06','09','11'] 2. y = ['2006','2007','2008'] 3. for x in range(3): 4. print 'x = ',x 5. y[x] 6. for z in range(4): 7. m[z] 8. print 'z=',z 9. path1 = path+'indoBlendedEcmwf25km6h_'+y[x]+m[z]+'01.nc' 10. path30 = path+'indoBlendedEcmwf25km6h_'+y[x]+m[z]+'30.nc'
Code program diatas berfungsi untuk membuat lokasi direktori dari empat file yang akan di satukan. Lokasi direktori di tentukan dari y[x]+m[z] yang merupakan tahun, dan bulan, y[x]+m[z] di atur oleh x, z yang berisi nilai posisi dari array yang akan loop terus menerus. Variabel y dan m seperti terlihat pada baris 1,dan 2 merupakan array yang mempunyai nilai yang menggambarkan bulan, dan tahun yang nantinya akan mengisi code pada baris 9. Variabel x dan z mengatur urutan nilai yang keluar dari array y dan m. Penyatuan data bulanan ini mempunyai beberapa kemunkinan yaitu 28, 29, 30, 31 hari, karena hal ini script penyatuan data bulanan ini dibuat sebanyak empat opsi. 1. 2. 3. 4. 5. 6. 7. 8.
filenc30=NetCDF.NetCDFFile(path30,'r') time30 = filenc30.variables['time'][:] ws30 = filenc30.variables['wind_speed'][:] zws30 = filenc30.variables['zonal_wind_speed'][:] mws30 = filenc30.variables['meridional_wind_speed'][:] wst30 = filenc30.variables['wind_stress'][:] zwst30 = filenc30.variables['zonal_wind_stress'][:] mwst30 = filenc30.variables['meridional_wind_stress'][:] 73
9. filenc30.close()
Code di atas digunakan untuk mengambil nilai dari variabel, pada scipt di atas python variabel yang di buat mencapai 30 ini menjelaskan banyaknya data yang akan di ambil variabelnya,setelah variabel diambil maka file netCDF yang dibuka harus ditutup karena dalam subsistemlinux ubuntu mempiunyai batas penanganan file yang dibuka sekaligus. 1. for r in range(35802): 2. if r < 35802: 3. wsf = ((wsf1[r:(r+1)]+wsf2[r:(r+1)]+wsf3[r:(r+1)]+wsf4[r:(r+1)]+wsf5[r:(r +1)]+wsf6[r:(r+1)]+wsf7[r:(r+1)]+wsf8[r:(r+1)]+wsf9[r:(r+1)]+wsf1 0[r:(r+1)]+wsf11[r:(r+1)]+wsf12[r:(r+1)]+wsf13[r:(r+1)]+wsf14[r:(r +1)]+wsf15[r:(r+1)]+wsf16[r:(r+1)]+wsf17[r:(r+1)]+wsf18[r:(r+1)]+ wsf19[r:(r+1)]+wsf20[r:(r+1)]+wsf21[r:(r+1)]+wsf22[r:(r+1)]+wsf23 [r:(r+1)]+wsf24[r:(r+1)]+wsf25[r:(r+1)]+wsf26[r:(r+1)]+wsf27[r:(r+ 1)]+wsf28[r:(r+1)])/28) 4. zwsf = ((zwsf1[r:(r+1)]+zwsf2[r:(r+1)]+zwsf3[r:(r+1)]+zwsf4[r:(r+1)]+zwsf 5[r:(r+1)]+zwsf6[r:(r+1)]+zwsf7[r:(r+1)]+zwsf8[r:(r+1)]+zwsf9[r:(r+ 1)]+zwsf10[r:(r+1)]+zwsf11[r:(r+1)]+zwsf12[r:(r+1)]+zwsf13[r:(r+1 )]+zwsf14[r:(r+1)]+zwsf15[r:(r+1)]+zwsf16[r:(r+1)]+zwsf17[r:(r+1)] +zwsf18[r:(r+1)]+zwsf19[r:(r+1)]+zwsf20[r:(r+1)]+zwsf21[r:(r+1)]+ zwsf22[r:(r+1)]+zwsf23[r:(r+1)]+zwsf24[r:(r+1)]+zwsf25[r:(r+1)]+z wsf26[r:(r+1)]+zwsf27[r:(r+1)]+zwsf28[r:(r+1)])/28) 5. mwsf = ((mwsf1[r:(r+1)]+mwsf2[r:(r+1)]+mwsf3[r:(r+1)]+mwsf4[r:(r+1)]+m wsf5[r:(r+1)]+mwsf6[r:(r+1)]+mwsf7[r:(r+1)]+mwsf8[r:(r+1)]+mwsf 9[r:(r+1)]+mwsf10[r:(r+1)]+mwsf11[r:(r+1)]+mwsf12[r:(r+1)]+mws f13[r:(r+1)]+mwsf14[r:(r+1)]+mwsf15[r:(r+1)]+mwsf16[r:(r+1)]+m wsf17[r:(r+1)]+mwsf18[r:(r+1)]+mwsf19[r:(r+1)]+mwsf20[r:(r+1)]+ mwsf21[r:(r+1)]+mwsf22[r:(r+1)]+mwsf23[r:(r+1)]+mwsf24[r:(r+1) ]+mwsf25[r:(r+1)]+mwsf26[r:(r+1)]+mwsf27[r:(r+1)]+mwsf28[r:(r+ 1)])/28) 6. wstf = ((wstf1[r:(r+1)]+wstf2[r:(r+1)]+wstf3[r:(r+1)]+wstf4[r:(r+1)]+wstf5[ r:(r+1)]+wstf6[r:(r+1)]+wstf7[r:(r+1)]+wstf8[r:(r+1)]+wstf9[r:(r+1)] +wstf10[r:(r+1)]+wstf11[r:(r+1)]+wstf12[r:(r+1)]+wstf13[r:(r+1)]+w stf14[r:(r+1)]+wstf15[r:(r+1)]+wstf16[r:(r+1)]+wstf17[r:(r+1)]+wstf 18[r:(r+1)]+wstf19[r:(r+1)]+wstf20[r:(r+1)]+wstf21[r:(r+1)]+wstf22 [r:(r+1)]+wstf23[r:(r+1)]+wstf24[r:(r+1)]+wstf25[r:(r+1)]+wstf26[r:
74
(r+1)]+wstf27[r:(r+1)]+wstf28[r:(r+1)])/28) 7. zwstf = ((zwstf1[r:(r+1)]+zwstf2[r:(r+1)]+zwstf3[r:(r+1)]+zwstf4[r:(r+1)]+z wstf5[r:(r+1)]+zwstf6[r:(r+1)]+zwstf7[r:(r+1)]+zwstf8[r:(r+1)]+zwst f9[r:(r+1)]+zwstf10[r:(r+1)]+zwstf11[r:(r+1)]+zwstf12[r:(r+1)]+zwst f13[r:(r+1)]+zwstf14[r:(r+1)]+zwstf15[r:(r+1)]+zwstf16[r:(r+1)]+zw stf17[r:(r+1)]+zwstf18[r:(r+1)]+zwstf19[r:(r+1)]+zwstf20[r:(r+1)]+z wstf21[r:(r+1)]+zwstf22[r:(r+1)]+zwstf23[r:(r+1)]+zwstf24[r:(r+1)]+ zwstf25[r:(r+1)]+zwstf26[r:(r+1)]+zwstf27[r:(r+1)]+zwstf28[r:(r+1)] )/28) 8. mwstf = ((mwstf1[r:(r+1)]+mwstf2[r:(r+1)]+mwstf3[r:(r+1)]+mwstf4[r:(r+1)] +mwstf5[r:(r+1)]+mwstf6[r:(r+1)]+mwstf7[r:(r+1)]+mwstf8[r:(r+1)] +mwstf9[r:(r+1)]+mwstf10[r:(r+1)]+mwstf11[r:(r+1)]+mwstf12[r:(r +1)]+mwstf13[r:(r+1)]+mwstf14[r:(r+1)]+mwstf15[r:(r+1)]+mwstf1 6[r:(r+1)]+mwstf17[r:(r+1)]+mwstf18[r:(r+1)]+mwstf19[r:(r+1)]+m wstf20[r:(r+1)]+mwstf21[r:(r+1)]+mwstf22[r:(r+1)]+mwstf23[r:(r+1 )]+mwstf24[r:(r+1)]+mwstf25[r:(r+1)]+mwstf26[r:(r+1)]+mwstf27[r :(r+1)]+mwstf28[r:(r+1)])/28) 9. wsfgabung.append(wsf) 10. zwsfgabung.append(zwsf) 11. mwsfgabung.append(mwsf) 12. wstfgabung.append(wstf) 13. zwstfgabung.append(zwstf) 14. mwstfgabung.append(mwstf)
Pada kode di atas pada baris ke 3-8 digunakan untuk merata-ratakan file dari setiap file yang dibuka dengan “r” sebagai penanda array yang akan di rataratakan. Perata-rataan file netCDF variabel menggunakan modul numpy. Fungsi yang digunakan adalah append dan. Append merupakan fungsi dari numpy yang berfungsi untuk menambahkan nilai pada akhir array, yang mengunakan fungsi ini adalah variabel time untuk menyatukan dan mengurutkan time dari yang terlama,.
1. 2. 3. 4. 5. 6.
pathday = path1day+'indoBlendedEcmwf25km6h_'+y[x]+m[z]+'.nc' nc_indo = NetCDF.NetCDFFile(pathday, 'w') nc_indo.createDimension('latitude',162,) nc_indo.createDimension('longitude',221,) nc_indo.createDimension('time',1,) nc_indo.createDimension('depth',1,)
75
Pada baris pertama digunakan untuk membuat file netCDF baru. Penamaan pada penggabungan ini hanya menghapus hari pada nama file. File harian mempunyai penamaan indoBlendedEcmwf25km6h_yyyymmdd.nc sedangkan file hasil gabung bulanan bernama indoBlendedEcmwf25km6h_yyyymm.nc. File rataan bulanan yang dihasilkan mempunya dimensi dan besar yang sama seperti rataan harian, seperti terlihat pada Gambar 24.
Gambar 24. Direktori penyimpanan data bulanan
76
4.3.3.3 Data Tahunan Penggabungan data tahunan ini merupakan tahap terakhir dari penggabungan data. Data tahunan merupakan gabungan dari 12 data bulanan. Pengolahan data tahunan ini dimaksudkan untuk memudahkan bagi para pengguna data yang memerlukan data dengan rataan pertahun. Modul yang digunakan pada penggabungan data tahunan sama dengan modul yang digunakan pada proses pengolahan data harian dan bulanan, yang berbeda dari sebelumnya adalah: 1. y = ['2006','2007'] 2. for x in range(2): 3. print 'x = ',x 4. y[x] 5. path1 = path+'indoBlendedEcmwf25km6h_'+y[x]+'01.nc' 6. path2 = path+'indoBlendedEcmwf25km6h_'+y[x]+'02.nc' 7. path3 = path+'indoBlendedEcmwf25km6h_'+y[x]+'03.nc' 8. path4 = path+'indoBlendedEcmwf25km6h_'+y[x]+'04.nc' 9. path5 = path+'indoBlendedEcmwf25km6h_'+y[x]+'05.nc' 10. path6 = path+'indoBlendedEcmwf25km6h_'+y[x]+'06.nc' 11. path7 = path+'indoBlendedEcmwf25km6h_'+y[x]+'07.nc' 12. path8 = path+'indoBlendedEcmwf25km6h_'+y[x]+'08.nc' 13. path9 = path+'indoBlendedEcmwf25km6h_'+y[x]+'09.nc' 14. path10 = path+'indoBlendedEcmwf25km6h_'+y[x]+'10.nc' 15. path11 = path+'indoBlendedEcmwf25km6h_'+y[x]+'11.nc' 16. path12 = path+'indoBlendedEcmwf25km6h_'+y[x]+'12.nc'
Code program di atas berfungsi untuk membuat lokasi direktori dari empat file yang akan di satukan. Lokasi direktori di tentukan dari y[x] yang merupakan tahun, y[x] di atur oleh x yang berisi nilai posisi dari array yang akan loop terus menerus. Variabel y seperti terlihat pada baris 1 merupakan array yang mempunyai nilai yang menggambarkan bulan, dan tahun yang nantinya akan mengisi code pada baris 5 sampai 16 Variabel x mengatur urutan nilai yang
77
keluar dari array y. Penyatuan data bulanan ini mempunyai beberapa kemunkinan yaitu tahun kabisat dan tahun bukan kasbisat, karena hal ini script penyatuan data tahunan ini dibuat sebanyak dua opsi. Semua proses dari pengolahan data tahunan sama dengan pengolahan data harian dan bulanan yang berbeda pada banyaknya variabel dan data yang dibuka secara bersamaan 1. 2. 3. 4. 5. 6.
pathday = path1day+'indoBlendedEcmwf25km6h_'+y[x]+'.nc' nc_indo = NetCDF.NetCDFFile(pathday, 'w') nc_indo.createDimension('latitude',162,) nc_indo.createDimension('longitude',221,) nc_indo.createDimension('time',1,) nc_indo.createDimension('depth',1,)
Pada baris pertama digunakan untuk membuat file netCDF baru. Penamaan pada penggabungan ini hanya menghapus hari pada nama file. File bulanan mempunyai penamaan indoBlendedEcmwf25km6h_yymm.nc sedangkan file hasil gabung tahunan bernama indoBlendedEcmwf25km6h_yyyy.nc. File rataan bulanan yang dihasilkan mempunya dimensi dan besar yang sama seperti rataan harian, seperti terlihat pada Gambar 25.
78
Gambar 25. Direktori tempat penyimpanan data tahunan. 4.5.1 Import Keterangan File ke MySQL. Setiap data yang dihasilkan dalam proses ekstrak, cropping, gabung data harian, gabung data bulanan dan gabung data tahunan, mempunyai nama yang spesifik dan direktori dari masing masing file. Keterangan nama dan direktori harus diimport ke MySQL yang merupakan salah satu web basis data yang berfungsi menyimpan data dalam bentuk table, untuk mengimport ke MySQL menggunakan python menggunkan modul MySQLDB yang berfungsi sebgai interface python untuk MySQL. Script yang digunakan untuk ini adalah : 1. conn=MySQLdb.connect(host="localhost",pengguna="root ",passwd="",db="dc",unix_socket="/opt/lampp/var/MySQ L/MySQL.sock",port=3306) 2. cursor = conn.cursor() 3. cursor.execute("""INSERT INTO log_file (file_location_hdd, data_unduh, data_ekstrak_bz2)VALUES (%s, %s, %s)""",[fullpathdua, 'ok', 'ok']) 4. print "Number of rows updated: %d" % cursor.rowcount 5. cursor.close () 79
Baris pertama pada code di atas berfungsi untuk membentuk koneksi antara python dan MySQL, MySQL yang dituju merupakan localhost dengan anama root tanpa digunakan password, host, pengguna , dan password ini harus benar pengisiannnya karena jika tidak koneksi tak akan terbentuk dan tidak bisa mengirim keterangan data ke MySQL. Selanjutnya adalah memasukan nama basis data pada script di atas nama script yang digunakan adalah “dc” , python dan MySQL terhubung menggunakan unix socket karena OS (Operating System) yang digunakan adalah linux ubuntu. Pada baris kedua script di atas, cursor merupakan fungsi yang harus dideklarasikan sebelum melakukan fungsi lain. Pada baris ketiga menunjukan pyton memasukan suatu nilai pada basis data “dc” pada tabel “log_file”dikolom “file_location_hdd”, “data_unduh”, “data_ekstrak_bz2” yang dimasukan adalah ” fullpathdua”, 'ok', 'ok', “fullpathdua” berisi lokasi file didirektori. Baris keempat member penjelasan apakah baris dalam tabel “log_file” telah berhasil diisi, dan yang terakhir menutup koneksi. 5.5.1 Visualisasi Data Visualisasi data merupakan tahap terakhir dalam proses pengolahan data. Visualisasi data dimaksudkan untuk pengguna yang mempunyai kebutuhan untuk melihat plot secara langsung tampa perlu mengunduh data dan mengolahnya lebih lanjut. Data yang divisualisasi adalah data hasil cropping dengan rataan per 6 jam dan data perhari yang merupakan rataan data perhari dari data per 6 jam.
80
1. 2. 3. 4.
from Scientific.IO import NetCDF import numpy from matplotlib.mlab import griddata import matplotlib.pyplot as plt
Script di atas menunjukan modul yang digunakan dalam membuat plot 2D dari file. Baris pertama adalah modul yang digunakan sebagai interface NetCDF yang berfungsi untuk membuka file NetCDF dan mengambil variable yang terkandung di dalamnya, baris kedua merupakan modul numpy yang digunakan untuk melakukan perhitungan matematika, baris ketiga adalah modul yang digunakan untuk melakukan gridding pada data untuk memperlebar luasan agar plot menjadi lebih mudah dibaca, yang terakhir adalah modul yang di gunakan untuk membuat plot angin2D. 1. dx=0.25 2. lat_north = 20.125 3. lat_south = -20.125 4. lon_west = 90.125 5. lon_east = 145.125 6. lon, lat = meshgrid(lon1,lat1) 7. lon2 = lon.ravel() 8. lat2 = lat.ravel() 9. dx_r=1; 10. lat_r_north = 20.125 11. lat_r_south = -20.125 12. lon_r_west = 90.125 13. lon_r_east = 145.125 14. lonr = arange(lon_r_west,lon_r_east,1) 15. latr = arange(lat_r_south,lat_r_north,1) 16. lon_r, lat_r=meshgrid(lonr,latr) 17. u_wind_ind = griddata(lon2,lat2,u1,lon_r,lat_r,interp='linear') 18. v_wind_ind = griddata(lon2,lat2,v1,lon_r,lat_r,interp='linear') 19. M = sqrt(pow(u_wind_ind, 2) + pow(v_wind_ind, 2)) 20. clf()
Script di atas berguna untuk melakukan gridding data dengan menggunakan metode linier. Baris pertama pada script di atas menjelaskan 81
tentang resolusi spasial dari data IFREMER yaitu sebesar 0.25, dan pada baris ke 9 adalah resolusi spasial yang kita harapkan agar tampilan data tidak terlalu rapat sehingga menyulitkan pembacaan plot 2D. Pada baris ke 19 merupakan rumus untuk mengubah komponen zonal dan meridional menjadi kecepatan. Baris terakhir berguna untuk menghapus colorbar agar tidak ditulis berulang. 1. Q = quiver(lon_r, lat_r, u_wind_ind, v_wind_ind, M, units='x', pivot='tail', width=0.15, scale=3) 2. plot(xaa, yaa,'k,', linewidth=2) 3. axis([90,145, -20, 20]) 4. test = colorbar(Q, orientation='horizontal') 5. test.set_label('Kecepatan (m/s)') 6. title('Plot Sebaran Angin Indonesia'+' '+coba) 7. savefig(indoname) 8. indoname.close()
Kode di atas digunakan untuk membuat plot angin 2D, baris pertama untuk membuta grafik quiver dari data yng ada, dan pada baris dua adalah data garis pantai, pada baris ketiga dan keempat menunjukan bagian-bagian dalam grafik seperti color bar danlebar axisnya. Pada baris keenam merupakan kode yang diberikan untuk memberi judul pada file,dan baris selanjutnya digunakan untuk menyimpan file pada direktori. Contoh plot angin 2D dapat dilihat melalui Gambar 26.
82
Gambar 26. Plot Sebaran angin 2D 4.4
Basis Data Basis data merupakan tabel-tabel yang terdapat pada subsistem basis data,
dalam pembutan basis data ini setiap field yang dibuat untuk memudahkan pencarian data oleh webserver. Basis data dalam penelitian ini semunya bersifat dinamis yang berarti jumlah row bisa terus bertambah sesuai dengan kebutuhan. Basis data ini terdiri dari delapan tabel yaitu :
Tabel invetor
Tabel parameter
Tabel jenis data
Tabel data harian 83
Tabel data bulanan
Tabel data tahunan
Tabel pengguna
Tabel administrator
Tabel tersebut akan ditampilkan di dalam sistem informasi konsep relational basis data ditandai dengan penggunan kunci utama (primary key) dan kunci tamu (foreign key) pada tabel – tabel yang ada. Primary key adalah field untuk mengidentifikasikan baris secara unik yang berfungsi untuk mempermudah pengaturan dan perbaikan data pada tabel induk, sedangkan foreign key adalah kunci pada tabel anak yang berhubungan dengan primary key pada tabel induk (Yung,2003 in Ma’mun, 2009). Deskripsi mengenai tabel-tabel yang digunakan untuk menyimpan informasi data dapat dilihat pada Gambar 27. Dari gambar tersebut dapat dilihat hubungan relasi antar tabel pada subsisteminformasi data kelautan, hubungan yang terjadi adalah relasi one to one, one to many dan many to one. Antar tabel dihubungkan oleh suatu kata kunci atau (primary key).
84
jam
hari
bulan
tahun
id_jam
id_hari
id_bulan
id_tahun
jam_data
hari_data
bulan_data
tahun_data
parameter id_parameter id_inventor parameter_data
inventor
raw_data
Data_crop
picture_data_crop
id_raw_data
id_crop_data
id_picture_crop_data
id_jam
id_jam
id_jam
id_hari
id_hari
id_hari
id_bulan
id_bulan
id_bulan
id_tahun
id_tahun
id_tahun
id_inventor
id_inventor
id_inventor
id_parameter
id_parameter
id_parameter
Nama_raw_data
Nama_crop_data
nama_picture_data_crop
lokasi_raw_hdd
lokasi_crop_hdd
lokasi_picture_crop_hdd
Id_inventor Inventor_data jenisdata id_inventor id_parameter Data_harian
data_bulanan
data_tahunan
id_data_harian
id_data_bulanan
id_data_tahunan
id_jenis_data jenis_data id_hari
id_bulan
id_tahun
id_bulan
id_tahun
id_inventor
id_tahun
id_inventor
id_parameter
id_inventor
id_parameter
nama_data_tahunan
id_parameter
nama_data_bulanan
lokasi_tahunan_hdd
nama_data_harian
lokasi_bulanan_hdd
lokasi_harian_hdd
Gambar 27. Diagram relasi antar tabel basis data
85
4.5
Tampilan Halaman Website Subsistemobservasi data kelautan dirancang untuk memudahkan pengguna
untuk mengakses data secara cepat dan mudah. Sitem observasi data kelautan ini mempunyai tiga bagian yaitu header, footer dan subsistempencari data.
Gambar 28. Tampilan homepage observasi data kelautan. (A) Header (B) Subsistempencari data ( C) Footer Form pencari data berisi tiga variabel yaitu inventor, luasan, dan parameter. Inventor yaitu lembaga atau badan yang menjadi sumber data pada subsistemini, pada penelitian ini diujicobakan dua inventor yaitu NOAA dan IFREMER. Kedua inventor tersebut menyediakan data yang bersifat global, dan pada subsistemini data tersebut dipotong hanya untuk wilayah Indonesia, pengguna dapat memilih luasan data dengan memiilih parameter luasan. Inventor data di atas menyediakan berbagai macam parameter seperti suhu, angin, kelembapan dan curah hujan. Pada penelitian ini hanya parameter angin dari IFREMER yang diujicobakan. Tabel 3 berikut menunjukan subsistem menu dari subsistem pencarian data.
86
Tabel 2. Subsistem menu halaman awal
Inventor
Coverage
Parameter
IFREMER
World
Angin
NOAA
Indonesia
Suhu
Jika Pengguna memilih inventor adalah IFEMER , luasan adalah world, dan parameter adalah angin, maka pengguna akan diberikan form untuk memilih tanggal data yang diperlukan. Gambar 29 memperlihatkan form tersebut:
Gambar 29. Form IFREMER luasan world Dari form diatas, jam, tanggal, bulan, dan tahun merupakan id pada basis data yang digunakan untuk mencari file yang diinginkan oleh pengguna, sesuai dengan subsistempenamaan file raw data. Setelah pengguna memilih tombol retrieve data maka akan muncul tampilan seperti pada Gambar 30.
87
Gambar 30. Form download raw data IFREMER luasan world dengan parameter angin, berdasarkan jam, tanggal, bulan, dan tahun. Jika pengguna memilih luasan indonesia maka pengguna akan diberikan form yang berisi rataan data seperti Gambar 31 :
Gambar 31. Form IFREMER luasan Indonesia Terlihat pada Gambar 32 ada empat pilihan rataan data yaitu per 6 jam, harian, bulanan, dan tahunan. Setelah pengguna memilih rataan data yang dibutuhkan maka akan ditampilkan form selanjutnya yang berisi jam, tanggal, bulan, dan tahun seperti pada Gambar 32.
88
Gambar 32. Form IFREMER Indonesia dengan rataan per 6 jam Jika pengguna memilih rataan harian maka akan diberikan form yang berisi id untuk mengarahkan data ke basis data yang berisi tanggal, bulan, dan tahun, jika pengguna memilih rataan bulanan maka form yang diberikan adalah bulan dan tahun, dan jika rataan tahunan yang dipilih oleh pengguna maka form yang di berikan adalah form yang berisi tahun. Setelah pengguna memilih rataan yang diinginkan makan pengguna akan memperoleh link data untuk diunduh seperti pada Gambar 33.
89
Gambar 33. Form unduh IFREMER indonesia dengan parameter angin dan rataan tahunan.
4.5.1
Proses Pencarian Data Proses pencarian data yang dipilih oleh pengguna terbagi menjadi
beberapa tahap, tahap yang pertama adalah pemilihan inventor, luasan dan parameter. Pada subsistem observasi kelautan ini terdapat dua pilihan pada bagian yaitu :
IFREMER – World - Angin
IFREMER – Indonesia – Angin\
Jika pengguna memilih yang pertama IFREMER – World – Angin maka selanjutnya adalah pemilihan jam, tanggal, bulan ,dan tahun. Jika pilihan kedua IFREMER – Indonesia – Angin maka langkah selanjutnya adalah memilih rataan yang terdiri dari empat yaitu :
90
6 jam
Harian
Bulanan
Tahunan
Langkah selanjutnya adalah memilih jam tanggal, bulan dan tahun, dan data dapat diunduh. Setiap pilihan dari pengguna menentukan basis data dari data, langkah-langkah pencarian data seperti pada Gambar 34.
Gambar 34. Diagram alir pencarian data
91
4.6
Analisis Kerja Subssitem Analisis subsistembertujuan untuk menganalisis kinerja subsistemsebelum
subsistemtersebut dapat diaplikasikan. Melalui hasil pengujian ini akan diketahui apakah subsistemdapat bekerja dengan baik dan berjalan sesuai dengan kebutuhan atau tidak. Pengujian juga dimaksudkan untuk mencari kekurangan-kekurangan yang terdapat dalam sistem untuk kemudian diperbaiki sehingga kesalahan pada sistem dapat diminimalisasi atau bahkan dihilangkan. Kekurangan-kekurangan yang ada akan menjadi masukan untuk kemudian diterapkan pada implementasi program selanjutnya. Dalam penelitian ini dilakukan analisis kecepatan program dalam melakukan setiap tugas yang spesifik dan besarnya file yang dihasilkan seperti pada Tabel 3 di bawah. Tabel 3. Analisis kerja sistem Parameter speed unduh lama unduh Besar file satu data asli compress Lama waktu ekstrak satu file world Besar hasil ekstraksi satu file raw_data lama waktu cropping data indonesia Besar file satu data hasil cropping indonesia Lama waktu penyatuan satu file harian Indonesia Besar satu file data harian Indonesia Lama waktu compress satu file harian Indonesia Besar data hasil compress satu file harian Indonesia Lama waktu penyatuan satu file bulanan Indonesia Besar satu file data bulanan Indonesia Lama waktu compress satu file bulanan Indonesia Besar data hasil compress satu file bulanan Indonesia Lama waktu penyatuan satu file tahunan Indonesia Besar satu file data tahunan Indonesia Lama waktu compress satu file tahunan Indonesia Besar data hasil compress satu file tahunan Indonesia
92
Keterangan 34.9 00:02:05.000 3.75 00:00:04.235 11.4 00:00:02.058 423 00:00:02.044 423 00:00:02.376 171 00:00:03.151 423 00:00:15.225 171 00:01:09.130 423 00:01:19.489 171
Satuan KB/s hh:mm:ss MB hh:mm:ss MB hh:mm:ss KB hh:mm:ss KB hh:mm:ss KB hh:mm:ss KB hh:mm:ss KB hh:mm:ss KB hh:mm:ss KB
Dengan spesifikasi komputer yang digunakan adalah preocessor coreduo T2080 dengan kecepatan 1.73 GHz dan memori 2,2 GB mampu menyelesaikan satu kali proses pengolahan data dalam waktu 5 menit 2,707 detik, seperti terlihat pada Tabel 4. Tabel 4. Lamanya proses pengolahan satu file data Parameter lama unduh Lama waktu compress satu file bulanan Indonesia Lama waktu compress satu file harian Indonesia Lama waktu compress satu file tahunan Indonesia lama waktu cropping data indonesia Lama waktu ekstrak satu file world Lama waktu penyatuan satu file bulanan Indonesia Lama waktu penyatuan satu file harian Indonesia Lama waktu penyatuan satu file tahunan Indonesia Total
Keterangan 00:02:05.000 00:00:15.225 00:00:02.376 00:01:19.489 00:00:02.058 00:00:04.235 00:00:03.151 00:00:02.044 00:01:09.130 00:05:02.707
Satuan hh:mm:ss hh:mm:ss hh:mm:ss hh:mm:ss hh:mm:ss hh:mm:ss hh:mm:ss hh:mm:ss hh:mm:ss hh:mm:ss
4.6.1. Analisis Pemrosesan Unduh Pada Tabel 5 terlihat analisis dari proses unduh, script mengunduh satu file dengan kecepatan +/- 34.9 KB/s, file yang ingin diunduh sebesar 3.75 MB dengan speed unduh +/- 34.9 KB/s untuk mengunduh file sebesar 3.75 MB dibutuhkan waktu 2 menit 5 detik. Dalam satu tahun terdapat 1460 file dengan tiap file sebesar 3.75 mb maka diperlukan hard disk sebesar 5475 MB atau 5.5 GB untuk menampung data hasil unduh. Lama waktu yang dibutuhkan untuk mengunduh 1460 file dengan tiap file sebesar 3.75 MB adalah kurang lebih 50 jam 69 menit .
93
Tabel 5. Analisis pemrosesan unduh data Parameter speed unduh lama unduh Besar file satu data asli compress Lama unduh 1 tahun data Besar semua file dalam 1 tahun
Keterangan 34.9 00:02:05.000 3.75 50:41:40 5.34668
Satuan KB/s hh:mm:ss MB hh:mm:ss GB
4.6.2. Analisis Pemrosesan ekstraksi dan Cropping Pada Tabel 6 terlihat proses ekstraksi dan cropping yang menunjukan lama waktu ekstraksi satu file dari raw data adalah 4,235 detik. File hasil ekstraksi sebesar 11,4 MB, waktu yang diperlukan untuk ekstraksi raw data selama setahun adalah 1 jam 43 menit 2,919 detik dan menghasilkan besar file 16,644 GB. Tabel 6. Analisis pemrosesan ekstraksi dan cropping Parameter Lama waktu ekstrak satu file world Besar hasil ekstraksi satu file raw_data lama waktu cropping satu file data indonesia Besar satu file data hasil cropping indonesia Lama waktu ekstrak satu file world Besar hasil ekstraksi raw_data selama setahun lama waktu cropping satu tahun file data indonesia Besar satu tahun file data hasil cropping indonesia
Keterangan 00:00:04.235 11.4 00:00:02.058 423 01:43:02.919 16.644 00:50:04.549 0.58897
Satuan hh:mm:ss MB hh:mm:ss KB GB hh:mm:ss GB
Proses cropping satu file dunia menjadi Indonesia memakan waktu 2,058 detik dan file cropping yang dihasilkan adalah sebesar 423 KB, ukuran file hasil cropping ini berbeda jauh dengan File aslinya yang berukuran 11,4 MB.
94
4.6.3. Analisis Proses penggabungan data Indonesia Harian, Bulanan, dan Tahunan Tabel 7 merupakan data lama kerja script mengeksekusi satu file dan besar file yang dihasilkan dalam proses perata-rataan data harian dan compress file. Data harian ini dihasilkan dari empat data per 6 jam yang disatukan oleh script dan membutuhkan waktu 2,044 detik serta menghasilkan 423 KB untuk mengerjakan tugasnya, untuk mennyatukan data per 6 jam selama setahun dibutuhkan 12 menit 26,096 detik dan menghasilkan 0.14724 GB data. Satu file data harian Indonesia yang dikompres menjadi 171 KB dan dibutuhkan waktu 2,376 detik. Tabel 7. Proses penggabungan data harian Parameter Lama waktu penyatuan satu file harian Indonesia Besar satu file data harian Indonesia Lama waktu compress satu file harian Indonesia Besar data hasil compress satu file harian Indonesia Lama waktu penyatuan satu tahun file harian Indonesia Besar satu tahun file data harian Indonesia Lama waktu compress satu tahun file harian Indonesia Besar data hasil compress satu tahun file harian Indonesia
Keterangan 00:00:02.044 423 00:00:02.376 171 00:12:26.096 0.14724 00:14:27.172
Satuan hh:mm:ss KB hh:mm:ss KB hh:mm:ss GB hh:mm:ss
0.05952
GB
Tabel 8 merupakan data waktu dan besar file yang dihasilkan dalam perata-rataan data bulanan. Data bulanan terbentuk dari perata-rataan 30 data harian. Lama waktu yang diperlukan script untuk membuat satu data bulanan adalah 3,151 detik dan besar file yang dihasilkan adalah 423 KB, untuk membuat file bulanan selama setahun dibutuhkan waktu selama 37,811 detik. File yang dihasilkan selanjutnya di compress menghasilakan file sebesar 5.076 MBwaktu compress satu file bulanan yaitu 15,225 detik.
95
Tabel 8. Proses penggabungan data bulanan Parameter Lama waktu penyatuan satu file bulanan Indonesia Besar satu file data bulanan Indonesia Lama waktu compress satu file bulanan Indonesia Besar data hasil compress satu file bulanan Indonesia Lama waktu penyatuan satu tahun file bulanan Indonesia Besar satu tahun file data bulanan Indonesia Lama waktu compress satu tahun file bulanan Indonesia Besar data hasil compress satu tahun file bulanan Indonesia
Keterangan 00:00:03.151 423 00:00:15.225 171 00:00:37.811 5.076 00:03:02.704
Satuan hh:mm:ss KB hh:mm:ss KB hh:mm:ss MB hh:mm:ss
2.052
MB
Tabel 9 merupakan data yang dihasilkan pada proses perata-rataam data tahunan, data tahunan dihasilkan melalui perata-rataan 12 file bulanan. Script membutuhkan waktu 1 menit 9,13 detik untuk menghasilkan satu file tahunan dan file yang dihasilkan sebesar 423 KB setelan dicompress data tahunan menjadi sebesar 171 KB. Tabel 9. Proses penggabungan data tahunan Parameter Lama waktu penyatuan satu file tahunan Indonesia Besar satu file data tahunan Indonesia Lama waktu compress satu file tahunan Indonesia Besar data hasil compress satu file tahunan Indonesia
4.7
Keterangan 01:09.130 423 01:19.489 171
Satuan hh:mm:ss MB hh:mm:ss MB
Validasi Data Validasi pada penelitian ini membandingkan data IFREMER yang telah di
olah pada subsistem pengolahan data dengan data insitu dari bouy TRITON. Bouy triton berada di koordinat 5°LS dan 95°BT, letak bouy triton ini masih berada dalam coverage data hasil cropping.
96
4.7.1
Validasi Komponen Zonal dan Meridional Dari Data Angin IFREMER dan TRITON Harian Pada Gambar 35 dapat dilihat trend yang terbentuk pada komponen zonal
dari IFREMER dan TRITON, terlihat bahwa IFREMER memiliki fluktuasi nilai yang lebih besar dibandingkan dengan TRITON. Hal ini dapat dilihat dari adanya puncak-puncak data yang sangat berjauhan antara TRITON dan IFREMER. Pola yang terlihat pada gambar 35 kemiripan pola dari data TRITON dan IFREMER.
15 Komponen Zonal Wind Speed (m/s)
10 5 0 IFREMER -5
TRITON
-10 -15
Gambar 35. Validasi data zonal harian IFREMER dan TRITON Pada Tabel 10 terlihat bahwa data IFREMER mempunyai standard deviation yang lebih besar dibandingkan dengan standard deviation dari data bouy TRITON. Data IFREMER mempunyai variance yang tinggi mencapai 25.061 yang menandakan sebaran data sangat tinggi dibandingkan dengan data bouy TRITON. Standard deviation dan variance ini menjelaskan menjelaskan fluktuasi yang terjadi pada gambar 35.
97
Tabel 10. Standard deviation pada data IFREMER dan TRITON. IFREMER (komponen zonal) Mean Median Mode Standard Deviation Sample Variance
TRITON (komponen zonal)
-1.68661 -3.1975 -5.8825 5.006097 25.06101
Mean Median Mode Standard Deviation Sample Variance
-0.56322 -0.86667 -1.22917 2.816203 7.930999
Pada Gambar 36 dapat dilihat trend yang terbentuk pada komponen zonal dari IFREMER dan TRITON, terlihat bahwa IFREMER memiliki fluktuasi nilai yang lebih besar dibandingkan dengan TRITON yang relative lebih stabil. Hal ini dapat dilihat dari adanya puncak-puncak data yang sangat berjauhan antara TRITON dan IFREMER. Pola yang terbentuk dari grafik menunjukan kemiripan
Komponen Meridional Wind Speed (m/s)
ini terlihat dari naik dan turunnya grafik diantara dua data.
10 8 6 4 2 0 -2 -4 -6 -8 -10
IFREMER TRITON
Gambar 36. Validasi data meridional harian IFREMER dan TRITON
Pada tabel 11 terlihat bahwa data IFREMER mempunyai standard deviation yang lebih besar dibandingkan dengan standard deviation dari data bouy TRITON. Data IFREMER mempunyai variance yang tinggi mencapai 9.27 yang menandakan sebaran data yang tinggi dibandingkan dengan data bouy TRITON. 98
Standard deviation dan variance ini menjelaskan menjelaskan fluktuasi yang terjadi pada gambar 36. Tabel 11. Standard deviation pada data IFREMER dan TRITON. IFREMER (komponen meridional) Mean Median Mode Standard Deviation Sample Variance 4.7.2
TRITON (komponen Merdional)
1.812329 1.8175 1.8375 3.044736 9.270415
Mean Median Mode Standard Deviation Sample Variance
0.565559 0.683333 -1.6625 1.673026 2.799015
Sebaran Data IFREMER dan TRITON Gambar 37 adalah kurva sebaran komponen meridional, dapat dilihat
bahwa kurva TRITON memiliki pola sebaran yang hampir sama dengan pola sebaran IFREMER. Kedua data memiliki arah sebaran pada sumbu yang sama, meskipun pada data IFREMER terdapat sebaran yang lebih luas dibandingkan TRITON. Hal ini bisa terjadi akibat data IFREMER yang merupakan data hasil pemodelan.
15
zonal wind speed (m/s)
10
-10
5 TRITON
0 -5
0
5
10
-5 -10 -15 meridional wind speed (m/s)
Gambar 37. Sebaran data IFREMER dan TRITON
99
IFREMER
100
5.
5.1
KESIMPULAN DAN SARAN
Kesimpulan Prototipe website penyedia data kelautan untuk wilayah Indonesia
khususnya data angin telah berjalan dengan cukup baik. Prototipe website penyedia data kelautan ini terdiri dari tiga subsistem utama yang mempunyai fungsi dan peranan sendiri-sendiri, ketiga sistem ini adalah subsistem pengolahan data, subsistem basis data, subsistem webserver. Prototipe website penyedia kelautan memiliki empat jenis rataan yaitu: 6jam, harian, bulanan dan tahunan. Dengan spesifikasi komputer yang digunakan adalah preocessor coreduo T2080 dengan kecepatan 1.73 GHz dan memori 2,2 GB mampu menyelesaikan satu kali proses pengolahan data dalam waktu 5 menit 2,707 detik. 5.2 Saran Menambahkan parameter data tidak hanya data angin, seperti suhu permukaan laut, arus, dan gelombang. Selain itu format data juga dapat ditambahkan seperti data citra atau format data oseanografi yang lain. Menggunakan program lain selain python seperti NetCDF Operator (NCO). Melakukan penganalisisan jaringan untuk melihat sistem secara keseruluhan. Menambahkan fitur cropping pada website sehingga pengguna bisa memilih lokasi. Menambahkan fitur pengolahan data sehingga bisa menggabungkan parameter. Menambahkan data dari website penyedia data yang lain, dan format data lain seperti citra.
101
DAFTAR PUSTAKA Dhoto. 2007. Jaringan Komputer. Politeknik Elektronika Negeri Surabaya. Institut Teknologi Sepuluh Nopember (PENS-ITS). Surabaya. Hartnett, E. dan Rew, R. 2008. Experience With An Enhanced Netcdf Data Model And Interface For Scientific Data Access. University Corporation for Atmospheric (UCAR). Boulder. Hartnett, E., Rew, R., Heimbigner, D., Davis, E., Caron, J. 2009. NetCDF Classic and 64-bit Offset File Formats. University Corporation for Atmospheric (UCAR). Boulder. Hunter, J. 2006. The Matplotlib User’s Guide. http://mural.uv.es/parmur/matplotlib.pdf. (10 November 2010). Ifremer, JPL, CERSAT. 2002. Mean Wind Fields (Mwf Product Volume1- Ers - 1, Ers-2 & Nscat User Manual (1). http://www.altimetry.info/print/missions/ers2/instruments/welcome_en.h tml. (10 November 2010). Ishido, Y., Sakai, E., Matsuda, M. 1999. ADEOS-II AMSR Ground Data Processing System. National Space Development Agency of Japan (NASDA) dan Mitsubishi Electric Corporation Kamakura Works. Tokyo.
Kristanto, H. 1994. Konsep dan Perancangan Database. Penerbit Andi Yogyakarta. Yogyakarta. NESL’s Climate & Global Dynamics. 2010. An Introduction to Atmospheric and Oceanographic Datasets. http://www.cgd.ucar.edu/cas/tn404/text/tn404_5.html. (20 Oktober 2010). Niksic. 2009. GNU Wget 1.12. http://www.gnu.org/software/wget/manual/wget.pdf. (18 September 2010). NumPy community. 2010. NumPy User Guide. http://docs.scipy.org/doc/numpy/user/. (18 September 2010). Priyamanto, A. dan Hidayat, S. 2008. Analisis Kinerja Remote Server Administrator Untuk Managemen Jaringan Komputer. Seminar Nasional Aplikasi Teknologi Informasi 2008. Yogyakarta. Python Software Foundation. 1990. About Python. http://www.python.org/. (10 November 2010).
Ramez, E. dan Sham, N. 2000. Fundamental of Database System third edition. Addison Wesley. Reading. Rew, R. 2008. Developing Conventions for NetCDF-4. http://www.unidata.ucar.edu/software/netcdf/papers/nc4_conventions.ht ml. (8 April 2010). Rew, R., Davis, G., Emmerson, S., Davies, H., Hartnett, E., Heimbigne, D. 2010. Data Model, Programming Interfaces, and Format for Self Describing, Portable Data. Unidata Program Center. Boulder. Riyanto,A. 2003. Pengenalan Jaringan. Lembaga Ilmu Pengetahuan Indonesia (LIPI). Jakarta. Setiawan, A. 2008. Pengenalan Data Oseanografi. Pusat Teknologi Lingkungan BPPT. Jakarta. http://agusset.files.wordpress.com/2008/02/modul_pengenalan_data_ose anografi.pdf. (8 April 2010). Stewart, R. H. 2005. Introduction of Physical Oceanography. Texas A&M University. Texas. Sutanta, E. 1996. Sistem Basis Data dan Konsep dan Penerapannya dalam Sistem Informasi Manajemen. Andi Offset. Yogyakarta. Wahana Lingkungan Hidup Indonesia (WALHI). 2011. Petisi Pulihkan Laut Teluk Senunu. http://www.walhi.or.id/id/mari-bergabung/petisionline/1233-petisi-pulihkan-laut-teluk-senunu ( 30 juli 2011). Whitaker, jeffrey. 2011. Module netCDF4. http://netcdf4python.googlecode.com/svn/trunk/docs/netCDF4-module.html. (10 November 2010).
102
103
Tabel Pengolahan Data No
NamaTabel
1
invetor
2
parameter
3
jenisdata
4
tahun
5
bulan
6
hari
7
jam
8
raw_data
Nama Field id_inventor inventor_data id_parameter id_inventor parameter_data id_inventor id_parameter id_jenis_data jenis_data id_tahun tahun_data id_bulan bulan_data id_hari hari_data id_jam jam_data id_raw_data id_jam id_hari id_bulan id_tahun id_inventor id_parameter id_jenis_data nama_raw_data lokasi_raw_hdd
Tipe Data Tinyint(5) Text Tinyint(5) Tinyint(5) Varchar(50) Tinyint(5) Tinyint(5) Tinyint(5) Varchar(50) Tinyint(5) Varchar(10) Tinyint(5) Varchar(10) Tinyint(5) Varchar(10) Tinyint(5) Varchar(10) Tinyint(5) Tinyint(5) Tinyint(5) Tinyint(5) Tinyint(5) Tinyint(5) Tinyint(5) Tinyint(5) Varchar(100) Varchar(200)
104
Keterangan Primary key pembuat data asli (ifremer) Primary key Foreign key Parameter data (angin) Foreign key Foreign key Primary key Data harian, bulanan, tahuan Primary key Tahun data di keluarkan Primary key Bulan data di keluarkan Primary key tanggal data di keluarkan Primary key Jam data di keluarkan Primary key Foreign key Foreign key Foreign key Foreign key Foreign key Foreign key Foreign key Nama file raw data unique key
Tabel Pengolahan Data No
NamaTabel
9
data_crop
10
11
data_harian
data_bulana n
Nama Field id_crop_data id_jam id_hari id_bulan id_tahun id_inventor id_parameter id_jenis_data
Tipe Data Tinyint(5) Tinyint(5) Tinyint(5) Tinyint(5) Tinyint(5) Tinyint(5) Tinyint(5) Tinyint(5) Varchar(100 nama_data_crop ) Varchar(200 lokasi_crop_hdd ) id_data_harian Tinyint(5) id_hari Tinyint(5) id_bulan Tinyint(5) id_tahun Tinyint(5) id_inventor Tinyint(5) id_parameter Tinyint(5) id_jenis_data Tinyint(5) Varchar(100 nama_data_harian ) Varchar(200 lokasi_harian_hdd ) id_data_bulanan Tinyint(5) id_bulan Tinyint(5) id_tahun Tinyint(5) id_inventor Tinyint(5) id_parameter Tinyint(5) id_jenis_data Tinyint(5) Varchar(100 nama_data_bulanan ) lokasi_bulanan_hd Varchar(200 d )
105
Keterangan Primary key Foreign key Foreign key Foreign key Foreign key Foreign key Foreign key Foreign key Nama file hasil cropping unique key unique key Foreign key Foreign key Foreign key Foreign key Foreign key Foreign key Nama file data harian unique key Primary key Foreign key Foreign key Foreign key Foreign key Foreign key Nama file data bulanan unique key
Tabel Pengolahan Data N o
NamaTabel
12
data_tahunan
13
14
15
picture_data_c rop
user
administrator
Nama Field id_data_tahunan id_tahun id_inventor id_parameter id_jenis_data
Tipe Data Tinyint(5) Tinyint(5) Tinyint(5) Tinyint(5) Tinyint(5)
nama_data_tahunan lokasi_tahunan_hdd id_picture_crop_dat a id_crop_data id_jam id_hari id_bulan id_tahun id_inventor id_parameter id_jenis_data nama_picture_data_ crop lokasi_picture_crop _hdd id_user
Varchar(100) Varchar(200)
username_user
Varchar(7)
nama_asli_user
Varchar(20)
pekejaan_user
Varchar(10)
email_user id_admin
Varchar(25) Tinyint(5)
username_admin
Varchar(7)
nama_asli_admin
Varchar(20)
pekejaan_admin email_admin
Varchar(10) Varchar(25)
106
Tinyint(5) Tinyint(5) Tinyint(5) Tinyint(5) Tinyint(5) Tinyint(5) Tinyint(5) Tinyint(5) Tinyint(5) Varchar(100) Varchar(200) Tinyint(5)
Keterangan Primary key Foreign key Foreign key Foreign key Foreign key Nama file data tahunan unique key Primary key Foreign key Foreign key Foreign key Foreign key Foreign key Foreign key Foreign key Foreign key Nama file hasil cropping unique key Primary key username penggunalayanan namaaslipenggunala yanan pekerjaanpenggunal ayanan email penggunalayanan Primary key username administrator Namaasli administrator pekerjaan administrator email administrator
107
DAFTAR RIWAYAT HIDUP
Penulis dilahirkan di Jakarta, 01 September 1987 dari Ayah Gunawan Triyatna dan Ibu Hendrika Lukas. Penulis adalah anak ke dua dari tiga bersaudara. Tahun 2005 penulis menyelesaikan pendidikan Sekolah Menengah Atas di SMA 1 Bekasi, dan langsung melanjutkan pendidikan di Institut Pertanian Bogor melalui jalur SPMB. Pada tahun 2006 penulis memilih jurusan Ilmu dan Teknologi Kelautan, Fakultas Perikanan dan Ilmu Kelautan. Selama Kuliah di Istitut Pertanian Bogor, penulis aktif dalam organisasi Fisheries Diving Club (FDC) pada diklat 24 dan pernah menjabat sebagai Kepala Sekolah diklat pada tahun 2008-2010. Selain itu penulis juga aktif di himpro Himpunan Mahasiswa Ilmu dan Teknologi Kelautan (HIMITEKA) pada Departemen Penelitian dan Kebijakan dan pernah menjabat sebagai Ketua Temu Warga pada mahasiswa ITK 2007. Selama masa kuliah penulis juga pernah menjadi asisten mata kuliah Ekologi Laut Tropis, Selam Ilmiah, Dasar-dasar Instrumentasi Kelautan dan aktif di organisasi Marine Instrumentation and Telemetry (MIT) ITK-IPB. Dalam rangka penyelesaian pendidikan di Fakultas Perikanan dan Ilmu Kelautan, penulis memilih penelitian yang berjudul “PENGEMBANGAN KONEKSI ANTAR JARINGAN UNTUK PENUNJANG SISTEM OBSERVASI LAUT”.