bab 3 analisa dan perancangan 3.1. analisa 3.1.1 analisa...

31
BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa Kebutuhan Riwayat Perusahaan PT. Andal Software Sejahtera PT.Andal Software Sejahtera, berdiri pada tahun 1988, dimulai dengan nama PT. Graha Cendekia Inforindo yang kemudian pada tahun 1999 berubah menjadi nama di atas. Dimulai sebagai perusahaan software house. Software yang dibuat berdasarkan pesanan sesuai dengan kebutuhan pelanggan. Pada tahun 1990 PT. GrahaCendekia Inforindo mulai memperluas bidang yang digeluti dengan menambah divisi hardware, yang bergerak di bidang penjualan hardware dan pemasangan jaringan komputer. Dengan meningkatnya permintaan software terutama manufaktur dan distribusi untuk skala besar, maka pada tahun 1996 ANDAL SOFTWARE mengageni MACOLA paket software dari Amerika yang khusus untuk distribusi dan manufaktur. Sehingga sekarang ini PT. Graha Cendekia Inforindo mempunyai 3 divisi, yakni Hardware, Macola, dan Software yang sekarang sering disebut dengan ANDAL Software. Pada tahun 1996, PT. GrahaCendekia Inforindo ditunjuk oleh Microsoft, sebagai Microsoft Solution Provider, dan pada tahun 1997 ditunjuk sebagai Microsoft Solution Developer. Sebagai Microsoft Solution Developer, Andal Software banyak mendapatkan teknologi pengembangan software yang mutakhir yang dapat diterjemahkan untuk memberikan solusi bisnis pada dunia usaha. Pada saat launching MS-SQL Server 7.0 yang baru, Andal Software diberikan kesempatan untuk 42

Upload: lethuan

Post on 02-Mar-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

BAB 3

ANALISA dan PERANCANGAN

3.1. Analisa

3.1.1 Analisa Kebutuhan

Riwayat Perusahaan PT. Andal Software Sejahtera

PT.Andal Software Sejahtera, berdiri pada tahun 1988, dimulai dengan nama

PT. Graha Cendekia Inforindo yang kemudian pada tahun 1999 berubah menjadi nama

di atas. Dimulai sebagai perusahaan software house. Software yang dibuat berdasarkan

pesanan sesuai dengan kebutuhan pelanggan. Pada tahun 1990 PT. GrahaCendekia

Inforindo mulai memperluas bidang yang digeluti dengan menambah divisi hardware,

yang bergerak di bidang penjualan hardware dan pemasangan jaringan komputer.

Dengan meningkatnya permintaan software terutama manufaktur dan distribusi

untuk skala besar, maka pada tahun 1996 ANDAL SOFTWARE mengageni MACOLA

paket software dari Amerika yang khusus untuk distribusi dan manufaktur. Sehingga

sekarang ini PT. Graha Cendekia Inforindo mempunyai 3 divisi, yakni Hardware,

Macola, dan Software yang sekarang sering disebut dengan ANDAL Software.

Pada tahun 1996, PT. GrahaCendekia Inforindo ditunjuk oleh Microsoft,

sebagai Microsoft Solution Provider, dan pada tahun 1997 ditunjuk sebagai Microsoft

Solution Developer. Sebagai Microsoft Solution Developer, Andal Software banyak

mendapatkan teknologi pengembangan software yang mutakhir yang dapat

diterjemahkan untuk memberikan solusi bisnis pada dunia usaha. Pada saat launching

MS-SQL Server 7.0 yang baru, Andal Software diberikan kesempatan untuk

42

Page 2: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

43

mendemonstrasikan produk terbaru yang menggunakan MS-SQL Server, yaitu

KHARISMA-WIN ( Payroll & HRD System ) serta Tenancy Billing System ( paket

accounting lengkap untuk billing penyewaan gedung/property ). Pada launching MS-

Office 2000 bulan Juli yang lalu di JHCC, Andal Software ditunjuk untuk mengisi

