Translate

Saturday, July 16, 2016

Implementasi Perangkat Lunak

Implementasi Perangkat Lunak



Bab ini akan menguraikan tentang implementasi dari rancangan perangkat lunak yang telah dibuat. Pembahasan meliputi lingkungan implementasi perangkat lunak, implementasi proses, dan implementasi kelas.

4.1 Lingkungan Aplikasi

Lingkungan implementasi meliputi perangkat keras dan perangkat lunak yang digunakan. Spesifikasi perangkat keras dan perangkat lunak yang digunakan dalam implementasi dapat dilihat pada tabel 4.1:

Perangkat Keras
Prosesor : Intel(R) Pentium(R) 4 CPU 2.8 GHz
Memori  : 1024 MB RAM
Perangkat Lunak
Sistem Operasi                      : Microsoft Windows Server 2003
Perangkat Lunak IDE           : NetBeans 5
Komponen java                     : JFreeChart
Driver                                    :  JDBC Oracle 10G

4.2 Implementasi Data

Implementasi data merupakan bab yang menjelaskan tentang implementasi dari perancangan data yang ada pada bab 3. Seperti pada perancangan data, implementasi data dibagi menjadi 3 yaitu data masukan, data proses dan data keluaran.             

4.2.1 Data Masukan

Data masukan yang dalam bentuk teks, diproses dengan melakukan konversi ke dalam bentuk file CSV (Comma Separated Value). Data yang dikonversi adalah data yang diperlukan saja. Konversi ini dilakukan agar data dapat lebih mudah untuk dimasukkan ke dalam suatu database. Pemilihan ke dalam bentuk CSV karena data dalam bentuk seperti itu bisa dikonversi ke dalam beberapa database, artinya beberapa database mendukung bentuk tersebut dalam proses import ke database tersebut.

Data masukan yang dibutuhkan dipindahkan ke dalam database (Oracle Database 10G), dengan beberapa atribut berikut ini:


DDL (Data Definition Language) dari tabel yang akan dibuat adalah sebagai berikut:


Berikut ini adalah beberapa data setelah dilakukan pemindahan ke dalam database Oracle.


Agar efisien dalam menggunakan waktu dalam pem-filter-an data yang benar pada master data saham maka dibuat beberapa view yang hasilnya adalah data yang dibutuhkan yakni IHSG yang sesuai dengan jenis masing-masing indeks. View adalah tabel secara virtual/bayangan atau query yang tersimpan dan tidak menyimpan data secara fisik View merupakan bagian dari DDL(Data Definition Language).
View dari masing-masing jenis indeks memiliki beberapa atribut sebagai berikut:


Berikut ini adalah beberapa jenis view yang digunakan untuk masing –masing IHSG:
v  VIEW_COMP2
View ini digunakan untuk mendapatkan IHSG BEJ yang berjenis composite index .



4.2.2 Data Proses

Implementasi dari perancangan data proses adalah membuat suatu matriks untuk menampung isi dari dari data masukan setelah di proses. Data masukan diproses dengan dua tahap, yakni:
1.  Pencarian pusat klaster                 
Pusat klaster disimpan dalam sebuah matriks satu dimensi setelah proses pencarian matriks dilakukan. Matriks ini jumlah barisnya sesuai dengan jumlah klaster yang diinputkan oleh pengguna. Matriks ini dinamakan dengan clustercentroid.
2.   Pencarian derajat keanggotaan optimal
Pada tahap ini terdiri atas fase pencarian derajat keanggotaan tiap data masukan pada tiap klaster dan fase pencarian data derajat keanggotaan optimal.
           a. Fase pencarian derajat keanggotaan
Pada tahap ini, data proses hasil proses pencarian pusat klaster diolah dengan data masukan. Hasil dari proses ini dimasukkan kedalam matriks dua dimensi yang masing-masing indeksnya menunjukkan indeks dari data dan indeks dari klaster. Matriks ini berisi derajat keanggotaan tiap data pada klaster tertentu. Matriks ini diberi nama dengan matriks u1.
b.      Fase pencarian derajat keanggotaan optimal
Pada tahap ini, data hasil pada fase pencarian derajat keanggotaan optimal dicari dan disimpan dalam sebuah matriks. Matriks ini merupakan matriks satu dimensi yang isinya adalah indeks dari klaster yang derajatnya optimal.

4.2.3 Data Keluaran

Data keluaran adalah informasi yang dihasilkan oleh perangkat lunak untuk pengguna. Data yang sudah terproses sehingga mendapatkan keanggotaan pada klaster tertertentu dibuat tampilan grafiknya dengan warna yang berbeda untuk tiap klaster. Hal ini ada pada metode createDataset yang berisi filtering untuk membedakan tiap klaster.

4.3 Implementasi Proses

            Sub bab ini menjelaskan tentang implementasi dari perancangan proses yang ada pada bab 3.

4.3.1 Fase Preprocessing

             Fase ini merupakan fase dimana pengguna melakukan input ke aplikasi. Input dari pengguna perlu dilakukan suatu filter  sesuai dengan yang disyaratkan oleh algoritme pengklasteran Fuzzy C-Means. Berikut ini adalah kode program dari persyaratan input:

