BAB III ANALISIS DAN PERANCANGAN
3.1 Metode Penelitian Metode penelitian yang digunakan dalam penelitian ini adalah :
Gambar 4 Flowchart metode penelitian Berikut adalah penjelasan dari flowchart diatas: 1. Data yang dikirim oleh satelit Aqua Modis dikumpulkan di situs web oceancolor.gsfc.nasa.gov. Di situs tersebut kita dapat memilih untuk mengambil data apa saja yang akan diambil dengan
terlebih
dahulu
menentukan
satelit
yang
mengumpulkan data tersebut, kemudian memilih data citra klorofil-a untuk rentang waktu 8 harian.
25
26
2. Data yang diunduh merupakan data dengan format SMI yang merupakan data hasil perekaman citra satelit, untuk dapat digunakan data tersebut kemudian diproses dengan perangkat lunak SeaDAS untuk mendapatkan data dengan ekstensi *.asc. 3. Setelah didapatkan data dengan ekstensi *.asc, kemudian diubah kedalam bentuk matrik untuk memudahkan pengolahan dengan matlab. Data ini perlu diubah ke dalam bentuk matrik karena ketika data tersebut berekstensi *.asc data tersebut akan sulit untuk dipahami. 4. Data yang telah berbentuk matrik, kemudian dilakukan agregasi temporal, hal ini dimaksudkan untuk membagi data yang memiliki resolusi temporal 8 harian menjadi data yang memiliki resolusi temporal bulanan. 5. Data yang telah memiliki resolusi temporal bulanan kemudian dilakukan analisa spasial clustering untuk mendapatkan data spasial yang telah memiliki label cluster. 6. Data yang telah memiliki label cluster selanjutnya dilakukan temporal clustering, sehingga data tersebut akan memiliki label temporal cluster. 7. Data yang telah di-cluster selanjutnya dilakukan validasi hasil clustering. 8. Setelah
dilakukan
analisis
spasio-temporal
clustering,
dilakukan visualisasi untuk memudahkan dalam pembacaan hasil clustering. 3.2 Analisis
Data spasio-temporal merupakan data yang mengandung informasi geografi serta diambil dengan rentang waktu tertentu. Data citra satelit sebaran klorofil a yang diambil dari situs http://oceancolor.gsfc.nasa.gov/
dapat
dimanfaatkan dalam aplikasi analisis spasio-temporal clustering tentunya harus diolah terlebih dahulu sehingga data sesuai dengan kebutuhan. Selain itu data yang diunduh pun memiliki format yang memiliki ekstensi hdf. Data dengan
27
ekstensi hdf merupakan sebuah format file yang digunakan untuk menyimpan dan mengatur data numerik dalam ukuran besar. Urutan langkah untuk mendapatkan
data citra satelit sebaran klorofil
adalah sebagai berikut: 1.
Buka website OceanColor yaitu http://oceancolor.gsfc.nasa.gov/
Gambar 5 halaman utama http://oceancolor.gsfc.nasa.gov/ 2.
Selanjutnya klik “Level 3 Browser”
3.
Kemudian dilanjutkan dengan memilih satelit serta data yang ingin dipilih, disini dipilih Aqua Modis Chlorophil Concentration (ditunjukkan oleh huruf a pada gambar 6) , untuk mengambil data citra sebaran klorofil a.
Gambar 6 halaman level 3 browser untuk mengunduh data satelit
28
4.
Kemudian dilanjutkan dengan memilih rentang waktu perekaman data citra satelit, rentang waktu perekaman tersedia dalam format harian, mingguan, bulanan, serta tahunan, di sini dipilih data composite mingguan (ditunjukkan oleh huruf b pada gambar 6).
5.
Selanjutnya tentukan resolusi spasial dari data yang akan diunduh, disini dipilih data dengan resolusi spasial 4 km (ditunjukkan oleh huruf c pada gambar 6).
6.
Kemudian dilanjutkan dengan memilih tanggal perekaman data (ditunjukkan oleh huruf d pada gambar 6)
7.
Kemudian pilih file yang bertanda SMI untuk diunduh (ditunjukkan oleh huruf e pada gambar 6).
8.
Setelah selesai diunduh, extract dengan menggunakan perangkat lunak seperti Winrar ataupun IZArc untuk dapat diolah dengan SeaDAS. Tahapan selanjutnya adalah mengolah data yang telah diunduh dengan menggunakan perangkat lunak SeaDAS. Perangkat lunak ini hanya dapat bekerja langsung di komputer dengan sistem operasi Linux sedangkan untuk sistem operasi Windows (jenis apapun) belum bisa langsung diinstal. Oleh karena itu, dibutuhkan perangkat lunak pembantu dalam hal ini saya menggunakan perangkat lunak VMware Player. Setelah terinstal dengan baik, maka perangkat lunak SeaDAS nya dapat diinstal ke dalam perangkat lunak VMware Player. SeaDAS juga tersedia di website http://seadas.gsfc.nasa.gov/. Untuk sistem operasi Windows di situs ini sudah disediakan dalam bentuk
SeaDAS Virtual Appliance
sehingga
dapat langsung dijalankan dengan VMware Player. Ketika menggunakan VMware Player, data citra satelit yang telah diunduh harus dipindahkan ke flashdisk atau media penyimpanan lainnya terlebih dahulu. Hal ini dikarenakan, ketika membuka VMware Player, maka sistem operasi Windows ( sistem operasi host) tidak bisa diakses oleh VMware Player.
29
Berikut adalah tahapan pengolahan data citra satelit sebaran klorofil a yang diolah dengan SeaDAS: Ketika sudah masuk ke perangkat lunak SeaDAS, pertama-tama file yang dalam format .bx2 tadi di extract terlebih dahulu dan disimpan di drive yang tersedia pada tampilan SeaDASnya. Berikut adalah tampilan utama ketika SeaDAS pertama kali dijalankan.
Gambar 7 halaman utama SeaDAS Tahapan berikutnya adalah memilih file yang telah diekstrak , namun sebelum memilih file yang akan dibuka, salin terlebih dahulu file tersebut ke desktop atau media penyimpanan SeaDAS, karena file yang disimpan di komputer host (komputer tempat meng-install Vmware Player) tidak dapat diakses oleh komputer guest (komputer yang di-install SeaDAS). Berikut adalah tampilan untuk memilih file citra satelit.
30
Gambar 8 halaman untuk memilih file citra satelit Setelah kita memasukkan lintang-bujurnya, kemudian kita klik tanda Chlorophil-a Concentration (gambar 9). Kemudian kita LOAD dan akan muncul layar baru (gambar 10). Kita Display saja maka akan terlihat layar baru yang akan menampilkan wilayah yang kita inginkan (sesuai koordinat). Pada penelitian ini wilayah Indonesia yang dipilih adalah wilayah dengan letak koordinat (0o LS – -21o LS dan 95o BT – 139o BT). Berikut adalah tampilan untuk menentukan letak koordinat daerah penelitian.
Gambar 9 halaman untuk memilih daerah penelitian
31
Gambar 10 halaman untuk memilih file yang akan ditampilkan Jika ingin memberikan tampilan yang lebih bagus (menampilkan grid,ganti warna,color bar dll) terhadap gambar yang hendak digunakan, maka kita dapat mengeditnya di menu Functions dan Setups nya (gambar 11). Ketika gambar yang hendak digunakan sudah sesuai dengan yang diinginkan maka langkah selanjutnya adalah klik menu Functions-pilih Output – Data - ASCII, maka akan muncul layar baru (gambar 12). Kemudian akan muncul layar baru untuk menentukan nama file (gambar 13).
Gambar 11 halaman visualisasi citra satelit
32
Gambar 12 halaman menentukan file output
Gambar 13 halaman menentukan nama file Kemudian klik Setup untuk menentukan parameter atau atribut dari data satelit. Pilihan ini akan menentukan hasil dari data ASCII yang akan dibuat. Pada penelitian ini parameter yang akan dimasukkan adalah nilai koordinat lintang, nilai koordinat bujur, serta nilai klorofil a. Ketika selesai dilanjutkan dengan memilih write file (gambar 14). Tahapan ini merupakan tahap terakhir mengolah data dengan menggunakan perangkat lunak SeaDAS. File yang dihasilkan adalah file dengan ekstensi asc dan
33
tersimpan pada direktori home dari SeaDAS. Untuk membuka file ini dapat dilakukan dengan perangkat lunak penyunting teks seperti notepad, notepad ++, serta perangkat penyunting teks lainnya.
Gambar 14 halaman menentukan atribut data citra satelit
3.3 Prepocessing Data Pada bagian ini akan dibahas mengenai bagaimana mengolah data dari data ASCII yang didapat dari pengolahan dengan perangkat lunak SeaDAS menjadi data dengan bentuk matriks untuk dilakukan agregasi. Agregasi ini dilakukan untuk mengumpulkan data sebaran klorofil a untuk dibuat matriks dengan jumlah baris adalah semua data dan untuk kolomnya merupakan atribut dari data sebaran klorofil a yang memiliki nilai, koordinat lintang dan bujur serta nilai klorofil a. Data hasil keluaran dari SeaDAS
34
merupakan file dengan format ekstensi *.asc. Sehingga untuk dapat diubah menjadi matriks digunakan perangakt lunak Microsoft Office Excel 2010. Microsoft Office Excel 2010 dipilih karena kemampuannya untuk dapat mengolah data dengan jumlah baris lebih dari 200.000. Berikut langkah-langkah untuk mengolah data dengan Microsoft Office Excel 2010: 1. Buka Microsoft Excel. 2. Letakan kursor kedalam cell yang berada pada microsoft excel. 3. Pada menu bar,pilih bagian data kemudian pilih import external data dan pilih import data. 4. Pilih letak data yang ingin kalian import. 5. Setelah dipilih,akan muncul tampilan seperti ini :
Gambar 15 Wizard import data External excel
6. Pilih saja delimited untuk membaginya sesuai dengan cell yang ada,kemudian klik next. 7. Setelah di klik akan tampil seperti ini :
35
Gambar 16 penentuan pemisah import data external excel
8. Ceklist pada bagian semicolon untuk memberikan pemisah antar tulisan yang ingin di import. 9. Kemudian klik finish.
Gambar 17 hasil akhir import data External excel
Untuk memudahkan dalam analisis spasio-temporal clustering semua data akan disesuaikan dengan kebutuhan penelitian. Data yang terbentuk dari proses diatas merupakan data 8 harian perekaman citra satelit dengan ekstensi *.xlsx. Dari data 8 harian ini kemudian dilakukan agregasi data sehingga diperoleh data bulanan sebaran klorofil a, disini data harian yang memiliki nilai klorofil a lebih dari 3 mg/m3 akan dibuang , karena nilai ini merupakan noise dari data citra satelit, nilai ini mungkin saja sebuah atau koloni organisme lain yang memiliki karakteristik hampir sama dengan fitoplankton, sehingga terbaca oleh sensor
36
satelit sebagai klorofil a. Menurut A.Sediadi & Edward dalam makalah yang disampaikan pada Seminar Nasional Pendayagunaan Sumberdaya Hayati Dalam Pengelolaan Lingkungan Hidup tahun 2000 nilai tertinggi klorofil a di perairan Indonesia adalah 2,14 mg/m3. Selanjutnya nilai kandungan klorofil a yang ada pada tiap minggunya akan dilakukan agregasi tiap 4 minggu, sehingga diperoleh data sebaran kklorofil a setiap bulan. Data ini terdiri dari 6 kolom, yaitu kolom pertama yang berisi nilai koordinat lintang, kolom kedua yang berisi nilai koordinat bujur, kolom ketiga yang berisi nilai sebaran klorofil a pada minggu pertama, kolom keempat yang berisi nilai sebaran klorofil a pada minggu kedua, kolom kelima yang berisi nilai sebaran klorofil a pada minggu ketiga, kolom keenam yang berisi nilai sebaran klorofil a pada minggu keempat. Pembagian nilai klorofil a pada tiap bulannya dihitung berdasarkan kalender masehi, sehingga data sebaran klorofil a pada bulan Januari berisi data citra satelit mulai hari pertama bulan Januari sampai dengan hari ke-32 pada bulan Januari ( karena data citra satelit yang diambil merupakan data citra satelit 8 harian) begitu juga untuk bulan yang lain.
3.4 Analisis Spasio-Temporal Clustering Pada bagian ini akan dibahas mengenai tahapan analisi spasiotemporal clustering yang akan dibagi menjadi dua tahapan yaitu analis spasial clustering dengan algoritma Density-based Spatial Clustering of Aplication with Noise (DBSCAN) serta analisis temporal clustering dengan algoritma Fuzzy C-Means. Hasil yang diharapkan adalah data yang telah diberi label berdasarkan keanggotaan dalam cluster tertentu. Hal-hal yang harus
37
diperhatikan dalam tahapan spasial clustering dengan algortima DBSCAN yaitu: 1. Masukan Masukan merupakan data hasil preprocessing, dimana pada penelitian ini digunakan data tahunan sebaran klorofil a.. 2. Parameter Parameter yang diperlukan oleh algoritma DBSCAN ini adalah jarak minimal antar profil (epsilon) dan jumlah minimal profil untuk dijadikan satu cluster. 3. Keluaran Merupakan hasil analisis spasial clustering dengan DBSCAN berupa label cluster untuk masing-masing profil dalam data dan persebaran.
Setelah mendapat hasil analisis spasial clustering, maka tahapan selanjutnya adalah analis temporal clustering dengan algoritma Fuzzy CMeans. Hasil yang diharapkan adalah data yang telah diberi label berdasarkan keanggotaan dalam cluster tertentu.
Hal-hal yang harus diperhatikan dalam tahapan temporal clustering dengan algortima Fuzzy C-Means yaitu: 1. Masukan Masukan untuk analisis temporal clustering adalah data hasil spasial clustering. 2. Parameter Parameter yang diperlukan oleh algoritma Fuzzy C-Means ini adalah jumlah cluster yang diinginkan, nilai koefisien eksponen untuk partisi, jumlah iterasi dan nilai ambang kesalahan minimum. 3. Keluaran
38
Merupakan hasil analisis temporal clustering dengan Fuzzy C-Means berupa label cluster untuk masing-masing profil dalam data dan cluster center.
3.5 Visualisasi Hasil Analisis Spasio-Temporal Clustering Pada akhirnya cluster hasil analisis spasio-temporal clustering harus digambarkan untuk dapat mempermudah dalam pembacaan informasi. Bagian ini akan membahas mengenai tahapan visualisasi hasil analisis spasiotemporal clustering. Visualisasi hasil analisis spasio-temporal clustering mencakup visualisasi persebaran cluster dan visualisasi cluster center atau pola umum yang ditemukan dalam data. Visualisasi pola umum dilakukan baik terhadap pola yang dihasilkan dari hasil analisis spasial clustering maupun dari hasil analisis temporal clustering.
Hal-hal yang harus diperhatikan dalam tahap visualisasi persebaran cluster : a. Masukkan Masukkan untuk tahap visualisasi persebaran cluster adalah label cluster masing-masing profil b. Keluaran Hasil visualisasi persebaran cluster adalah plot gambar persebaran cluster.
Hal-hal yang harus diperhatikan dalam tahap visualisasi pola umum ( cluster center ) : a. Masukkan Masukkan untuk tahap visualisasi pola umum adalah pasangan data lintang dan data bujur lokasi geografis yang menjadi daerah penelitian, data titik-titik waktu penelitian dan matriks berisi nilai cluster center.
39
b. Keluaran Hasil visualisasi cluster center adalah pola umum data yang ditemukan dalam analisis spasio-temporal clustering
3.6 Perancangan Fungsi Untuk Membuka File Hal pertama sebelum dilakukan analisis spasio-temporal clustering adalah membuka file yang akan menjadi masukan untuk analisis spasiotemporal clustering. Berikut adalah fungsi yang akan digunakan dan penjelasan dari bagian utama fungsi tersebut. data = xlsread(‘nama_file.xlsx');
Kode Program 1 Potongan kode sumber untuk membuka file Berikut adalah penjelasan dari potongan kode diatas: a. nama_file merupakan nama file yang diberikan terhadap data analisis b. data merupakan nama variabel untuk menyimpan file untuk dilakukan pengolahan c. xlsread merupakan fungsi di dalam matlab yang dapat digunakan untuk membuka file d. *.xlsx merupakan ekstensi file yang akan dibuka
3.7 Perancangan Fungsi Untuk Agregasi Spasial Data yang telah didapat merupakan data dengan jumlah baris yang sangat banyak sehingga perlu dilakukan agregasi, karena data yang besar akan memerlukan waktu yang lama ketika dilakukan komputasi. Agregasi data dilakukan terhadap data lintang serta data bujur sehingga diperoleh data yang merepresentasikan lokasi penelitian. Data yang akan diolah mempunyai
40
batas minimal serta maksimal untuk nilai lintang dan nilai bujurnya. Batas minimal untuk lintang adalah -2,7 LS dan batas maksimal untuk nilai lintangnya adalah -3,7 LS, sedangkan untuk nilai bujurnya mempunyai batas minimal 105,1 BT dan 106,1 untuk batas maksimal nilai bujurnya. Berikut adalah fungsi yang akan digunakan dan penjelasan dari bagian utama fungsi tersebut.
threshold=struct('minlat',-2.7,'maxlat',-3.7,... 'minlon',105.1,'maxlon',106.1,'spatres',0.1);
Kode Program 2 Potongan kode sumber untuk agregasi spasial Berikut adalah penjelasan dari potongan kode diatas: a. threshold merupakan nama variabel untuk menyimpan nilai maksimal dan minimal nilai lintang dan bujur b. minlat merupakan nama variabel untuk menyimpan nilai minimal lintang c. maxlat merupakan nama variabel untuk menyimpan nilai maksimal lintang d. minlon merupakan nama variabel untuk menyimpan nilai minimal bujur e. maxlon merupakan nama variabel untuk menyimpan nilai maksimal bujur f. spatres merupakan nama variabel untuk menyimpan nilai resolusi spasial
3.8 Perancangan Fungsi Untuk Clustering dengan Fuzzy C-Means (FCM) Proses clustering dengan algoritma fuzzy c-means mengikuti langkah-langkah yang digambarkan dengan flowchart di bawah ini.
41
Gambar 18 flowchart algoritma fuzzy c-means
Berikut adalah penjelasan dari flowchart diatas: 1. Sebelum dilakukan clustering, tentukan terlebih dahulu jumlah cluster yang akan dibuat. 2. Menentukan tingkat ke-fuzzy-an. Tingkat ke-fuzzy-an dihitung merujuk pada seberapa besar kemungkinan suatu data bisa menjadi anggota ke dalam suatu cluster. 3. Menentukan cluster center. Hitung pusat Cluster ke-k: Vkj, dengan k=1,2,…c; dan j=1,2,…m.
4. Perbarui keanggotaan berdasar cluster center yang baru. 5. Bandingkan nilai keanggotan dalam matrik U, jika tidak banyak mengalami perubahan maka artinya sudah konvergen
42
dan keanggotaannya sudah maksimal. Iterasi dihentikan dan didapatkan hasil pengelompokan.
Tahapan pertama untuk melakukan spasio-temporal clustering dengan algoritma fuzzy c means adalah menentukan data masukan untuk proses clustering, jumlah cluster, options yang merupakan parameter untuk fungsi fcm yang ada di dalam toolbox matlab. Berikut akan dijelaskan bagian penting dari fungsi yang akan dibuat.
options = [2.0, 500, 1e-6,0]; no_cluster=3; %clustering dengan fcm 3 klas [center,U,obj_fcn]=fcm(datapakai,no_cluster,options);
Kode Program 3 Potongan kode sumber untuk fungsi fcm
Berikut adalah penjelasan dari potongan kode diatas: a. options merupakan parameter dalam fungsi fcm didalam toolbox matlab. Nilai 2.0 artinya nilai ambang untuk koefisien eksponen untuk partisi, 500 merupakan nilai maksimal perulangan, 1e-6 merupakan nilai ambang untuk kesalahan, dan nilai 0 menunjukkan data selam proses perulangan tidak ditampilkan. b. no_cluster merupakan jumlah cluster yang diinginkan c. center merupakan matrik cluster center hasil fungsi fcm d. U merupakan matrik keanggotan setiap profil data terhadap masing-masing cluster e. obj-fcn merupakan nilai fungsi obyektif selama proses perulangan f. datapakai merupakan nama data yang akan dilakukan proses clustering.
43
3.9 Perancangan Fungsi Untuk Visualisasi Sebaran Cluster Tahapan selanjutnya adalah melakukan visualisasi terhadap sebaran data klorofil a terhadap masing-masing cluster. Visualsisasi ini dilakukan terhadap data lintang dan data bujur, sehingga didapat pola sebaran data klorofil a. Berikut
akan dijelaskan bagian penting dari fungsi yang
dibuat. plot(datapakai(:,1), datapakai(:,2),'o'); maxU = max(U); index1 = find(U(1,:) == maxU); index2 = find(U(2, :)== maxU); index3 = find(U(3,:) == maxU); line(datapakai(index1,1),datapakai(index1,2), 'linestyle','none',... 'marker','*','color','g'); line(datapakai(index2,1),datapakai(index2,2), 'linestyle','none',... 'marker', '*','color','r'); line(datapakai(index3,1),datapakai(index3,2), 'linestyle','none',... 'marker', '*','color','y'); xlabel('Lattitude'); ylabel('Longitude');
Kode Program 4 Potongan kode sumber untuk visualisasi sebaran cluster Berikut adalah penjelasan dari potongan kode diatas: a. datapakai(:,1)merupakan
nilai
lintang
untuk
data
sebaran klorofil b. datapakai(:,2)merupakan nilai bujur untuk data sebaran klorofil c. maxU
merupakan nilai maksimal dari matrik U (matrik
keanggotaan cluster) d. index1 merupakan variabel untuk menentukan cluster 1 yang dihitung dari nilai maksimal matrik keanggotan (U) e. index2 merupakan variabel untuk menentukan cluster 2 yang dihitung dari nilai maksimal matrik keanggotan (U) f. index3 merupakan variabel untuk menentukan cluster 3 yang dihitung dari nilai maksimal matrik keanggotan (U)
44
g. line(datapakai(index1,1),datapakai(index1,2), 'linestyle','none','marker','*','color','g')
merupakan potongan kode untuk melakukan visualisasi cluster 1 terhadap lokasi geografis h. line(datapakai(index2,1),datapakai(index2,2), 'linestyle','none','marker','*','color','r')
merupakan potongan kode untuk melakukan visualisasi cluster 2 terhadap lokasi geografis i. line(datapakai(index3,1),datapakai(index31,2), 'linestyle','none','marker','*','color','y')
merupakan potongan kode untuk melakukan visualisasi cluster 3 terhadap lokasi geografis j. xlabel('Lattitude') merupakan potongan kode untuk memberi label pada sumbu x k. ylabel('Longitude') merupakan potongan kode untuk memberi label pada sumbu x
3.10
Perancangan Fungsi Untuk Clustering dengan DBSCAN Proses clustering dengan algoritma dbscan mengikuti langkah-
langkah yang digambarkan dengan flowchart di bawah ini.
Gambar 19 flowchart algoritma dbscan untuk membentuk satu cluster
45
Berikut adalah penjelasan dari flowcharts diatas: 1. Sebelum dilakukan clustering, tentukan terlebih dahulu data, nilai epsilon, dan nilai MinPts. 2. Pilih sembarang titik profil dari data. 3. Periksa apakah p merupakan core point, jika p merupakan core point maka terbentuk 1 cluster baru. 4. Jika p merupakan border point, tidak ada yang density reachable dari p, maka ambil sembarang p pada indeks berikutnya.
Tahapan implementasi algoritma DBSCAN pada penelitian ini merujuk pada pseudocode yang ada pada jurnal ilmiah A Density –Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise (Ester, Kriegel, Sander, Xu, 1996). Perbedaan dari pseudocode tersebut terletak pada penamaan fungsi dan parameter masukkan yang disesuaikan dengan penelitian ini. Pada bagian ini hanya dijelaskan bagian penting dari fungsi yang dibuat. %clustering dengan dbscan [dcluster,dsilh]=dbscancluster(datapakai,30,6);
Kode Program 5 . Potongan kode sumber clustering dengan dbscancluster Berikut adalah penjelasan dari potongan kode diatas: a. datapakai merupakan data yang akan dicluster dengan dbscan b. dcluster merupakan nilai keanggotaan untuk masingmasing baris data terhadap cluster tertentu c. dsilh merupakan nilai Silhouette Index untuk masingmasing profil. d. 30
merupakan nilai epsilon
yang dipakai. Nilai ini
menunjukkan jarak minimal data yang bertetanggan.
46
e. 6
merupakan nilai MinPts
yang dipakai. Nilai ini
menunjukkan jumlah minimal profil agar dapat dijadikan sebagai 1 cluster. Bagian dibawah ini menjelaskan sebagian fungsi dbscan yang merupakan implementasi dari algoritma expandcluster yang ada di jurnal ilmiah rujukan. Pertama-tama profil yang ada di index dimasukkan ke dalam variabel point. Kemudian dicari profil-profil lain yang density-reachable terhadap point. Jika tidak ada profil lain atau jumlah profil lain yang densityreachable tidak memenuhi MinPts, maka point bukan merupakan core point. Jika demikian, fungsi mengganti profil dengan profil yang ada di indeks berikutnya. Jika point merupakan core point, maka dibuat cluster dengan label clusterID yang berisi point tersebut dan profil lain yang densityreachable terhadap point tersebut. function[isclustered,dcluster]=dbscan(data,index,clusterId, eps,MinPts,dcluster) point=data(index,:); [row,col]=size(data); distances=euclideandistance(point(2:col),data(:,2:col)); seeds=find(distances<=eps); if length(seeds)< MinPts dcluster(index)=1; isclustered=0; else dcluster(seeds)=clusterId; seeds(seeds==0)=[]; while ~isempty(seeds) currentP=data(seeds(1),:); distances=euclideandistance(currentP(1:col),... data(:,1:col)); result=find(distances <=eps);
Kode Program 6 Potongan kode sumber fungsi dbscan