acara Knowledge Management dan mengadakan presentasi software untuk retail

menggunakan fasilitas dari MS-Outlook 2000 ( Digital Dashboard ). Bulan Agustus

yang lalu kembali Andal Software ditunjuk Microsoft Indonesia sebagai Knowledge

Management Partner dan diberikan kesempatan beberapa kali untuk melakukan

presentasi mengenai konsep DNS ( Digital Nervous System ).

Selama kurang lebih delapan tahun masa usianya, atas dasar semakin

meningkatnya kebutuhan perusahaan – perusahaan akan suatu teknologi yang dapat

mendukung dan meningkatkan kinerja perusahaan. Andal Software telah berhasil

menciptakan berbagai macam produk software yang dibagi menjadi dua kategori, yaitu:

• Andal Mash

Adapun berbagai produk Andal Mash telah dipasarkan melalui beberapa

jaringan distribusi, seperti toko buku. Salah satu andalannya adalah

Andal Merchant yang terdiri dari Andal Post, Andal Trait, dan Andal

GL, yang secara keseluruhan memiliki kemampuan sejenis seperti

keluaran Microsoft, dikenal dengan Microsoft Office (Ms. Office).

Produk lain yang juga dibuat oleh Andal Software, antara lain : Presisi

ver2.5 (digunakan untuk membuat laporan keuangan perusahaan jasa,

dagang, dan manufaktur), Andal FAT ver1.0 (membantu mempermudah

pemantauan harta tetap), Andal POS ver1.5 (membantu mengontrol

Page 3: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

44

keluar masuknya stok barang), SIAP ver3.0 (membantu sistem kasir,

penerimaan resep dan bagian gudang untuk apotik), SAISS ver1.5