Fase ini juga melakukan proses pengambilan data masukan dari database sesuai dengan jenis indeks. Pengambilan melalui database dengan menggunakan koneksi langsung dengan komponen yang disediakan oleh Oracle yakni Oracle Data Source. ConnectDbFix adalah kelas yang berisi koneksi dan pengambilan data dari database. Kode program pengaksesan dari proses ini adalah sebagai berikut:


4.3.2 Fase Proses Klasterisasi                              

            Pada fase proses klasterisasi terdapat beberapa tahap yang sudah dijelaskan pada bab perancangan perangkat lunak. Berikut ini adalah beberapa kode program yang mencerminkan tahap perancangan tersebut.

4.3.2.1 Proses Generate Data Input                    

            Berikut ini adalah kode program untuk mendapatkan nilai random yang dipersyaratkan oleh metode pengklasteran Fuzzy C-Means. Kode program ini menggunakan kelas random yang sudah tersedia.


4.3.2.2 Komputasi Pusat Klaster

            Berikut ini adalah kode program untuk mendapatkan pusat klaster seperti pada rumus pengklasteran dengan Fuzzy C-Means.



4.3.2.3 Komputasi Derajat Keanggotaan

            Derajat keanggotaan tiap data perlu untuk dihitung nilainya untuk masing-masing klaster. Tiap data selalu melakukan update derajat keanggotaan hingga kondisi pemberhentian terpenuhi. Berikut ini adalah kode program dari rumus mendapatkan derajat keanggotaan data pada masing-masing klaster.


4.3.2.4 Fase Pemberhentian

            Berikut ini adalah kode program dari fase pemberhentian seperti yang dijelaskan pada bab sebelumnya.



4.3.3 Fase Pencarian Derajat Keanggotaan Optimal

            Fase ini adalah fase untuk mendapatkan data dengan derajat keanggotaan optimal. Berikut ini adalah kode program dari fase ini. Pada fase ini dilakukan sebuah algoritme perbandingan. Algoritme ini melakukan seleksi terhadap data pada suatu matriks yang memiliki derajat keanggotaan paling tinggi. Jikalau derajat keanggotaan paling tinggi didapatkan maka indeks matriks dari klaster akan disimpan sebagai nilai pengembaliannya. Nilai pengembalian ini yang berguna untuk proses selanjutnya.




4.3.4 Fase Pengelompokkan Berdasarkan Klaster

            Kode program untuk mengelompokkan data berdasarkan klasternya adalah sebagai berikut:


4.3.5 Fase Pembuatan Grafik

            Ada beberapa grafik dalam aplikasi pada Tugas Akhir ini. Masing-masing akan dijelaskan berikut ini.

4.3.5.1 Kelas hariFrame

            Kelas hariFrame berfungsi untuk menampilkan data hasil dari klasterisasi. Kelas ini akan menampilkan derajat keangotaan masing-masing data yang sudah terklaster beserta tanggal.


4.3.5.2 Kelas chartFrame

Kelas chartFrame berfungsi untuk menampilkan grafik dari data IHSG BEJ yang masih belum terklaster. Kelas ini terdiri dari 3 hal utama, yakni:
v  createDataSet: untuk menampung data yang akan digunakan.
v  createChart: untuk membuat grafik dari data yang tertampung dalam DataSet.
v  createDemoPanel: sebagai tempat dari grafiknya.



4.3.5.3 Kelas markerFrame

            Kelas markerFrame berfungsi untuk menampilkan grafik dari data-data IHSG BEJ yang telah terklaster. Kelas ini memiliki 3 hal utama yang sama dengan kelas chartFrame. Hanya bedanya adalah terletak pada marker. Marker ini digunakan sebagai pembeda antara klaster satu dengan yang lainnya. Hal ini untuk memudahkan pengguna agar bisa melihat informasi secara jelas. Berikut ini adalah implementasi dari kelas markerFrame dalam Java.


4.3.5.4 Kelas MbfFrame                                        

            Kelas MbfFrame ini berfungsi untuk menampilkan derajat keanggotaan masing-masing IHSG BEJ secara detil dan menyeluruh. Kelas ini sekilas sama dengan hariFrame, akan tetapi sebenarnya berbeda. Bedanya terletak pada jumlah derajat keanggotaan masing-masing IHSG BEJ. Kelas ini akan menampilkan derajat keanggotaan dari IHSG BEJ dari masing-masing klaster, sedangkan hariFrame hanya menampilkan derajat keanggotaan yang paling besar saja

4.3.5.5 Kelas degreeFrame

            Kelas degreeFrame digunakan untuk menampilkan grafik dari data-data derajat keanggotaan dari masing-masing IHSG BEJ pada tiap-tiap klaster. Dengan menggunakan kelas ini, bisa dilihat derajat keanggotaan masing-masing IHSG BEJ.





No comments:

Post a Comment

silahkan membaca dan berkomentar