BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Sejarah Perusahaan Dibukanya Terusan Suez bagi pelayaran membawa pengaruh terhadap meningkatnya arus kunjungan kapal ke Indonesia yang pada saat itu menjadi jajahan Kerajaan Belanda. Pelabuhan Sunda Kelapa merupakan Pelabuhan Utama pada masa itu, tidak mampu lagi menampung kapal-kapal niaga yang berkunjung ke pelabuhan tersebut. M engingat
Pelabuhan
Sunda Kelapa tidak
memungkinkan
lagi untuk
dikembangkan, maka Pemerintah Hindia Belanda mengambil keputusan untuk membangun pelabuhan baru di sebelah timur Pelabuhan Sunda Kelapa dan pelabuhan ini dikenal dengan nama Pelabuhan Tanjung Priok. Setelah Negara Republik Indonesia diproklamasikan, maka pembangunan Pelabuhan Tanjung Priok, dilanjutkan oleh Pemerintah Indonesia, diantaranya pembangunan dermaga kolam Nusantara I untuk kegiatan bongkar muat kapal-kapal antar pulau. Sejak berdirinya, PT. (Persero) Pelabuhan Indonesia II dengan berkantor pusat di Jakarta, dan memiliki 14 cabang pelabuhan dan unit usaha serta 6 pelabuhan kawasan (tambahan) yang tersebar di 8 (delapan) propinsi, salah satu diantaranya adalah Cabang
59
60 Pelabuhan Tanjung Priok sebagai pelabuhan kelas utama. Adapun bidang usaha dari PT. Pelabuhan Indonesia II adalah :
Gambar 3.1 Bidang Usaha PT.(Persero) Pelabuhan Indonesia II Kronologi Perkembangan Status Badan Hukum Pengelolaan Pelabuhan Periode 1960 – 1963 Pengelolaan pelabuhan umum di lakukan oleh Perusahaan Negara (PN) Pelabuhan 1s/d VIII berdasarkan Undang-undang Nomor: 19 prp tahun 1960. Periode 1964 – 1969 Aspek kormesil dari pengelolan pelabuhan tetap dilakukan oleh PN Pelabuhan, tetapi kegiatan dikoordinasikan oleh lembaga pemerintah yang disebut Port Authority.
61 Periode 1969 –1983 Pengelolan pelabuhan umum dilakuan oleh Badan Pengusahaan Pelabuhan (BPP) berdasarkan Peraturan Pemerintah Nomor 18 tahun 1969. PN Pelabuhan dibubarkan dan lembaga pemerintah Port Authority diganti menjadi BPP Periode 1983 – 1992 Pengelolaan Pelabuhan umum yang diusahakan dilakukan oleh Perusahaan Umum (Perum) Pelabuhan berdasarkan Peraturan Pemerintah Nomor 11 tahun 1983. Periode 1992 – Maret 1999 Status Perum Pelabuhan II berubah PT. (Persero) Pelabuhan II sesuai Peraturan Pemerintah Nomor 57 tahun 1991 tanggal 19 Oktober 1991 dan dikukuhkan dengan Akte Pendirian Perusahaan Nomor 3 Notaris Imas Fatimah Sarjana Hukum di Jakarta pada tanggal 1 Desember 1999
62 3.2 S truktur Organisasi Perusahaan S truktur Organisasi PT.(Persero) Pelabuhan Indonesia II
Gambar 3.2 Struktur Organisasi PT.(Persero) Pelabuhan Indonesia II
63
Gambar 3.3 Struktur Organisasi Sub Divisi Sistem Informasi PT. (Persero) Pelabuhan Indonesia II Pembagian Tugas, Tanggung Jawab dan Wewenang 1. Asisten Manager Sistem Informasi •
Fungsi Pembantu Manager Pelayanan Pelanggan dalam mengkoordinir pelaksanaan program kerja bidang perawatan dan pengembangan, pemeliharaan, dan pengoperasian sistem informasi.
•
Tugas: Mengkoordinasikan, meneliti, dan merekomendasikan:
64 1. Perencanaan, pengembangan, dan perekayasaan sistem, program aplikasi dan jaringan komputer 2. Perencanaan pengoperasian, pengendalian
dan pemeliharaan
sistem
informasi 3. Pembuatan kajian yang berkaitan dengan pelaksanaan program kerja pengoperasian sistem informasi serta menyiapkan dan menyusun laporan sebagai gambaran pelaksanaan pekerjaan 4. Pelaporan pelaksanaan kegiatan bidang sistem informasi 5. Pengelolaan kegiatan pemasaran yang terkait dengan ruang lingkup tugasnya •
Wewenang: 1. Mengembangkan, menerapkan, memantau, menilai efektivitas, serta merumuskan usulan perubahan sistem dan prosedur bidang sistem informasi dalam rangka peningkatan efisiensi pelaksanaan tugas satuan kerja yang dipimpinnya 2. Memeriksa pelaksanaan kegiatan bidang sistem informasi 3. Membagi tugas kepada para supervisor dan staf di bawah koordinasinya
2. S taf Pemeliharaan dan Pengembangan Sistem Senior/Junior •
Fungsi Pelaksana analisis dan evaluasi program kerja bidang pengembangan dan pemeliharaan sistem
•
Tugas: 1. M erencanakan pengembangan dan pemeliharaan sistem informasi
65 2. M elaksanakan
inventarisasi,
analisa
dan
evaluasi
permasalahan
pelaksanaan bidang kerja pengembangan dan pemeliharaan sistem 3. M enganalisis dan mengevaluasi pengembangan dan pemeliharaan sistem informasi 4. M enyusun RKAP Sub Divisi Sistem Informasi 5. M elaksanakan tugas-tugas terkait yang diberikan oleh atasan •
Wewenang: Tidak ada wewenang pada jabatan ini
3. Supervisor Dukungan Sistem •
Fungsi Koordinator dan pengawas pelaksanaan teknis bidang dukungan sistem
•
Tugas: 1. M erencanakan pengadaan, pemeliharaan, perawatan perangkat keras dan sistem jaringan komputer 2. M enganalisa dan mengevaluasi penerapan perangkat keras komputer pada sistem manajemen terpadu 3. M engawasi dan memantau pemeliharaan dan perawatan perangkat keras dan sistem jaringan komputer 4. M engawasi atau memantau pelaksanaan pembangunan program aplikasi komputer 5. M elaksanakan tugas-tugas terkait yang diberikan oleh atasan
66 •
Wewenang: Tidak ada wewenang pada jabatan ini
4. Supervisor/S taf Pengoperasian Sistem •
Fungsi Koordinator dan pengawas pelaksana teknis bidang pengoperasian sistem
•
Tugas: 1. M enganalisis dan mengevaluasi penerapan dan pengoperasian perangkat lunak komputer 2. M enganalisis dan mengevaluasi sistem otorisasi pada aplikasi SIM terpadu 3. M engawasi atau memantau pengguna otorisasi pada aplikasi SIM terpadu 4. M erencanakan pembangunan perangkat lunak komputer 5. M engkoordinasikan pelaksanaan implementasi pelaksanaan SIM terpadu 6. M engawasi atau memantau pelaksanaan penyusunan data operasional 7. mengkoordinasikan pelaksanaan administrasi dan ketatausahaan Sub Divisi Sistem Informasi 8. M elaksanakan tugas-tugas terkait yang diberikan oleh atasan
•
Wewenang Tidak ada wewenang pada jabatan ini
67 5. S taf Programer •
Fungsi Pelaksana analisis dan evaluasi program kerja bidang programer
•
Tugas: 1. M enganalisa kebutuhan pembangunan perangkat lunak komputer dan sistem jaringan 2. M engevaluasi penerapan perangkat lunak komputer 3. M engkoordinasikan pemeliharaan perangkat lunak computer dan sistem jaringan 4. M elaksanakan tugas-tugas terkait yang diberikan oleh atasan
•
Wewenang Tidak ada wewenang pada jabatan ini
6. Pelaksana Programer •
Fungsi Pelaksana kegiatan program kerja bidang programer
•
Tugas: 1. M enyusun pembangunan perangkat lunak komputer 2. M endokumentasikan perangkat lunak komputer 3. M elaksanakan back up data dan program aplikasi 4. M elaksanakan tugas-tugas terkait yang diberikan oleh atasan
•
Wewenang Tidak ada wewenang pada jabatan ini
68 7. Pelaksana Dukungan Sistem Senior/Junior •
Fungsi Pelaksana kegiatan program kerja bidang dukungan sistem
•
Tugas 1. M enyiapkan perangkat keras sistem jaringan komunikasi komputer 2. M elaksanakan penerapan perangkat keras komputer dan sistem jaringan komunikasi komputer 3. M elaksanakan pemeliharaan dan perawatan perangkat keras komputer dan sistem jaringan komunikasi komputer 4. M endokumentasikan perawatan perangkat keras komputer dan sistem jaringan komunikasi computer 5. M elaksanakan tugas-tugas terkait yang diberikan oleh atasan
•
Wewenang Tidak ada wewenang pada jabatan ini
3.3 Analisis Sistem yang Sedang Berjalan 3.3.1 Sistem yang Sedang Berjalan PT.(persero) Pelabuhan Indonesia II adalah sebuah perusahaan yang bergerak di bidang jasa perpelabuhan, dalam arti mengatur segala kegiatan yang terjadi pada pelabuhan Tanjung Priok, Jakarta. Karena PT.(persero) Pelabuhan Indonesia II mempunyai beberapa pos-pos perwakilan yang tersebar di sepanjan g pelabuhan Tanjung Priok, mereka membutuhkan sebuah divisi untuk dapat mengatur penggunaan jaringan komputer demi mendukung kegiatan operasional
69 sehari-hari. Bagian tersebut adalah divisi Sistem Informasi. Sejak didirikan pada tahun 1997, divisi Sistem Informasi ini telah merancang dan membuat serta menjaga jaringan pada PT.(persero) Pelabuhan Indonesia II selalu berada pada kondisi yang baik untuk mendukung kegiatan operasional sehari-hari. Skema jaringan yang dirancang oleh divisi Sistem Informasi sampai pada tahun 2005 ini dapat dilihat pada skema berikut :
70
Gambar 3.4 Skema Jaringan PT.(persero) Pelabuhan Indonesia II
Saat ini divisi Sistem Informasi pada PT.(persero) Pelabuhan Indonesia II bertugas mengawasi jaringan yang terhubung di LAN Priok yang terdistribusi ke
71 3 LAN, yang masing-masing terdiri dari LAN 0 Priok, LAN 1 Priok dan LAN 2 Priok.
Gambar 3.5 Skema jaringan LAN Priok
LAN 0 Priok terdiri dari dumb-dumb terminal yang masing-masing terminalnya terhubung ke satu DTC. Jumlah DTC yang beroperasional pada LAN 0 ini berjumlah 5 DTC yang masing-masing memiliki 16 port yang terhubung ke dumb terminal. Total terminal yang beroperasi sebanyak 54 terminal. Pada dumb terminal ini hanya tersedia aplikasi layanan untuk memantau kegiatan transaksi yang terjadi pada PT.(persero) Pelabuhan Indonesia II. Dan untuk dapat mengaksesnya, diperlukan authentifikasi dari user yang bersangkutan, sehingga
72 hanya user yang bersangkutan saja yang dapat mengaksesnya.
Penggunaan
Dumb Terminal saat ini sudah sangat jarang dipakai pada perusahaan-perusahaan besar, apalagi bagi perusahaan sebesar PT.(persero) Pelabuhan Indonesia II, Dumb Terminal sudah tidak layak digunakan karena tidak efektif untuk membantu meningkatkan kinerja jaringan. LAN 1 Priok terdiri dari PC Client yang terhubung ke Cisco Catalyst 2950. Total client yang beroperasi sebanyak 169 client. Pada masing-masin g client ini dapat diakses segala data-data yang berhubungan dengan transaksi yang terjadi di pelabuhan, user dapat meng-input data mengenai kapal yang akan atau telah berlabuh pada dermaga, jumlah persediaan barang di gudang,dan lain-lain. Serta dapat pula meng-update informasi sesuai dengan data yang masuk dan menghapus informasi-informasi yang invalid. Sama seperti pada LAN 0, diperlukan pula authentifikasi untuk mengoperasikan tiap-tiap client tersebut. Jenis hak aksesnya pun berbeda-beda antara user yang satu dengan yang lainnya. Pada bagian ujung dari jaringan dari PT.(persero) Pelabuhan Indonesia II terdapat pula firewall yang berfungsi untuk melakukan filtering terhadap paketpaket data yang akan masuk ke dalam jaringan maupun yang keluar dari jaringan. Di firewall ini juga terdapat Network Address Translation (NAT) yang akan mengubah IP public yang berasal dari internet menjadi IP lokal yang kemudian akan digunakan pada internal jaringan. PT.(persero) Pelabuhan Indonesia II ini juga menggunakan fasilitas web server (www.inaport2.co.id) yang langsung terhubung ke LAN Pusat dan LAN Priok. Pada LAN Priok terdapat beberapa server yang mendukung kegiatan operasional perusahaan seperti server induk yang berfungsi sebagai server pusat bagi LAN 0 dan LAN 1, gateway server
73 yang didalamnya terdapat database dari klien-klien PT. Pelabuhan Indonesia II yang akan mengajukan Permintaan Pelayanan Kapal & Barang (PPKB) via hunting, TO server yang juga sebagai database dari klien-klien yang akan mengajukan PPKB via dialup, Priok server sebagai anti-virus server dan application server, serta MMR server yang digunakan untuk menyimpan datadata transaksi yang terjadi per bulan yang nantinya akan digunakan sebagai acuan untuk membuat laporan tiap bulannya.
Gambar 3.6 Skema jaringan server pada PT.(persero) Pelabuhan Indonesia II
Dengan kondisi jaringan yang cukup besar dan kompleks, PT. (Persero) Pelabuhan Indonesia II membutuhkan suatu sistem pemantauan jaringan yang reliabel, agar dapat memantau setiap client-client yang beroperasi agar jika terjadi kerusakan
74 yang akan menggangu kinerja jaringan dapat segera diatasi. Karena selama ini, membutuhkan waktu satu sampai dua jam bagi seorang administrator untuk mengetahui secara pasti apabila terjadi kondisi kritis ataupun kerusakan pada client. Selain itu perusahaan juga membutuhkan suatu sistem inventory yang dapat menyajikan informasi detail dari setiap workstation yang terkoneksi dalam jaringan, untuk memudahkan apabila di masa mendatang akan melakukan upgrade hardware.
3.3.2 Analisa Permasalahan PT. (Persero) Pelabuhan Indonesia II sebagai perusahaan yang bergerak di bidang jasa transportasi dan pelayanan kapal di pelabuhan harus selalu siap untuk melayani permintaan dari kapal-kapal yang berlabuh dalam kegiatan operasionalnya sehari-hari. Dimana untuk memudahkan kegiatan tersebut PT. (Persero) Pelabuhan Indonesia II membutuhkan sistem informasi. Berhubungan dengan hal ini, Sub Divisi Sistem Informasi harus selalu menjaga dan memastikan kondisi jaringan yang sedang beroperasi agar selalu dalam kondisi yang baik dan siap pakai setiap saat. Selain dari mendukung kegiatan operasional sehari-hari, juga harus diperhatikan pula mengenai performa dari komponen-komponen pada jaringan tersebut. Dikarenakan oleh hal ini, maka sudah sepantasnya dibutuhkan suatu sistem yang dapat memantau kondisi jaringan pada perusahaan. Sistem Network Hardware Monitoring yang saat ini akan dikembangkan dan diimplementasikan akan sangat membantu meningkatkan kinerja dan efisiensi dari jaringan serta membantu seorang Network Administrator
dalam mengelola kegiatan
operasional jaringan sehari-hari maupun di masa yang akan datang. Sebelum
75 diimplementasikannya sistem Network Hardware Monitoring ini, sistem jaringan yang ada masih memiliki beberapa kendala sebagai berikut :
1. Tidak adanya sistem monitoring. Sistem jaringan yang saat ini berjalan tidak memiliki sistem network monitoring, baik itu berfungsi untuk memantau kondisi dari client-client yang sedang beroperasi maupun sistem monitoring yang lebih spesifik seperti hardware monitoring. Apabila terjadi kerusakan, akan sangat sukar untuk diketahuinya.
Gambar 3.7 Sistem M onitoring
2. Slow Response Time. Karena letaknya yang relatif berjauhan, apabila terjadi kerusakan pada komputer, akan membutuhkan waktu yang lama untuk mengambil tindakan. Sehingga proses recovery akan sangat memakan waktu.
76
3. Kemampuan kinerja dari client kurang optimal. Hal ini disebabkan oleh tidak atau lambat diketahuinya bila ada semacam gangguan atau kerusakan yang akan menghambat proses.
4. Tidak adanya Sistem Inventory. Karena banyaknya komputer yang dimiliki, dan masing-masing dari komputer tersebut memiliki spesifikasi hardware yang berbeda, akan menyulitkan administrator dalam melakukan identifikasi hardware dari setiap komputer dalam jaringan tersebut.
5. Tingkat Adaptability yang rendah. Sistem jaringan yang ada sekarang ini akan sangat sukar diintegrasikan ke sistem yang akan dirancang dikarenakan tidak terpantaunya kondisi jaringan secara detil serta sumber daya perangkat keras yang sudah tidak mendukung.
3.3.3 Analisa Sistem Solusi Berdasarkan dari hasil analisa permasalahan yang ada dan analisa sistem yang berjalan, maka diperlukan beberapa solusi untuk meningkatkan kinerja dan kehandalan dari sistem jaringan pada PT. Pelabuhan Indonesia II. Beberapa cara yang dapat ditempuh antara lain :
1.
Meng-upgrade sumber daya perangkat keras yang sudah ada. Performa dari jaringan dapat ditingkatkan dengan cara mengganti atau
upgrade sumber daya yang saat ini sudah tersedia. Dumb terminal dapat diganti
77 menjadi PC Workstation sehingga dapat memaksimalkan fungsi operasionalnya. M enempatkan server-server backup untuk mendukung proses. Cara ini kurang tepat karena membutuhkan biaya yang tinggi untuk membeli unit-unit baru yang mendukung.
2.
Merancang suatu sistem untuk memantau sumber daya yang ada. Diperlukan suatu sistem untuk mengetahui kondisi fisik dari client-client
yang beroperasi secara berkala, seperti berapa tegangan yang tersedia, status dari suhu prosesor yang bekerja, serta tingkat putaran kipas baik dari sistem maupun prosesor. Selain dari itu juga dibutuhkan penambahan fungsi lain yang mendukung dan dibutuhkanseperti sistem informasi dari setiap client, fitur aler t dari setiap client apabila mengalami keadaan kritis, fasilitas mencetak hasil laporan (statistik) harian kondisi dari client, penyajian tampilan secara grafik yang membantu administrator dalam membuat keputusan, layanan mengirim pesan dari server kepada client, serta fungsi remote shutdown maupun restart terhadap client dari server. Sehingga kinerja keseluruhan dari suatu jaringan dapat terus diketahui. Cara ini tepat digunakan karena sangat berguna untuk memantau jaringan secara fisik, tidak “memakan” bandwidth besar dalam prosesnya serta membantu seorang network administrator dalam mengambil keputusan.
Untuk itu diperlukan
beberapa kriteria dari sistem yang baru tersebut agar dapat bekerja dengan baik, antara lain sebagai berikut :
78 •
Functionality—Jaringan tersebut haruslah dapat bekerja dengan baik, dapat menyediakan hubungan antara user to user dan user to application dengan kecepatan dan reliabilitas yang memadai.
•
Scalability— Sistem harus dapat mendukung jikalau pada waktu yang akan datang nanti jaringan tersebut berkembang semakin luas.
•
Adaptability— Sistem
yang
diimplementasikan
juga
harus
sesuai
(compatible) dan mendukung perangkat-perangkat teknologi jaringan yang tersedia di pasaran. •
Manageability—Sistem dioperasikan
dari
jaringan
dan manageable untuk
harus diatur
dapat
mudah
untuk
serta mudah
untuk
memantaunya.
3.3.4 Perancangan sistem solusi Sistem solusi yang dibuat merupakan sistem baru yang dirancang dengan menggunakan dua buah komputer berbasiskan sistem operasi M icrosoft Windows. Sistem solusi yang dibuat menggunakan arsitektur client-server dengan socket programming khususnya datagram socket yang membuka port baru diatas 1024 sebagai implementasi konektivitas dari sistem. M odul program dibuat menggunakan bahasa pemrograman Java dengan Java Runtime Environment versi 1.5 sebagai runtime library. M odul program yang dibuat terdiri dari Server dan Client sebagai implementasi dari arsitektur client-server. Client bertindak sebagai agent yang betugas mengirim data yang diambil dari program monitor hardware stand-alone yaitu Motherboard Monitor kemudiam membungkusnya dalam bentuk packet siap kirim ke Server. Server kemudian
79 menerima packet yang diolah menjadi bentuk tampilan up-to-date ke layar berupa tabel. Setiap packet yang diterima diolah dalam thread terpisah sehingga meningkatkan process-time dari setiap packet yang diterima serta efisiensi dari proses penerimaan packet UDP yang connectionless, terutama pada traffic jaringan yang padat. Pada modul program Client data yang diterima dalam bentuk tabel log diproses menjadi packet dengan pola tertentu serta ukuran yang relatif kecil yaitu sekitar 56 bytes kemudian kemudian dilakukan pengecekan
apakah packet sama dengan packet yang terakhir
dikirim ke Server, jika tidak sama maka akan dilakukan pengiriman sebagai update status dari Client. Packet yang diterima oleh Server dipisahkan kedalam buffer sementara kemudian ditampilkan ke dalam bentuk tabel, buffer juga digunakan dalam proses pembuatan log dengan menuliskannya ke file stream. M odul program Client juga menerima command dari Server seperti command shutdown dan restart.
56 byte
header#case#cpu#core#+3.3#+5#+12#fan speed Gambar 3.8 Format data yang dikirim ke Server
Elemen Header
Keterangan String yang membedakan tipe dari data yang di kirim ke Server
Case
Nilai derajat temperatur case
80 Cpu
Nilai derajat temperatur cpu
Core
Nilai voltase core
+3.3
Nilai voltase +3.3
+5
Nilai voltase +5
+12
Nilai voltase +12
fan speed
Nilai RPM fan cpu
#
Pemisah antar data Tabel 3.1 Keterangan format data
header#command Gambar 3.9 Format perintah yang dikirim ke Client
Elemen Header
Keterangan String yang membedakan tipe dari data yang di kirim ke Client
Command
String perintah yang akan di jalankan di Client
#
Pemisah antar data Tabel 3.2 Keterangan format perintah yang dikirim ke Client
81
Gambar 3.10 M odel Sistem Solusi
3.4 Perancangan Fitur Sistem S olusi Sistem baru yang dirancang memiliki beberapa fitur sebagai berikut :
1. Hardware Monitoring Fitur
Hardware Monitoring ini digunakan untuk memonitor atau memantau
penggunaan memory yang digunakan, pemakaian processor, suhu processor, tegangan listrik (volt) yang mengalir dalam sistem, serta kecepatan putaran kipas (fan) setiap client yang terhubung dalam jaringan tersebut. Hardware Monitoring ini dapat disajikan dalam bentuk angka (numeric) yang menunjukkan nilai diperoleh saat itu dan atau
82 bentuk grafik yang menunjukkan rata-rata nilai yang diperoleh dalam kurun waktu tertentu sehingga Administrator dapat dengan mudah mengetahui kondisi dari tiap-tiap client. Seperti sudah disebutkan sebelumnya, hal-hal yang dapat dilihat pada Hardware Monitoring adalah sebagai berikut : •
Suhu CPU ----- M enunjukkan nilai suhu dari processor client dalam derajat celcius (°C) yang di-update setiap kali terjadi perubahan baik itu kenaikan ataupun penurunan suhu.
•
Pemakaian CPU (CPU Usage) ----- M enampilkan persentase pemakaian processor dalam kurun waktu tertentu.
•
Penggunaan M emory ----- M enginformasikan tentang total memory yang tersedia secara keseluruhan dan yang berapa besar yang digunakan.
•
Tegangan Listrik (volt) ----- M enampilkan nilai tegangan listrik yang mengalir dalam sistem dalam volt satuan.
•
Putaran kipas (fan) ----- M enunjukkan jumlah putaran dari kipas baik itu pada CPU ataupun dalam sistem secara berkala tiap menit (RPM ).
2. Password Authentication Sistem juga dilengkapi dengan sistem autentifikasi dengan menggunakan password. Hal ini dimaksudkan agar hanya pengguna yang mempunyai hak akses saja (seperti Administrator) yang berhak menggunakan sistem tersebut. Dengan demikian tingkat keamanan dapat terjamin dan seorang Administrator dapat bertanggung jawab penuh terhadap kondisi jaringan tersebut.
83
Gambar 3. 11 Password Authentication
3. System Information Sesuai dengan namanya, fitur ini berfungsi untuk menampilkan berbagai informasi yang dibutuhkan menyangkut sistem yang sedang berjalan pada masingmasing client seperti system summary, komponen-komponen yang terhubung, aplikasiaplikasi yang berjalan pada client tersebut.
4. Hardware Monitoring Alert Fitur ini berupa peringatan (warning) dari client yang akan dikirim ke server jika suhu prosesor pada client tersebut telah melampaui batas normal. Peringatan ini sifatnya
84 tidak dikirim secara rutin, hanya jika terdapat processor yang suhunya sudah terlalu tinggi. Tujuannya adalah agar pengguna dapat mengetahui secara langsung permasalahan yang terjadi dan dapat dilakukan tindakan / antisipasi lebih dini.
5. Summary Report M enunjukkan laporan harian dari hasil pemantauan suhu CPU, pemakaian CPU, penggunaan memory, tegangan listrik, putaran kipas rata-rata per hari. Laporan ini dapat ditampilkan sewaktu-waktu jika dibutuhkan ataupun disimpan ke dalam database (history). M aksud dari dibuatnya fitur summary report ini agar pengguna dapat mempunyai data-data dari rata-rata harian hasil pemantauan hardware yang nantinya dapat digunakan sebagai masukan dalam pengambilan keputusan.
6. Graphical View Fitur ini dibuat dengan tujuan agar pengguna melihat status nilai-nilai dari tabel tersebut untuk diterjemahkan ke dalam bentuk grafik sehingga dapat dilihat dan dibandingkan perkembangannya (history) dari hari ke hari. Ini akan sangat memudahkan seorang administrator dalam membantu mengambil keputusan.
7. Message Service Fasilitas ini berupa layanan pengiriman pesan (Send Message) dari server ke client. Tujuannya adalah agar seorang Administrator dapat mengirimkan pesan kepada pengguna yang berada pada client tertentu dalam hal ini adalah bahwa client tersebut berada dalam kondisi yang kritis dan harus segera dilakukan tindakan lebih lanjut agar tidak terjadi kerusakan.
85
Gambar 3.12 Message Service
8. Shutdown dan Restart Client Fitur ini dapat melakukan prosedur shutdown maupun restart terhadap client yang dianggap
bermasalah. Tujuannya adalah agar dapat dilakukan tindakan
pengamanan secara langsung pada saat diketahui adanya masalah sehingga kerusakan lebih lanjut dapat dicegah atau diperkecil.
86 3.5 Perancangan S tate Transition Diagram 1. Server •
Perancangan S tate Transition Diagram Menu Utama
Gambar 3.13 State Transition Diagram M enu Utama
87 •
Perancangan S tate Transition Diagram Menu Server
Gambar 3.14 State Transition Diagram M enu Server
88 •
Perancangan S tate Transition Diagram Menu Edit
Gambar 3.15 State Transition Diagram M enu Edit
89 •
Perancangan S tate Transition Diagram Menu Help
Gambar 3.16 State Transition Diagram M enu Help
90 2. Client •
Perancangan S tate Transition Diagram Menu Agent
Gambar 3.17 State Transition Diagram M enu Agent
91 •
Perancangan S tate Transition Diagram Menu Help
Gambar 3.18 State Transition Diagram M enu Help
92 3.6 Perancangan Unified Modelling Language (UML) -Perancangan Diagram Use Case
Gambar 3.19 Diagram Use Case
93 -Perancangan Diagram Kelas (Class Diagram) Server
Gambar 3.20 Diagram Kelas (Class Diagram) Server
94 -Perancangan Diagram Kelas (Class Diagram) Client
Gambar 3.21 Diagram Kelas (Class Diagram) Client
95 -
Daftar Kelas Server (Class Server)
Gambar 3.22 Daftar Kelas Server
96
Gambar 3.23 Daftar Kelas Server (lanjutan)
97
Gambar 3.24 Daftar Kelas Server (lanjutan)
98 -
Daftar Kelas Client (Class Client)
Gambar 3.25 Daftar Kelas Client
99 -
Perancangan Diagram S ekuensial (Sequence Diagram) Autentikasi
Gambar 3.26 Diagram Sekuensial (Sequence Diagram) Autentikasi
100 - Perancangan Diagram S ekuensial (Sequence Diagram) Start
Gambar 3.27 Diagram Sekuensial (Sequence Diagram) Start
101 - Perancangan Diagram S ekuensial (Sequence Diagram) Stop
Gambar 3.28 Diagram Sekuensial (Sequence Diagram) Stop
102 -
Perancangan Diagram S ekuensial (Sequence Diagram) Print Report
Gambar 3.29 Diagram Sekuensial (Sequence Diagram) Print Report
103 -
Perancangan Diagram S ekuensial (Sequence Diagram) View Console
: ServerGUI
Gambar 3.30 Diagram Sekuensial (Sequence Diagram) View Console
104 -
Perancangan Diagram S ekuensial (Sequence Diagram) Exit
: ServerGUI
Gambar 3.31 Diagram Sekuensial (Sequence Diagram) Exit
105 -
Perancangan Diagram S ekuensial (Sequence Diagram) About
: ServerGUI
Gambar 3.32 Diagram Sekuensial (Sequence Diagram) About
106 - Perancangan Diagram S ekuensial (Sequence Diagram)Help Contents
: ServerGUI
Gambar 3.33 Diagram Sekuensial (Sequence Diagram) Help Contents
- Perancangan Diagram S ekuensial (Sequence Diagram) Refresh
Gambar 3.34 Diagram Sekuensial (Sequence Diagram) Refresh
107 - Perancangan Diagram S ekuensial (Sequence Diagram) Find Client
Gambar 3.35 Diagram Sekuensial (Sequence Diagram) Find Client
- Perancangan Diagram S ekuensial (Sequence Diagram) View Graph
Gambar 3.36 Diagram Sekuensial (Sequence Diagram) View Graph
108 - Perancangan Diagram S ekuensial (Sequence Diagram) View System Details
Gambar 3.37 Diagram Sekuensial (Sequence Diagram) View System Details - Perancangan Diagram S ekuensial (Sequence Diagram) Send Message
Gambar 3.38 Diagram Sekuensial (Sequence Diagram) Send Message
109 - Perancangan Diagram S ekuensial (Sequence Diagram) Shutdown
Gambar 3.39 Diagram Sekuensial (Sequence Diagram) Shutdown
110 - Perancangan Diagram S ekuensial (Sequence Diagram) Restart
Gambar 3.40 Diagram Sekuensial (Sequence Diagram) Restart
111 3.7 Perancangan Layar 1. Perancangan Layar Server •
Rancangan Layar Halaman Login
Gambar 3.41 Rancangan Layar Halaman Login
112 •
Rancangan Layar Halaman Utama
Gambar 3.42 Rancangan Layar Halaman Utama
113 •
Rancangan Layar Halaman Invalid Login
Gambar 3.43 Rancangan Layar Halaman Invalid Login
•
Rancangan Layar Halaman Server
Gambar 3.44 Rancangan Layar Halaman Server
114 •
Rancangan Layar Halaman Edit
Gambar 3.45 Rancangan Layar Halaman Edit
115 •
Rancangan Layar Halaman Help
Gambar 3.46 Rancangan Layar Halaman Help
116 •
Rancangan Layar Halaman Print Report
Gambar 3.47 Rancangan Layar Halaman Print Report
•
Rancangan Layar Halaman View Console
Gambar 3.48 Rancangan Layar Halaman View Console
117 •
Rancangan Layar Halaman Find Client
Gambar 3.49 Rancangan Layar Halaman Find Client
•
Rancangan Layar Halaman About
Gambar 3.50 Rancangan Layar Halaman About
118 •
Rancangan Layar Halaman Help Contents
Gambar 3.51 Rancangan Layar Halaman Help Contents
•
Rancangan Layar Halaman View Graph
Gambar 3.52 Rancangan Layar Halaman View Graph
119 •
Rancangan Layar Halaman View System Details
Gambar 3.53 Rancangan Layar Halaman View System Details
•
Rancangan Layar Halaman Send Message
Gambar 3.54 Rancangan Layar Halaman Send Message
120 •
Rancangan Layar Halaman Shutdown
Gambar 3.55 Rancangan Layar Halaman Shutdown
•
Rancangan Layar Halaman Alert
Gambar 3.56 Rancangan Layar Halaman Alert
121 •
Rancangan Layar Halaman Client
Gambar 3.57 Rancangan Layar Halaman Client
122 3.8
Perancangan Kelas
Perancangan Kelas S erverMain Kelas utama yang me-load tampilan dan membuat objek dari kelas S erver dan ServerGUI memiliki constructor S erverMain dan method main. Method main merupakan method utama yang dipanggil ketika program dijalankan. Pseudocode Begin method main M embuat objek S erverMain End method main Begin constructor S erverMain M embuat objek server dari kelas S erver M embuat objek serverGUI dari kelas S erverGUI Tampilkan GUI ke Layar Panggil method openS ocket dari kelas Server End constructor S erverMain
Perancangan kelas S erverGUI Kelas ServerGUI merupakan turunan dari kelas JFrame dari javax.s wing sebagai kelas pengaturan GUI program S erver. Kelas S erverGUI mengimplementasi Interface ActionListener dari java.awt.event sehingga mengimplementasikan method actionPerformed sebagai respon dari event yang dimunculkan oleh penekanan tombol – tombol. Kelas S erverGUI memiliki constructor dengan parameter objek dari kelas Server.
123 M ethod
: initComponents, showAbout, authenticate, showConsole, programExit, actionPerformed.
Pseudocode Begin constructor S erverGUI Tampilkan login window pada thread terpisah Set referensi objek server dari kelas Server Buat objek serverMenuEven dari kelas S erverMenuEvent Load semua komponen GUI pada method initComponent End constructor S erverGUI Begin method initComponent Buat semua objek komponen yang diperlukan Register setiap tombol ke event listener pada objek serverMenuEvent dari ServerMenuEvent End method initComponents Begin method showAbout Buat objek aboutWindow dari kelas AboutWindow Tampilkan window About pada thread event-dispatch End method showAbout Begin method showConsole Buat objek consoleWindow dari kelas ConsoleWindow Tampilkan window Console pada thread event-dispatch End method showConsole Begin method programExit Keluar dari program aplikasi
124 End method programExit Begin method actionPerformed Jika tombol yang ditekan adalah Case tombol exit Keluar program Case tombol about Tampilkan window About Case tombol find Tampilkan kotak dialog untuk pencarian Case tombol start M ulai terima packet dari client Case tombol stop Akhiri terima packet dari client Case tombol view console Tampilkan window console End Jika End method actionPerformed
Perancangan kelas S erver Kelas Server memiliki constructor S erver. Kelas ini mengatur koneksi socket antara program S erver Network Hardware Monintoring dan program Client Network Hardware Monintoring. M ethod
: Server,
loadConf,
openSocket,
processPacket(DatagramPacket), stopServer, closeSocket.
startServer,
125 Pseudocode Begin constructor S erver Buat Vector untuk daftar alamat IP client Load konfigurasi dengan memanggil method loadConf End constructor S erver Begin method loadConf Buat FileInputS tream untuk buka file konfigurasi Load file konfigurasi ke objek dari kelas Properties Tutup FileInputS tream Jika terjadi eksepsi Tampilkan Stack trace ke console Tampilkan pesan kesalahan End Jika End method loadConf Begin method openS ocket Buka socket dengan membuat objek dari kelas DatagramS ocket Jika terjadi eksepsi Tampilkan Stack trace ke console Tampilkan pesan kelsahan End Jika End method openS ocket Begin method startServer Jika belum terdapat ListenerThread Buat objek dari kelas ListenerThread
126 Set referensi dari Properties Set flag keepListening ← true Jalankan thread ListenerThread Else Set flag keepListening ← true End Jika End method startS erver Begin method processPacket Buat thread untuk proses packet yang diterima Jalankan thread yang telah dibuat End method processPecket Begin method stopServer Jika telah terdapat ListenerThread Set flag keepListener ← true Else Tampilkan pesan ‘Server belum dimulai’ End Jika End method stopS erver Begin method closeServer Tutup socket Jika terjadi eksepsi Tampilkan Stack trace ke console Tampilkan pesan kesalahan End Jika
127 End method closeS erver
Perancangan kelas ListenerThread Kelas ListenerThread merupakan turunan dari kelas Thread dari java.lang yang mengimplementasi method run sebagai respond dari dimulainya suatu thread. Kelas ListenerThread memiliki constructor ListenerThread dengan parameter berupa referensi dari objek kelas S erver. M ethod
: ListenerThread, run, setSystemProperties(Properties)
Begin constructor ListenerThread Set referensi kelas S erver End constructor ListenerThread Begin method run Do Buat buffer data Buat packet untuk terima Terima packet Proses packet pada thread ProcessingThread Jika terjadi eksepsi Tampilkan Stack trace ke console Tampilkan pesan kesalahan End Jika Until keepListener ← false End method run
128 Perancangan kelas ProcessingThread Kelas ProcessingThread merupakan turunan dari kelas Thread dari java.lang yang mengimplementasi method run sebagai respond dari dimulainya suatu thread. Kelas ProcessingThread memiliki constructor dengan parameter berupa referensi objek dari kelas DatagramS ocket, DatagramPacket, JTextArea, AbstractMainTable dan Vector. M ethod
: ProcessingThread(DatagramSocket,
DatagramPacket,
AbstractMainTable, Vector), run, logData, stripData, cekAlert. Pseudocode Begin constructor ProcessingThread Set referensi objek table dari kelas AbstractTableMain Set referensi objek socket dari kelas DatagramS ocket Set referensi objek ipList dari kelas Vector End constructor ProcessingThread Begin method run Ambil data dari packet Ambil alamat IP pengirim packet Letakan alamat IP pasda ipList Tentukan nomor baris pada table Strip data masukan ke array Update table pada method updateTable Cek alert pada method cekAlert Jika alertFlag ← true Tampilkan pesan peringatan
JTextArea,
129 End Jika Log data method logData End method run Begin method logData Buka file dengan nama file
.log Strip data ke array Do Tulis data pada array ke file Tulis karakter tab sebagai pemisah Until panjang array Jika file telah dibuka Tutup file End Jika Jika terjadi eksepsi Tampilkan Stack trace ke console Tampilkan pesan kesalahan End Jika End method logData Begin method cekAlert Strip data masukan ke array Do i←0 Jika data pada array index ke i > batas maksimum atau i < batas minimum
130 Set alertFlag ← true End Jika Jika alertFlag ← true Tulis pesan peringatan End Jika Until masih ada data di array End method cekAlert Begin method updateTable baris ← nomor baris alamat IP client pada ipList Lock data pada tabel Do i←0 Set nilai pada kolom ke i baris ke baris Until i ← jumlah kolom Refresh tabel End method updateTable Perancangan kelas MonitoringPanel Kelas MonitoringPanel mengimplementasi Interface ActionListener dari java.awt.event sehingga mengimplementasikan method actionPerformed sebagai respon dari event yang dimunculkan oleh penekanan tombol – tombol. M emiliki constructor MonitorinPanel dengan parameter berupa referensi objek dari kelas S erver. M ethod
: MonitoringPanel, setUpComponents, actionPerformed , sendCommand, openChat, viewSysInfo, viewgraph.
Begin constructor MonitoringPanel
131 Buat objek dari AbstractMainTable Jalankan method setUpComponents Set referensi objek server dari kelas S erver Set referensi objek socket dari kelas DatagramS ocket End constructor MonitoringPanel Begin method setUpComponents Buat dan atur posisi penempatan komponen GUI di layar End method setUpComponents Begin method actionPerformed Jika ditekan tombol Case tombol View Graph Panggil method viewGraph Case tombol View S ystem Details Panggil method viewS ysInfo Case tombol S end Message Panggil method sendMessage Case tombol S hutdown Panggil method sendCommand dengan paramete “shutdown –s” Case tombol Restart Panggil method sendCommand dengan parameter “shutdown –r” End Jika End method actionPerformed Begin method sendCommand Buat packet
132 Isi packet dengan data dari parameter method Kirim packet ke client yang dipilih di tabel Jika terjadi eksepsi Tampilkan Stack trace ke console Tampilkan pesan kesalahan End Jika End method sendCommand Begin method sendMessage Jika frame chatWindow belum ditampilkan Tampilkan frame messageWindow dari kelas MessageWindow Buat packet unutk kirim pesan Kirim packet ke client yang dipilih di tabel Jika client tidak respon Tampilkan pesan client tidak respond End Jika Else Tampilkan pesan kesalahan End Jika Jika terjadi eksepsi Tampilkan Stack trace ke console Tampilkan pesan kesalahan End Jika End method sendMessage Begin method viewS ysInfo
133 Buat packet Request update data S ysInfo dari client Tampilan data pada dialog window sysInfoWindow dari kelas S ysInfoWindow pada thread event-dispatch Jika terjadi eksepsi Tampilkan Stack trace ke console Tampilkan pesan kesalahan End Jika End method viewS ysInfo Begin method viewGraph Baca file log dari client yang diseleksi di tabel M asukan data ke array Tampilkan window viewGraph dari kelas ViewGraph pada thread eventdispatch Jika terjadi eksepsi Tampilkan Stack trace ke console Tampilkan pesan kesalahan End Jika End method viewGraph
Perancangan kelas ClientMain Kelas utama yang me-load tampilan dan membuat objek dari kelas Client dan ClientGUI memiliki constructor ClientMain dan method main. Method main merupakan method utama yang dipanggil ketika program dijalankan.
134 M ethod
: ClientMain, main
Begin constructor ClientMain Buat objek client dari kelas Client Buat objek clientGUI dari kelas ClientGUI Set referensi client ke clientGUI Tampilkan GUI ke layar Buka socket untuk koneksi End constructor ClientMain Begin method main Buat objek dari kelas ClientMain. End method main
Perancangan kelas ClientGUI Kelas ClientGUI merupakan turunan dari kelas JFrame dari javax.s wing sebagai kelas pengaturan GUI program Client. Kelas ClientGUI memiliki constructor dengan parameter objek dari kelas Client. M ethod
: ClientGUI,
initComponents,
showAbout,
displayMessage(String),
setStatusMessage(String), programExit Pseudocode Begin constructor ClientGUI Set referensi objek clientdari kelas Client Buat objek clientMenuEven dari kelas ClientMenuEvent Load semua komponen GUI pada method initComponents End constructor ClientGUI
135 Begin method initComponents Buat semua objek komponen yang diperlukan Register setiap tombol ke event listener pada objek clientMenuEvent dari ClientMenuEvent End method initComponents Begin method showAbout Buat objek aboutWindow dari kelas AboutWindow Tampilkan window aboutWindow pada thread event-dispatch End method showAbout Begin method displayMessage Update console dengan String dari parameter Update menggunakan thread event-dispatch End method displayMessage Begin method setS tatusMessage Update status bar dengan String dari parameter Update menggunakan thread event-dispatch End method setS tatusMessage Begin method programExit Jika terdapat socket Buat packet Isi data pada packet dengan ‘stop’ Kirim packet End Jika Jika terjadi eksepsi
136 Tampilkan Stack trace di console Tampilkan pesan kesalahan End Jika Keluar dari program End method programExit
Perancangan kelas Client Kelas Client memiliki constructor Client. Kelas ini mengatur koneksi socket antara program Client Network Hardware Monintoring dan program S erver Network Hardware Monintoring. M ethod
: Client,
loadConf,
openSocket,
waitForPacket,
sendStopPacket. Pseudocode Begin constructor Client Load file konfigurasi End constructor Client Begin method loadConf Buat FileInputS tream untuk buka file konfigurasi Load file konfigurasi ke objek dari kelas Properties Tutup FileInputS tream Jika terjadi eksepsi Tampilkan Stack trace ke console Tampilkan pesan kesalahan End Jika
startSending,
137 End method loadConf Begin method openS ocket Buka socket dengan membuat objek socket dari kelas DatagramS ocket Jika terdapat eksepsi Tampilkan Stack trace ke console Tampilkan pesan kelsahan End Jika Jalankan method startS ending Jalankan method waitForPacket End method openS ocket Begin method waitForPacket Buat objek listenerThread dari kelas ListenerThread Jalankan thread listenerThread Jika terdapat eksepsi Tampilkan Stack trace ke console Tampilkan pesan kelsahan End Jika End method waitForPacket Begin method startSending Buat objek sendingThread dari kelas S endingThread Set keepS ending ← true Jalankan thread sendingThread Jika terdapat eksepsi Tampilkan Stack trace ke console
138 Tampilkan pesan kelsahan End Jika End method startS ending Begin method sendS topPacket Buat packet Isi data di packet dengan ‘stop’ Kirim packet Jika terdapat eksepsi Tampilkan Stack trace ke console Tampilkan pesan kelsahan End Jika End method sendS topPacket
Perancangan kelas S endingThread Kelas S endingThread bertugas mengirimkan data yang telah di paketkan dalam datagram packet ke Server.Kelas SendingThread merupakan turunan dari kelas Thread dari java.lang yang mengimplementasi method run sebagai respond dari dimulainya suatu thread. Kelas SendingThread memiliki constructor SendingThread dengan parameter berupa referensi dari kelas Client M ethod
: SendingThread,
run,
loadConf,
setUpData,
setSystemProperties, setKeepSending. Pseudocode Begin constructor S endingThread Set referensi objek socket dari kelas DatagramS ocket
readMBMLog,
139 End construcstor SendingThread Begin method run Do Baca log dari M BM 5 simpan ke array Jika file log tidak ditemukan Tampilkan pesan kesalahan End Jika Buat packet Isi data packet dengan array Kirim data Delay selama interval Jika terjadi eksepsi Tampilkan Stack trace ke console Tampilkan pesan kesalahan End Jika Until keepSending ← false End method run Begin method loadConf Buka file konfigurasi Load isi file konfigurasi ke properties Tutup file konfigurasi Jika terjadi eksepsi Tampilkan Stack trace ke console Tampilkan pesan kesalahan
140 End Jika Set semua properti di objek properties ke variable End method loadConf Begin method setUpData Do M asukan data ke packet Until semua data di array End method setUpData Begin method readMBMLog Buka file log MBM5 Pisahkan data tiap field ke array Tutup file Jika terjadi eksepsi Tampilkan Stack trace ke console Tampilkan pesan kesalahan End Jika End method readMBMLog Begin method setS ystemProperties Set referensi properties dari kelas Properties Jalankan method loadConf End method setS ystemProperties Begin method setKeepS ending Set keepS ending ← true End method setKeepS ending
141 Perancangan kelas ListenerThread Kelas ListenerThread merupakan turunan dari kelas Thread dari java.lang yang mengimplementasi method run sebagai respond dari dimulainya suatu thread. Kelas ListenerThread memiliki constructor ListenerThread dengan parameter berupa self reference. M ethod
: ListenerThread, run
Pseudocode Begin constructor ListenerThread Buat objek dari kelas Thread dengan parameter constructor self reference. End constructor ListenerThread Begin method run Do Buat packet terima Terima packet Eksekusi perintah pada data packet Jika terjadi eksepsi Tampilkan Stack trace ke console Tampilkan pesan kesalahan End Jika Until loop forever End method run Perancangan kelas ClientMenuEvent Kelas ClientMenuEvent mengimplementasi Interface ActionListener dari java.awt.event sehingga mengimplementasikan method actionPerformed sebagai
142 respon dari event yang dimunculkan oleh penekanan tombol – tombol. Kelas ClientMenuEvent memiliki constructor dengan parameter objek dari kelas ClientGUI M ethod
: ClientMenuEvent, actionPerformed
Pseudocode Begin constructor ClientMenuEvent Set referensi objek client dari kelas Client Set referensi objek clientGUI dari kelas ClientGUI End constructor ClientMenuEvent Begin method actionPerformed Jika tombol yang ditekan Case tombol exit Kirim paket ‘stop’ Keluar dari program End Jika End method actionPerformed