(menyediakan modul POS untuk penjualan aksesoris, penerimaan

service, dan gudang spare-part, Resto ver1.0 (pengolaan sistem untuk

rumah makan dengan pelayanan yang cepat) dan sebagainya.

• Andal Enterprise

Sedangkan produk Andal Kharisma yang termasuk kategori Andal

Enterprise dipasarkan melalui rekan bisnis(Business Partner) yang

dimiliki oleh Andal Software. Dan sebagian besar dari rekan bisnis itu

adalah perusahaan-perusahaan yang memesan produk software kepada

Andal Software, atau Software House – Software House lainnya.

Pengelompokan pemesanan software berdasarkan jumlah pengguna

terbagi menjadi tiga versi: Trial (10 pengguna), Lite (25 pengguna), dan

Professional (100 pengguna). Salah satu produk Andal Kharisma adalah

Andal Kharisma Win ver1.5 yang merupakan pengembangan dari

produk Konsultan PPh ditambah dengan modul SDM, sangat berguna

untuk membuat rencana sumber daya manusia dengan susunan

organisasi dan jabatan yang dimilikinya.

Beberapa permasalahan yang terkadang dihadapi oleh Andal Software adalah

keharusan untuk melakukan data migration dari software lama yang digunakan suatu

perusahaan ke dalam software buatan Andal Software, apabila kedua software itu

masih memiliki beberapa kemampuan yang berbeda, belum mengeluarkan produk yang

berbasiskan web-application, dan belum memiliki license management untuk produk

yang berbasiskan web-application.

Page 4: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

45

Namun untuk melindungi produk-produknya dari pembajakan atau penggunaan

software yang tidak memiliki lisensi, Andal Software sudah memiliki license

management yang masih digunakan sampai saat ini. Andal Software melakukan

pengaturan atas lisensi untuk softwarenya berdasarkan pada komponen desktop-

application, antara lain: nomor seri prosesor yang digunakan, nomor seri harddisk yang

digunakan, dan lain-lain. Selama komponen-komponen tersebut tidak ada yang diubah

atau diganti, maka aplikasi dari produk software akan tetap bisa berjalan.

Didalam paket produk software yang dikeluarkan, Andal Software selalu

mencantumkan nomor registrasi dan sebuah urutan nomor sebagai kunci. Keduanya

harus dikonfirmasikan kepada Andal Software,yang kemudian kedua nomor itu akan

disimpan dan dienkripsi dengan algoritma tertentu dan menghasilkan sebuah urutan

nomor baru, dan nomor baru itulah yang dimasukkan pada waktu menginstall aplikasi

sebagai password atau nomor seri (serial number), seperti yang biasa dilakukan dalam

menginstall sebuah software.

3.1.2 Usulan Pemenuhan Kebutuhan

Berdasarkan pada beberapa permasalahan yang dimiliki oleh PT.Andal

Software, akan dirancang sebuah license management yang menggunakan algoritma

Rijndael dalam proses enkripsi dan dekripsi untuk produk software berdasarkan web-

application yang sedang direncanakan untuk diproduksi dalam masa mendatang,

khususnya berjalan dalam jaringan (network) yang memiliki server dan client.

Berikut ini merupakan penjelasan lebih lanjut dari license management yang

akan dirancang :

Page 5: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

46

1. Program yang dihasilkan berbasiskan bahasa pemrograman Java dapat

dijalankan di mesin dan sistem operasi apapun asalkan sistem operasi tersebut

memiliki Java2 Runtime Environment.

2. Program dalam Bahasa Java mendukung pemrograman jaringan, sehingga dapat

dirancang program yang dapat berjalan di jaringan (networking), dan dapat

membentuk class sendiri, sehingga untuk seterusnya juga dapat digunakan di

program lain.

3. Program dirancang untuk dapat mengatur lisensi, hak akses dan otoritas dari

aplikasi yang berjalan pada jaringan.

4. Program dirancang dengan menggunakan konsep teknologi client/server,

dimana server berfungsi untuk mengatur lisensi, hak akses, dan otoritas dari

client.

5. Program dirancang dengan menggunakan protokol TCP karena dianggap

reliable dan mendukung pengiriman data yang lebih aman dan akurat.

6. License key yang didistribusikan oleh server kepada client akan dienkripsi

dengan menggunakan algoritma Rijndael, sehingga keamanan distribusi akan

semakin terjamin.

3.2 Perancangan

Dalam subbab ini akan ditampilkan beberapa rancangan yang akan kami buat di

dalam program kami.

Page 6: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

47

3.2.1 Rancangan Layar

3.2.1.1 Rancangan Layar Utama program pada server

Gambar 3.1 Rancangan Layar Utama program pada server

Layar Menu utama merupakan layar utama dari aplikasi Network License

Server. Pada layar ini terdapat menu-menu yang dapat dipilih dengan penekanan

tombol oleh user. Untuk tampilan, dapat dilihat secara rinci sebagai berikut :

Tabel 3.1 Rincian Menu

Menu List

Show Log File

Exit

Distribute License Key

Delete From List

Actions

Clear Mapping List

Documentation Help

About

Page 7: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

48

• Untuk melihat tampilan Layar Log yang berisi tanggal dan waktu dari

perlakuan yang dipilih terakhir, pilih menu ’File’ dan submenu ’Show

Log’ ataupun meng-klik pada ikon yang berada di sebelah kiri.

Misalnya: tanggal dan waktu pendistribusian license key atau

penghapusan license key.

• Untuk keluar dari aplikasi, dapat dilakukan pemilihan menu ‘File’ dan

submenu ’Exit’ atau dengan meng-klik pada tanda silang disebelah

kanan atas.

• Untuk mendistribusikan license key dari server kepada client yang telah

dipetakan ke dalam mapping list, pilih menu ’Actions’ dan submenu

‘Distribute License Key’.

• Sedangkan submenu ‘Delete From List’ dari menu ‘Actions’ digunakan

untuk menghapus client tertentu yang telah dipetakan dengan license key

pada tabel license key mapping list.

• User dapat memilih menu ‘Actions’ dan submenu ‘Clear Mapping List’

untuk menghapus client yang sudah dipetakan.

• Dari menu ‘Help’ submenu ‘Documentation’ ataupun meng-klik pada

ikon yang berada disebelah kanan, user dapat melihat Layar

Dokumentasi yang berisi petunjuk penggunaan Network License Server.

• Informasi tentang aplikasi ini dapat dilihat pada submenu ‘About’ dalam

menu ‘Help’.

Page 8: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

49

3.2.1.2 Rancangan Layar Dokumentasi

Gambar 3.2 Rancangan Layar Dokumentasi

Pada layar Dokumentasi, terdapat petunjuk penggunaan dari Network License

Server yang dapat dibaca dan digunakan sebagai acuan untuk user atau admin. Jika

ingin menutup layar Dokumentasi ini, dapat meng-klik tanda silang yang berada

disebelah kanan atas, atau meng-klik pada button ‘Close’.

3.2.1.3 Rancangan Layar Confirmation Distribution License Key

Gambar 3.3 Rancangan Layar Confirmation Distribution License Key

Page 9: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

50

Layar ini berisi konfirmasi mengenai distribusi license key kepada client yang

telah dilakukan, selain itu dapat dilihat juga jumlah license key yang masih tersisa yang

dapat didistribusikan.

3.2.1.4 Rancangan Layar Log

Layar ini merupakan layar yang menampilkan catatan waktu, client dan aksi

yang dilakukan oleh user terhadap license key.

Gambar 3.4 Rancangan Layar Log

Pada Layar ini terdapat dua button, yaitu button ‘Clear Log’ untuk menghapus

keseluruhan data log, dan button ‘Close’ untuk keluar dari Layar Log.

Adapun log (catatan) tersebut akan ditulis dan dibaca dari sebuah file (operasi file).

Page 10: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

51

3.2.1.5 Rancangan Layar Confirmation Delete

Confirm Delete Mapping From List(s) X

Yes

Are You Sure to delete this record(s) from the list?

No

Gambar 3.5 Rancangan Layar Message Box Confirmation Delete

Layar ini menampilkan konfirmasi dari penghapusan catatan atas hasil

pemetaan antara client dan license key. Operasi ini juga akan menambah jumlah license

key tersedia, karena license key yang telah terpakai ditarik kembali.

Button ‘Yes’ digunakan untuk menghapus dan button ‘No’ digunakan untuk

membatalkan penghapusan.

3.2.1.6 Rancangan Layar menu About

Gambar 3.6 Rancangan Layar About

Page 11: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

52

Layar ini akan menampilkan informasi pembuat dari program Network License

Server yang berisi tentang tahun pembuatan program, versi pembuatan program, dan

alamat atau data lain yang dapat dihubungi untuk mendapatkan informasi lebih lanjut

mengenai program langsung dari pembuatnya.

Page 12: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

53

3.2.2 Rancangan Diagram

Dalam subbab ini, akan dijelaskan beberapa diagram yang dibutuhkan di dalam

skripsi kami.

3.2.2.1 Class diagram

+membeli_program()+menjalankan_program()

-nama-ID_karyawan-email-jabatan-jenis_kelamin

user

+menginstal_program_dikomputer_server()+memberikan_ID_produk()+memasukan_key_dari perusahan()+menjalankan_program_server()+menginstal_program_dikomputer_klien()+Memasukkan_Alamat_IP_komputer_server()

administrator

+bekerja()+mengoperasikan_aplikasi()

karyawan

+membuat_program()+menjual_program()+memberikan_regristration_key()+meminta_registration_key()

-Nama_perusahaan-alamat-email

perusahan

+melihat_kunci_yang_tersedia()+memberikan_registration_key_ke user()+mengecek_alamat _IP_dan_kunci_database()+mencatat_alamat_IP_dan_kunci()+mengecek_alamat _IP_klien_yang_sedang_aktif()

-alamat_IP-produk_ID

komputer server

+mengirimkan_alamat_IP()+menyimpan_lisence_key()+mengirimkan_IP_dan_kunci()+menginformasikan_hak_akses()+Mengirimkan_alamat_IP_komputer_server()

-alamat_IPkomputer klien

+mengecek_persediaan_kunci()+memberikan_kunci()

-kunci-kunci_yang _terenkripsidatabase server

+mengecek_persedian_kunci()+memberikan_kunci()

-kunci-kunci_yang_terenkripsidatabase perusahaan

* *

*

*

*

*

*

*

*

*

*

*

Gambar 3.7 Rancangan Class Diagram

Page 13: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

54

1. Perusahaan : - Atribut : 1. Nama Perusahaan

2. Alamat

3. Email

- Method : 1. Membuat program

2. Menjual program

3. Memberikan registration key

4. Meminta registration key

2. Database Perusahaan : - Atribut : 1. Kunci-kunci yang terenkripsi

- Method : 1. Mengecek persediaan kunci

2. Memberikan kunci

3. User : - Atribut : 1. Nama

2. ID karyawan

3. Email

4. Jabatan

5. Jenis Kelamin

- Method : 1. Membeli program

2. Menjalankan program

4. Administrator : - Method : 1. Menginstal program dikomputer server

2. Memberikan ID produk

3. Memasukkan registration key

4. Menjalankan program server

5. Menginstal program dikomputer client

6. Memasukkan alamat IP komputer

server

Page 14: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

55

5. Karyawan : - Method : 1. Bekerja

2. Mengoperasikan aplikasi

6. Komputer server : - Atribute : 1. Alamat IP

2. Produk ID

- Method : 1. Melihat kunci yang tersedia

2. Memberikan registration key ke user

3. Mengecek alamat IP dan kunci di

database

4. Mencatat alamat IP dan kunci

5. Mengecek alamat IP client yang aktif

7. Komputer client : - Atribute : 1. Alamat IP

- Method : 1. Mengirimkan alamat IP

2. Menyimpan lisence key

3. Mengirimkan alamat IP dan kunci

4. Menginformasikan hak akses

5. Mengirimkan alamat IP komputer

server

8. Database Server : - Atribute : 1. Kunci-kunci yang terenkripsi

- Method : 1. Mengecek persediaan kunci

2. Memberikan kunci

Page 15: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

56

3.2.2.2 State diagram

komputer klien

/ dirancang

/ rusak

/ digunakan

Gambar 3.8 Rancangan State Diagram Komputer Client

Komputer pertama-tama dirancang atau dirangkai, setelah itu dapat digunakan.

Pada gambar statechart diatas komputer digunakan sebagai komputer client, komputer

akan berakhir masa operasinya pada saat komputer tersebut rusak.

komputer server

/ dirancang

/ rusak

/ digunakan

Gambar 3.9 Rancangan State Diagram Komputer Server

Pada gambar statechart ini sama halnya dengan statechart komputer client, yang

membedakannya adalah komputer tersebut digunakan sebagai komputer server.

Page 16: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

57

Gambar 3.10 Rancangan State Diagram Perusahaan

Gambar diatas menjelaskan pertama kali sebuah perusahaan didirikan terlebih

dahulu, setelah itu didalam prosesnya perusahaan akan merekrut dan memecat

karyawan, membeli, membuat, dan menjualkan produk programnya. Sebuah

perusahaan akan mencapai titik akhirnya ketika perusahaan tersebut bangkrut atau tidak

ada yang penerus yang dapat memimpin perusahaan tersebut.

aktif

/ melamar pekerjaan

/ bekerja/ terima gaji

/ mengundurkan diri,dipecat,pensiun,meninggal

Gambar 3.11 Rancangan State Diagram User

Page 17: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

58

Pertama-tama user melamar pekerjaan terlebih dahulu, setelah diterima user

menjadi bekerja secara aktif. User akan bekerja dan menerima gaji, hingga pada

akhirnya user berhenti bekerja dikarenakan beberapa hal yaitu: mengundurkan diri,

dipecat, pensiun atau meninggal dunia.

karyawan

/ melamar pekerjaan

/ mengundurkan diri,pensiun,dipecat,meniggal

/ terima gaji/ bekerja

Gambar 3.12 Rancangan State Diagram Karyawan

Gambar diatas ini sama dengan gambar statechart user diatas. Yang

membedakannya adalah pada statechart ini user hanya berstatus sebagai karyawan

biasa.

admin

/ melamar pekerjaan

/ meniggal,mengundurkan diri,dipecat,pensiun

/ terima gaji/ bekerja

Gambar 3.13 Rancangan State Diagram Administrator

Page 18: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

59

Gambar diatas ini sama dengan gambar statechart user diatas. Yang

membedakannya adalah pada statechart ini user berstatus sebagai administrator.

3.2.2.3 Use Case diagram

Gambar 3.14 Rancangan UseCase Diagram

Use case adalah perancangan yang menjelaskan secara garis besar aktivitas

yang terjadi antara user dengan program.

Gambar diatas menjelaskan, seorang administrator dapat membeli program,

menginstal program dikomputer server, menginstal program dikomputer client dan

menjalankan program, sedangkan karyawan hanya dapat menjalankan program saja.

Page 19: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

60

3.2.2.4 Sequence diagram

administrator

komputer server

menginstal program komputer server()

perusahaan

memberikan produk ID()

database perusahaan

meminta registration key()

mengecek_persedian_kunci()

memasukan registration key()

memberikan kunci()memberikan registration key()

proses penginstalan selesai()

Gambar 3.15 Rancangan Sequence Diagram (Penginstalan server)

Fungsi Sequence diagram adalah untuk menjelaskan tentang aktivitas yang

terjadi antara user dan program secara rinci. Sequence ini menjelaskan tentang proses

penginstalan program pada komputer server. Pertama, administrator meminta

registration key dengan memberikan nomor produk ID kepada perusahaan, dari pihak

perusahaan mencari registration key dalam database perusahaan, didalam database

akan dicek persediaan kunci dengan mencocokkan nomor produk ID yang diberikan

dari administrator, setelah itu perusahaan memberikan registration key kepada

administrator dan kemudian memasukan registration key tersebut dan proses

penginstalan selesai.

Page 20: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

61

Administrator

komputer klien komputer server database server

menginstal program komputer klien()

memasukkan alamat IP komputer server() mengirimkan alamat IP komputer server()

mengecek alamat IP()valid()proses penginstalan dilanjutkan()

menjalankan proses selanjutnya() meminta kunci() melihat kunci yang tersedia()

mengecek persediaan kunci()memberikan kunci()

menyimpan alamat IP komputer klien dan kunci()memberikan kunci()

menyimpan kunci()proses penginstalan selesai()

menjalankan program()

Gambar 3.16 Rancangan Sequence Diagram (Penginstalan Client)

Pada gambar diatas ini menjelaskan seorang administrator menginstal program

dikomputer client, pada saat penginstalan berlangsung, program meminta memasukkan

alamat IP server, agar antara komputer client dan komputer server bisa terhubung

dalam satu jaringan yang sama. Jika sudah cocok, maka proses penginstalan masuk

pada tahap yang ke-2, disini komputer client akan meminta kunci ke komputer server,

dari komputer server akan melihat database server untuk persediaan kunci, di dalam

database server akan dicek apakah persediaan kunci masih ada atau tidak. Jika masih

ada, maka database akan memberikan kunci itu ke komputer server, setelah itu alamat

IP dan kunci client yang menerima kunci itu akan dicatat dikomputer server dan baru

diberikan kepada komputer client, setelah sampai pada tahap ini proses penginstalan

selesai dilakukan, administrator dapat menjalankan programnya.

Page 21: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

62

Karyawan komputer klien database serverkomputer server

menjalankan program() mengirimkan alamat IP dan kunci() mengecek alamat IP dan kunci()

cek ip dan kunci()valid()izin akses diterima()program dapat dijalankan()

program dijalankan()

Gambar 3.17 Rancangan Sequence Diagram (Aplikasi Client)

Pada saat karyawan menjalankan program dikomputer client, akan dicek

terlebih dahulu oleh komputer server dengan cara mendeteksi alamat IP beserta kunci

pada komputer client yang akan menjalankan program dan mencocokkannya didalam

database server yang mencatat alamat IP dan kunci-kunci, jika tidak cocok maka

aplikasi pada komputer client tersebut tidak dapat dijalankan, jika cocok maka program

dapat dijalankan, dan proses ini akan terjadi setiap program akan dijalankan.

Page 22: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

63

3.2.2.5 Collaboration diagram

Administrator

komputer server

perusahaandatabase perusahaan

1. menginstal program komputer server()7. memasukkan registration key()8. proses penginstalan selesai()

2. memberikan nomor produk ID()

6. memberikan registration key()

3. meminta registration key()5. memberikan kunci()

4. mengecek persediaan kunci()

}

Gambar 3.18 Rancangan Collaboration Diagram (pada server)

Page 23: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

64

Gambar 3.19 Rancangan Collaboration Diagram (pada Client)

Page 24: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

65

Karyawan

komputer klien

komputer serverDatabase server

1. menjalankan program()7. program dapat dijalankan()

8. program dijalankan()

2. m

engi

rimka

n al

amat

IP d

an k

unci

()6.

izin

aks

es d

iterim

a()

3. mengecek alamat IP dan kunci()5. valid()

4. cek IP dan kunci()

Gambar 3.20 Rancangan Collaboration Diagram (aplikasi pada Client)

3.3 Pseudocode (kode semu)

CLASS MainFrame attribute : private : Create objects that used in frame : button, tree, menu, table, panel and label Set client array Max Client *) from class ConnectedClient Set have_license_key, not_have_license_key Set count penghitung penggunaan key Set table_client, table_mapping Set license_key_mapping_list matrix Max Client x Max Client Connected method : readFile pecahstring addClientList addMappingList

Page 25: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

66

encrypt distributeLicenseKey deleteLicenseKey

writeLog END CLASS Method-method pada class MainFrame dijelaskan sebagai berikut: MODULE readFile Set FileReader buka file maplist Set BufferedReader pembaca isi file round 0 DO WHILE true

Set string_baca = read IF string_baca = NULL THEN break keluar dari perulangan END IF SET string_data array 4 SET object_list array 5 string_data = pecahstring (string_baca) memecah string dataBaca CALL pecahString(bd); roundK 0 DO WHILE roundK < 4 object_list [roundK] string_data [roundK] INC roundK END DO object_list [4] (boolean) false license_key_mapping_list [rount] object_list INC round INC id END DO END MODULE MODULE pecahstring (input) SET string_data array 4 i 0 j 0 DO WHILE i < panjang input IF input.charAt(i) = ‘|’ THEN INC j continue ELSE IF input.charAt(i) = ‘#’ THEN break keluar dari perulangan ELSE

Page 26: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

67

string_data string_data + input.charAt (i) END IF INC i END DO RETURN string_data END MODULE MODULE addClientList Set license_key_c get license key from client Set client_ip_address get client’s ip address IF have_license_key THEN round 0 DO WHILE round < panjang license_key_mapping_list IF license_key_c = license_key_mapping_list[round] THEN IF client_ip_address = license_key_mapping_list[round][1] client.write (true) kirim nilai true ke client

table_mapping.addRow tambahkan row pada table mapping

break keluar perulangan ELSE client.write (false) kirim nilai false ke client break keluar perulangan END IF END IF IF license_key_mapping_list = null THEN break keluar perulangan END IF INC round END DO ELSE IF not_have_license_key THEN CALL table_client.addRow tambahkan row pada table_client END IF END MODULE MODULE addMappingList i 0 SET row_count get table_client row count DO WHILE i < row_count flag get selected status of table_client row num get client number IF flag THEN IF count < Max Client THEN SET string_plain get license key from repositori SET cipher_text encrypt (string_plain) SET data_client array 5 data_client [0] i+1 data_client [1] client[num] ip address

Page 27: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

68

data_client [2] cipher_text data_client [3] client[num] id data_client [4] (boolean) false CALL table_mapping.addRow (data_client) CALL table_client.removeRow(i) INC count penambahan penggunaan key ELSE MsgBox “License Key Not Available” END IF END IF INC i END DO END MODULE MODULE encrypt (plaintext) SET byte_ct array 24 SET byte_key “abcdefghijklmnop” SET object_key Rijndael.makeKey(byte_key, 24) *192 bit key byte_ct = Rijndael.blockEncrypt(plaintext,0,object_key,24) return ct; END MODULE MODULE distributeLicenseKey i 0 row_count table_mapping.getRowCount DO WHILE i < row_count SET flag get selected status value on table_mapping SET num get client number SET license_key get license key from mapping list IF flag THEN client[num].write(license_key) send encrpyted license key to client CALL writeLog(1,client[num] ip address) END IF INC i END DO END MODULE MODULE deleteLicenseKey i 0 row_count table_mapping.getRowCount DO WHILE i < row_count SET flag get selected value on table_mapping SET row table_mapping.getRow IF flag THEN DEC count decreement penggunaan key CALL table_mapping.removeRow(row)

Page 28: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

69

remove mapping list write_log (2 , client[num] ip address) END IF INC i END DO END MODULE MODULE writeLog (action, ip address) SET fw FileWriter untuk buka file SET bw untuk tulis ke file SET tgl tanggal sekarang SET jam jam sekarang SET string_msg SELECT CASE action CASE 1 string_msg tgl + bln + “Distribute” + ip address CALL bw.append(string_msg) CASE 2 string_msg tgl + bln + “Delete” + ip address CALL bw.append(string_msg)

END SELECT CALL fw.close

END MODULE CLASS ConnectedClient attribute : private : Set client_number, hostname, ip_address, key Set data array 5 public : Set input DataInputStream Set output DataOutputStream method : public: getData getIPaddress getKey getClientNumber END CLASS

Page 29: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

70

Method-method pada class MainFrame dijelaskan sebagai berikut: MODULE getData return data END MODULE MODULE getIPaddress return ip_address END MODULE MODULE getKey return key END MODULE MODULE getClientNumber return client_number END MODULE

Page 30: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

71

CLASS Log attribute: private: Create Object use in Frame : Button, Panel, ScrollPane, TextArea Set fr FileReader Set fw FileWriter Set br BufferedReader (fr) Set bw BufferedWriter (fw) method private: showLog clearLog END CLASS Method-method pada class MainFrame dijelaskan sebagai berikut: MODULE showLog SET string_reader DO WHILE true SET string_tmp CALL br.readLine() membaca tiap baris IF string_tmp = NULL THEN break keluar dari perulangan END IF string_reader string_reader + string_tmp string_reader ‘\n’ : new line END DO SET TextArea string_reader CALL fr.close tutup file END MODULE MODULE clearLog CALL bw.write(“ “) CALL bw.flush(); CALL fw.close() tutup file TextArea “ “ END MODULE

Page 31: BAB 3 ANALISA dan PERANCANGAN 3.1. Analisa 3.1.1 Analisa ...thesis.binus.ac.id/doc/Bab3/2006-2-01268-IF-Bab 3.pdf · • User dapat memilih menu ‘Actions’ dan submenu ‘Clear

CLASS Documentation attribute: private: Create Objects use in Frame : Button, panel, ScrollPane, TextArea SET string_text method: private: readDocumentation END CLASS Method-method pada class MainFrame dijelaskan sebagai berikut: MODULE readDocumentation SET fr FileReader SET br BufferedReader(fr) DO WHILE true SET string_tmp CALL br.readLine IF string_tmp = null THEN break keluar dari perulangan END IF string_text string_text + string_tmp string_text ‘\n’ : new line END DO TextArea string_text END MODULE

72