• Tidak ada hasil yang ditemukan

BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK"

Copied!
25
0
0

Teks penuh

(1)

IV-1

BAB IV

ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

Pada bab ini, akan dibahas mengenai proses analisis dan perancangan dari perangkat lunak simulasi yang akan dibangun. Pada bagian awal, akan dijelaskan deskripsi umum, kebutuhan perangkat lunak, dan use case dari perangkat lunak simulasi. Pada bagian analisis, akan dibahas mengenai pemodelan masalah dengan berbasiskan use case pada bagian sebelumnya, sedangkan tahap perancangan membahas pemodelan solusi dari masalah yang dijelaskan pada bagian analisis.

IV.1 Deskripsi Umum Perangkat Lunak

Perangkat lunak yang dibangun merupakan suatu simulasi SMS-Banking berdasarkan protokol SMS-Banking yang sudah dirancang sebelumnya. Seluruh tahapan pada fase aktivasi dan fase transaksi pada protokol SMS-Banking yang harus dapat dijalankan pada perangkat lunak ini. Nama perangkat lunak tersebut adalah HIPRO SMS.

Secara umum HIPRO SMS terdiri atas dua bagian utama yaitu: 1. Klien

Bagian ini merupakan aplikasi yang berjalan di atas telepon seluler pengguna. Tugas dari bagian ini adalah menjalankan protokol baik untuk fase aktivasi maupun fase transaksi pada bagian klien serta menyediakan antarmuka yang dibutuhkan oleh nasabah untuk melakukan aktivasi layanan perbankan serta melakukan layanan transaksi perbankan.

(2)

2. Server

Aplikasi yang dibangun pada bagian ini bertugas menjalankan protokol baik untuk fase aktivasi maupun fase transaksi pada bagian server. Proses otentikasi pesan SMS dan pemrosesan transaksi SMS-Banking dilakukan pada bagian ini.

HIPRO SMS akan berinteraksi dengan SMS gateway. SMS gateway bertugas untuk menerima SMS yang diterima dari klien kemudian meneruskan SMS tersebut kepada server serta mengirim SMS dari server kepada klien. SMS gateway dan server berbagi basis data khusus yang digunakan untuk mengirim serta menerima SMS. Dalam sistem ini, HIPRO SMS diasumsikan dapat mengirim serta menerima pesan SMS melalui suatu koneksi basis data. Mekanisme bagaimana SMS diterima dan dikirim oleh SMS gateway tidak dibahas karena SMS gateway berada di luar sistem HIPRO SMS. Arsitektur HIPRO SMS dapat dilihat pada Gambar IV-1.

Gambar IV-1 Arsitektur perangkat lunak simulasi protokol SMS-Banking

IV.2 Analisis Kebutuhan Perangkat Lunak

Pada subbab ini, akan dibahas fitur utama perangkat lunak yang meliputi kebutuhan fungsional dan non-fungsional.

(3)

IV.2.1. Kebutuhan Fungsional

Kebutuhan-kebutuhan fungsional dari perangkat lunak dapat dilihat pada Tabel IV-1.

Tabel IV-1 Kebutuhan fungsional perangkat lunak

No Kebutuhan Deskripsi

1 Menjalankan fase

aktivasi

Server dan klien dapat menjalankan keseluruhan tahapan protokol pada fase aktivasi sesuai dengan protokol SMS-Banking yang dirancang.

2 Menjalankan fase

transaksi

Server dan klien dapat menjalankan keseluruhan tahapan protokol pada fase transaksi sesuai dengan protokol SMS-Banking yang dirancang.

3 Menyediakan

antarmuka bagi klien untuk transaksi perbankan.

Bagian klien menyediakan antarmuka yang digunakan oleh klien untuk transaksi perbankan.

IV.2.2. Kebutuhan Non-fungsional

Kebutuhan-kebutuhan non-fungsional dari perangkat lunak dapat dilihat pada Tabel IV-2.

Tabel IV-2 Kebutuhan non-fungsional perangkat lunak

No Kebutuhan Deskripsi

1 User Tampilan user-friendly

IV.3 Model Use Case

Pada subbab ini, akan dibahas use case yang menjadi dasar pembangunan perangkat lunak. Penjelasan dimulai dengan diagram use case yang menggambarkan kebutuhan fungsional perangkat lunak, kemudian definisi aktor, definisi, dan skenario dari masing-masing use case.

(4)

IV.3.1. Diagram Use Case

Gambar IV-2 Diagram Use Case menampilkan kebutuhan fungsional perangkat lunak yang dapat digunakan oleh aktor user. Dalam perangkat lunak ini, aktor user dapat melakukan dua aksi antara lain mengaktivasi layanan SMS-Banking dan melakukan transaksi SMS-Banking sedangkan aktor timer dapat mengolah SMS fase aktivasi dan mengolah SMS fase transaksi.

System

Melakukan transaksi SMS-Banking Mengaktivasi layanan SMS-Banking

User

mengolah SMS fase handshaking Timer

Mengolah SMS fase transaksi

Gambar IV-2 Diagram Use Case

IV.3.2. Definisi Aktor

Pada perangkat lunak ini terdapat 2 aktor yaitu user dan timer. Tabel IV-3 adalah tabel yang berisi definisi aktor pada use case.

Tabel IV-3 Definisi aktor

ID Actor Deskripsi

AC-01 User Aktor ini mewakili user yang akan menggunakan

perangkat lunak simulasi protokol SMS-Banking. User merupakan aktor yang dapat mengaktivasi layanan SMS-Banking, melakukan transaksi SMS-Banking dan mengatur konfigurasi sistem

AC-02 Timer Aktor ini mewakili timer yang akan memroses SMS

(5)

IV.3.3. Definisi Use Case

Tabel IV-4 Definisi Use Case berisi deskripsi use case yang telah dijelaskan pada subbab IV.3.1 Diagram Use Case.

Tabel IV-4 Definisi Use Case

ID Use Case Deskripsi

UC-01 Mengaktivasi layanan SMS-Banking

Aktor user dapat mengaktivasi layanan SMS-Banking. Oleh karena itu dalam use case ini, dilakukan keseluruhan tahapan yang dilakukan pada fase aktivasi dalam protokol SMS-Banking yang dirancang untuk bagian klien.

UC-02 Melakukan transaksi SMS-Banking

Aktor user dapat melakukan transaksi SMS-Banking. Oleh karena itu dalam use case ini, dilakukan keseluruhan tahapan yang dilakukan pada fase transaksi dalam protokol SMS-Banking yang dirancang untuk bagian klien.

UC-03 Mengolah SMS fase aktivasi Aktor timer dapat mengolah SMS fase aktivasi.

Maksudnya adalah aktor timer dapat melakukan keseluruhan tahapan yang dilakukan pada fase aktivasi dalam protokol SMS-Banking yang dirancang untuk bagian server.

UC-04 Mengolah SMS fase transaksi Aktor timer dapat mengolah SMS fase transaksi. Maksudnya adalah aktor timer dapat melakukan keseluruhan tahapan yang dilakukan pada fase transaksi dalam protokol SMS-Banking yang dirancang untuk bagian server.

IV.4 Analisis Perangkat Lunak

Pada subab ini akan dijelaskan mengenai keempat use case yang telah didefinisikan pada tahap analisis termasuk identifikasi kelas analisis, diagram kelas analisis, juga diagram sequence dari setiap use case.

(6)

IV.4.1. Use Case Mengaktivasi Layanan SMS-Banking

Ada 10 buah kelas yang diidentifikasikan pada use case mengaktivasi layanan SMS-Banking. Identifikasi dari kelas-kelas tersebut dapat dilihat pada Tabel IV-5. Diagram kelas analisis dari use case mengaktivasi layanan SMS-Banking dapat dilihat pada Gambar IV-3.

Tabel IV-5 Identifikasi kelas analisis use case mengaktivasi layanan SMS-Banking

No Nama Kelas Jenis Kelas

1. ClientController Control 2. ClientParser Entity 3. Customer Entity 4. DiffieHellman Entity 5. DigitalSignatureClient Entity 6. RSAClient Entity 7. SMS_Banking_Activation Interface 8. SMS_Banking_Interface Interface 9. ClientDBConnect Interface 10. SHA-1 Entity DiffieHellman ClientController RSAClient SMS_Banking_Interface ClientParser SMS_Banking_Activation DigitalSignatureClient Customer ClientDBConnect SHA-1

Gambar IV-3 Diagram kelas analisis use case mengaktivasi layanan SMS-Banking

Gambar IV-4 adalah sequence diagram dari aktivitas yang terjadi pada use case mengaktivasi layanan SMS-Banking.

(7)

: User : SMSGatewayInterface <<boundary>> : SMS_Banking_Activation <<boundary>> : ClientController <<control>> : ClientDBConnect <<boundary>> : DiffieHellman <<entity>> : DigitalSignatureClient <<control>> : RSAClient <<entity>> : ClientParser <<entity>> : SHA-1 <<entity>> 1 : Click_Activation_Menu() 2 : Show_Activation_Interface() 3 : Enter_Customer_Code() 4 : Enter_PIN() 5 : Enter_Activation_Code() 6 : Click_Activate_Button() 7 : Activate_SMS_Banking_Service() 8 : Get_Server_Data() 9 : Server_Data() 10 : Generate_X_Diffie_Hellman_Value() 11 : X_Diffie_Hellman_Value() 12 : Create_Digital_Signature() 13 : Encrypt() 14 : Compute_Hash_Value() 15 : Hash_Value() 16 : Encrypted_Message() 17 : Digital_Signature() 18 : Encrypt_Message() 19 : Encrypted_Message() 20 : Send_Message_To_Server() 21 : Receive_Message_From_Server() 22 : Parse_Handshaking_Message() 23 : Encrypted_Message() 24 : Message_Version() 25 : Get_Client_RSA_Key() 26 : Client_RSA_Key() 27 : Decrypt_Message() 28 : Decrypted_Message() 29 : Parse_Encrypted_Message() 30 : Y_Diffie_Hellman_Value() 31 : Sequence_Number() 32 : Digital_Signature() 33 : Get_Server_Data() 34 : Server_Data() 35 : Verify_Digital_Signature() 36 : Decrypt() 37 : Compute_Hash_Value() 38 : Status() 39 : Decrypted_Message() 40 : Hash_Value() 41 : Compute_Symmetric_Key() 42 : Symmetric_Key() 43 : Update_Client_Status_Symmetric_Key_Sequence_Number() 44 : Show_Succeeded_Activation_Message()

(8)

IV.4.2. Use Case Melakukan Transaksi SMS-Banking

Ada 10 kelas kelas yang teridentifikasi pada use case melakukan transaksi SMS-Banking. Kelas-kelas tersebut dapat dilihat pada Tabel IV-6. Diagram kelas analisis use case melakukan transaksi SMS-Banking dapat dilihat pada Gambar IV-5.

Tabel IV-6 Identifikasi kelas analisis use case Melakukan Transaksi SMS-Banking

No Nama Kelas Jenis Kelas

1. ClientController Control 2. ClientParser Entity 3. Customer Entity 4. RijndaelClient Entity 5. DigitalSignatureClient Entity 6. RSAClient Entity 7. SMS_Banking_Transaction Interface 8. SMS_Banking_Interface Interface 9. ClientDBConnect Interface 10. SHA-1 Entity ClientController RSAClient SMS_Banking_Interface ClientParser DigitalSignatureClient Customer ClientDBConnect SHA-1 SMS_Banking_Transaction RijndaelClient

(9)

Diagram sequence use case melakukan transaksi SMS-Banking dapat dilihat pada Gambar IV-6. : SMS_Banking_Interface <<boundary>> : User : SMS_Banking_Transaction <<boundary>> : ClientController <<control>> : ClientDBConnect <<boundary>> : DigitalSignatureClient <<control>> : RSAClient <<entity>> : SHA-1 <<entity>> : RijndaelClient <<entity>> : ClientParser <<entity>> 1 : Click_Transaction_Button() 2 : Show_Transaction_Interface() 3 : Enter_Customer_Code() 4 : Enter_PIN() 5 : Enter_Transaction_Code() 6 : Enter_Transaction_Payload1() 7 : Enter_Transaction_Payload2() 8 : Click_Process_Button() 9 : Transact_SMS_Banking_Service() 10 : Get_Rijndael_Key_Sequence_Number() 11 : Rijndael_Key() 12 : Sequence_Number() 13 : Get_Server_Data() 14 : Server_Data() 15 : Create_Digital_Signature() 16 : Compute_Hash() 17 : Hash_Value() 18 : Encrypt() 19 : Encrypted_Message() 20 : Digital_Signature() 21 : Encrypt_Message() 22 : Encrypted_Message() 23 : Create_Client_Transaction_Message() 24 : Send_Message_To_Server() 25 : Receive_Message_From_Server() 26 : Parse_Message() 27 : Version() 28 : Encrypted_Message() 29 : Get_Rijndael_Key_Sequence_Number() 30 : Rijndael_Key() 31 : Sequence_Number() 32 : Decrypt_Message() 33 : Decrypted_Message() 34 : Parse_Transaction_Message() 35 : Sequence_Number() 36 : Digital_Signature() 37 : Version() 38 : Get_Server_Data() 39 : Server_Data() 40 : Verify_Digital_Signature() 41 : Compute_Hash() 42 : Hash_Value() 43 : Decrypt() 44 : Decrypted_Hash_Value() 45 : Status() 46 : Update_Sequence_Number() 47 : Transaction_Status()

(10)

IV.4.3. Use Case Mengolah SMS Fase Aktivasi

Ada 8 kelas kelas yang teridentifikasi pada use case mengolah SMS fase aktivasi. Kelas-kelas tersebut dapat dilihat pada Tabel IV-7. Diagram kelas analisis use case mengolah SMS fase aktivasi dapat dilihat pada Gambar IV-7.

Tabel IV-7 Identifikasi kelas analisis use case mengolah SMS fase aktivasi

No Nama Kelas Jenis Kelas

1. ServerController Control 2. SMSServerParser Entity 3. Customer Entity 4. SHA-1 Entity 5. DigitalSignatureServer Entity 6. RSAServer Entity 7. DBConnect Interface

8. Diffie Hellman Entity

SMSParserServer SHA-1 Customer ServerController DigitalSignatureServer Diffie Hellman RSAServer DBConnect

Gambar IV-7 Diagram kelas analisis use case mengolah SMS fase aktivasi

Diagram sequence use case mengolah SMS fase aktivasi dapat dilihat pada Gambar IV-8.

(11)

: Timer : DBConnect <<boundary>> : ServerController <<control>> : SMSParserServer <<entity>> : RSAServer <<entity>> : DigitalSignatureServer <<control>> : SHA-1 <<entity>> : DiffieHellman <<entity>> 1 : Read_SMS_Message() 2 : SMS_Message() 3 : Process_Message() 4 : Parse_Message() 5 : Version() 6 : Encrypted_Message() 7 : Customer_Code() 8 : Activate_SMS_Banking_Service() 9 : Get_Customer_Data() 10 : Customer_Data() 11 : Get_Server_Data() 12 : Server_Data() 13 : Decrypt_Message() 14 : Decrypted_Message() 15 : Parse_Handshaking_Client_Message() 16 : PIN() 17 : Activation_Code() 18 : X_Diffie_Hellman_Value() 19 : Digital_Signature() 20 : Is_Valid_Client_Handshaking_Message() 21 : Verify_Digital_Signature() 22 : Compute_Hash_Value() 23 : Hash_Value() 24 : Decrypt() 25 : Decrypted_Hash_Value() 26 : Status() 27 : Compute_Y_Diffie_Hellman_Value() 28 : Y_Diffie_Hellman_Value() 29 : Compute_Symmetric_Key() 30 : Symmetric_Key() 31 : Update_Symmetric_Key() 32 : Update_Sequence_Number() 33 : Create_Digital_Signature() 34 : Compute_Hash_Value() 35 : Hash_Value() 36 : Encrypt() 37 : Encrypted_Hash_Value() 38 : Digital_Signature() 39 : Encrypt() 40 : Encrypted_Message() 41 : Send_Message()

(12)

IV.4.4. Use Case Mengolah SMS Fase Transaksi

Ada 8 kelas kelas yang teridentifikasi pada use case mengolah SMS fase transaksi. Kelas-kelas tersebut dapat dilihat pada Tabel IV-8. Diagram kelas analisis use case mengolah SMS fase transaksi dapat dilihat pada Gambar IV-9.

Tabel IV-8 Identifikasi kelas analisis use case mengolah SMS fase transaksi

No Nama Kelas Jenis Kelas

1. ServerController Control 2. SMSServerParser Entity 3. Customer Entity 4. RijndaelServer Entity 5. DigitalSignatureServer Entity 6. RSAServer Entity 7. DBConnect Interface 8. SHA-1 Entity SMSParserServer SHA-1 Customer ServerController DigitalSignatureServer Diffie Hellman RSAServer DBConnect RijndaelServer

Gambar IV-9 Diagram kelas analisis use case mengolah SMS fase transaksi

Diagram sequence use case mengolah SMS fase transaksi dapat dilihat pada Gambar IV-10.

(13)

: Timer : DBConnect <<boundary>> : ServerController <<control>> : SMSParserServer <<entity>> : RijndaelServer <<entity>> : DigitalSignatureClient <<control>> : RSAServer <<entity>> : SHA-1 <<entity>> 1 : Read_SMS_Message() 2 : SMS_Message() 3 : Process_Message() 4 : Parse_SMS_Message() 5 : Version() 6 : Encrypted_Message() 7 : Customer_Code() 8 : Transact_SMS_Banking_Service() 9 : Get_Customer() 10 : Customer_Data() 11 : Get_Server_Data() 12 : Server_Data() 13 : Decrypt_Message() 14 : Decrypted_Message() 15 : Parse_Transaction_Message() 16 : Sequence_Number() 17 : PIN() 18 : Transaction_Code() 19 : Transaction_Payload1() 20 : Transaction_Payload2() 21 : Digital_Signature() 22 : Is_Valid_Transaction_Data() 23 : Verify_Digital_Signature() 24 : Decrypt() 25 : Decrypted_Hash_Value() 26 : Compute_Hash_Value() 27 : Hash_Value() 28 : Status() 29 : Perform_Transaction() 30 : Generate_Sequence_Number()

31 : Update_Sequence_Number() 32 : Create_Digital_Signature() 33 : Encrypt()

34 : Encrypted_Hash_Value() 35 : Compute_Hash_Value() 36 : Hash_Value() 37 : Digital_Signature() 38 : Encrypt_Message() 39 : Decrypted_Message() 40 : Send_Message()

(14)

IV.4.5. Diagram Kelas Analisis Keseluruhan

Bagian ini diisi dengan diagram kelas analisis keseluruhan yang dibangun dari kelas analisis yang didapat pada subbab sebelumnya. Dengan adanya diagram kelas analisis ini, dapat dilihat keterkaitan masing-masing kelas dan hubungan antar masing-masing use case. Diagram kelas analisis keseluruhan dapat dilihat pada Gambar IV-11.

SMSParserServer SHA-1 Customer ServerController DigitalSignatureServer Diffie Hellman RSAServer DBConnect ClientController RSAClient SMS_Banking_Interface ClientParser DigitalSignatureClient Customer ClientDBConnect SHA-1 SMS_Banking_Transaction RijndaelClient SMS_Banking_Activation RijndaelServer

(15)

IV.5 Perancangan Perangkat Lunak

Pada subbab ini, akan dibahas perancangan perangkat lunak yang meliputi realisasi use case tahap perancangan, diagram kelas keseluruhan, dan perancangan antarmuka. Perancangan perangkat lunak didasarkan pada analisis perangkat lunak yang sudah dipaparkan sebelumnya.

IV.5.1. Realisasi Use Case Tahap Perancangan IV.5.1.1. Use Case mengaktivasi layanan SMS-Banking

Berdasarkan diagram kelas analisis pada bab sebelumnya yaitu Gambar IV-3 didapatkan rancangan kelas seperti yang terlihat pada Gambar IV-12.

ClientController +DSC +RSAC +ClientDBCon +rC +SMSProcessor +msgCondition +CP +Count +FirstMessage +ReceivedMsg +Status +ActivateSMSBankingService() +ReceiveMessage() +SendMessage() +IntToString() +ReceiveServerSMSMessage() +TransactSMSBankingService() +ReceiveServerHandshakingMessage() +ProcessServerHandshakingMessage() ClientParser +CreateClientTransactionMessage() +ParseHandshakingServerMessage() +ParseServerTransactionMessage() +ParseSMSMessage() Customer +AccNum +ActCode +CustCode +PINCode +XDF +AccNum +Bal +Name +RijndIV +RijndKey +RSAParam +SeqNum +Stat +TelNum +TransactionCode +Transactionpayload1 +Transactionpayload2 +AccountNumber() +ActivationCode() +CustomerCode() +Balance() +CustomerName() +RijndaelIV() +RijndaelKey() +RSAP() +SequenceNumber() +Status() +TelephoneNumber() +TransactionCode() +TransactionPayload1() +TransactionPayload2() +PIN() +XDiffieHellmanValue() RSAClient +Decrypt() +Encrypt() +EncryptClientHandshakingData() DigitalSignatureClient +CreateDigitalSignature() +CreateDigitalSignatureForClientTransactionData() +CreateDigitalSignatureForClientHandshaking() +VerifyDigitalSignatureHandshakingServer() +VerifyDigitalSignatureTransactionServer() DiffieHellman +CreateKeyExchange()

+DecryptKeyExchange() SMSBankingActivation SMSBankingInterface

ClientDBConnect +con +GetServerData() +GetCustomerRSAKey() +InitializeTable() +GetCustomerStatus() +GetCustomerSequenceNumberAndRijndaelKey() +UpdateCustomerStatusSeqNRijndael() +UpdateCustomerSequenceNumber() +IsDataAvailable() +GetCustomerAndServerData() SHA-1 +ComputeHash()

Gambar IV-12 Diagram kelas perancangan use case mengaktivasi layanan SMS-Banking

Berdasarkan hasil sequence diagram analisis pada Gambar IV-4 didapatkan sequence diagram perancangan seperti yang terlihat pada Gambar IV-13.

(16)

: User

: SMSBankingInterface

: SMSBankingActivation

: ClientController : DigitalSignatureClient : DiffieHellman

: RSAClient : ClientParser : SHA-1 : ClientDBConnect 1 : Click_Menu() 2 : Enter_CustomerCode() 3 : Enter_PIN() 4 : Enter_Activation_Code() 5 : Click_Activation_Button() 6 : ActivateSMSBankingService() 7 : GetServerData() 8 : ServerData() 9 : CreateKeyExchange() 10 : XDiffieHellmanValue() 11 : CreateDigitalSignatureForClientHandshaking() 12 : ComputeHash() 13 : Hash_Value() 14 : Encrypt() 15 : Signed_Hash_Value() 16 : DigitalSignature() 17 : EncryptClientHandshakingData() 18 : EncryptedMessage() 19 : SendMessage() 20 : ReceiveServerHandshakingMessage() 21 : ProcessServerHandshakingMessage() 22 : ParseSMSMessage() 23 : ParsedMessage() 24 : Decrypt() 25 : DecryptedMessage() 26 : ParseHandshankingServerMessage() 27 : ParsedMessage() 28 : GetServerData() 29 : ServerData() 30 : VerifyDigitalSignatureHandshakingServer()31 : ComputeHash() 32 : HashValue() 33 : Decrypt() 34 : HashValue() 35 : Status() 36 : DecryptKeyExchange() 37 : SymmetricKey() 38 : UpdateCustomerStatusSeqNRinjdael() 39 : Activation_Status_Message()

(17)

IV.5.1.2. Use Case Melakukan Transaksi SMS-Banking

Berdasarkan diagram kelas analisis pada bab sebelumnya yaitu pada Gambar IV-5 didapatkan rancangan kelas seperti yang terlihat pada Gambar IV-14.

SMSBankingTransaction ClientController +DSC +RSAC +ClientDBCon +rC +SMSProcessor +msgCondition +CP +Count +FirstMessage +ReceivedMsg +Status +ActivateSMSBankingService() +ReceiveMessage() +SendMessage() +IntToString() +ReceiveServerSMSMessage() +TransactSMSBankingService() +ReceiveServerHandshakingMessage() +ProcessServerHandshakingMessage() ClientParser +CreateClientTransactionMessage() +ParseHandshakingServerMessage() +ParseServerTransactionMessage() +ParseSMSMessage() Customer +AccNum +ActCode +CustCode +PINCode +XDF +AccNum +Bal +Name +RijndIV +RijndKey +RSAParam +SeqNum +Stat +TelNum +TransactionCode +Transactionpayload1 +Transactionpayload2 +AccountNumber() +ActivationCode() +CustomerCode() +Balance() +CustomerName() +RijndaelIV() +RijndaelKey() +RSAP() +SequenceNumber() +Status() +TelephoneNumber() +TransactionCode() +TransactionPayload1() +TransactionPayload2() +PIN() +XDiffieHellmanValue() RSAClient +Decrypt() +Encrypt() +EncryptClientHandshakingData() DigitalSignatureClient +CreateDigitalSignature() +CreateDigitalSignatureForClientTransactionData() +CreateDigitalSignatureForClientHandshaking() +VerifyDigitalSignatureHandshakingServer() +VerifyDigitalSignatureTransactionServer() SMSBankingInterface ClientDBConnect +con +GetServerData() +GetCustomerRSAKey() +InitializeTable() +GetCustomerStatus() +GetCustomerSequenceNumberAndRijndaelKey() +UpdateCustomerStatusSeqNRijndael() +UpdateCustomerSequenceNumber() +IsDataAvailable() +GetCustomerAndServerData() SHA-1 +ComputeHash() RijndaelClient +CreateEncryptedTransactionData() +DecryptString() +EncryptString()

Gambar IV-14 Diagram kelas perancangan use case melakukan transaksi SMS-Banking

Berdasarkan hasil sequence diagram analisis pada Gambar IV-6 didapatkan sequence diagram perancangan seperti yang terlihat pada Gambar IV-15.

(18)

: User : SMSBankingInterface : SMSBankingTransaction : ClientController : ClientDBConnect : DigitalSignatureClient : RSAClient : SHA-1 : RijndaelClient : ClientParser 1 : Click_Transaction_Button() 2 : ShowSMSBankingTransaction() 3 : Enter_Customer_Code() 4 : Enter_PIN() 5 : Enter_Transaction_Code() 6 : Enter_Transaction_Payload1() 7 : Enter_Transaction_Payload2() 8 : Click_Transact_Button() 9 : transactSMSBankingService() 10 : GetCustomerSequenceNumberAndRijndaelKey() 11 : Sequence_Number_And_Rijndael_Key() 12 : GetServerData() 13 : ServerData() 14 : CreateDigitalSignatureForClientTransactionData() 15 : ComputeHash() 16 : HashValue() 17 : Encrypt() 18 : SignedHashValue() 19 : DigitalSignature() 20 : CreateEncryptedTransactionData() 21 : EncryptedMessage() 22 : SendMessage() 23 : receiveMessage() 24 : parseSMSMessage() 25 : Version() 26 : EncryptedMessage() 27 : DigitalSignature() 28 : GetCustomerSequenceNumberAndRijndaelKey() 29 : Sequence_Number_And_Rijndael_Key() 30 : DecryptString() 31 : DecryptedMessage() 32 : parseServerTransactionMessage()

33 : RepliedMessage, Digital Signature, version, sequence number() 34 : UpdateCustomerSequenceNumber()

35 : Show_Replied_Message()

(19)

IV.5.1.3. Use Case Mengolah SMS Fase Aktivasi

Berdasarkan diagram kelas analisis pada bab sebelumnya yaitu pada Gambar IV-7 didapatkan rancangan kelas seperti yang terlihat pada Gambar IV-16.

DiffieHellman +CreateKeyExchange() +DecryptKeyExchange() DigitalSignatureServer +CreateDigitalSignature() +CreateDigitalSignatureHandshakingClientData() +CreateDigitalSignatureforHandshakingServerData() +CreateDigitalSignatureForTransactionServerData() +VerifyDigitalSignature() +VerifiyDigitalSignatureClientData() DBConnect +string con +UpdateCustomerSequenceNumberByCustomerCode() +SelectCustomer() +InsertTransactionLog() +UpdateCustomerSymmetricKeyByCustomerCode() +GetFirstMessageOfMultipleSMS() +SendMessage() +GetServerData() +InsertNewCustomer() +GetCustomerByCustomerCode() Server Controller +state +SPS +dBC +DSS +ActivateSMSBankingService() +GenerateSequenceNumber() +IsValidClientTransactionMessage() +IsValidTransactionCode() +PerformTransaction() +ReceiveSMSMessage() +TransactSMSBankingService() +IsValidClientHandshakingMessage() SMSParserServer +ParseClientTransactionMessage() +ParseHandshakingClientMessage() +ParseSMSMessage() RijndaelServer +CreateEncryptedTransactionDataServer() +DecryptString() +EncryptString() RSAServer +Decrypt() +Encrypt() +EncryptClientHandshakingData() +EncryptServerHandshakingData() SHA-1 +ComputeHash()

Gambar IV-16 Diagram kelas perancangan use case mengolah SMS fase aktivasi

Berdasarkan hasil sequence diagram analisis pada Gambar IV-8 didapatkan sequence diagram perancangan seperti yang terlihat pada Gambar IV-17.

(20)

: Timer : DBConnect : Server Controller : RSAServer : SMSParserServer : DigitalSignatureServer : SHA-1 : DiffieHellman 1 : Read_SMS() 2 : SMS_Message() 3 : ReceiveSMSMessage() 4 : ParseSMSMessage()

5 : Version, Customer Code, EncryptedMessage() 6 : ActivateSMSBankingService() 7 : GetCustomerByCustomerCode() 8 : Customer_Data() 9 : GetServerData() 10 : ServerData() 11 : Decrypt() 12 : DecryptedMessage() 13 : parseHandshakingClientMessage()

14 : PIN, X Diffie Hellman, DigitalSignature() 15 : IsValidClientHandshakingMessage() 16 : VerifyDigitalSignature() 17 : Decrypt() 18 : HashValue() 19 : ComputeHash() 20 : HashValue() 21 : DigitalSignature() 22 : CreateKeyExchange()

23 : Y Diffie Hellman Value() 24 : DecryptKeyExchange() 25 : SymmetricKey() 26 : UpdateCustomerSymmetricKeyByCustomerCode() 27 : CreateDigitalSignatureForHandshakingServerData() 28 : ComputeHash() 29 : HashValue() 30 : Encrypt() 31 : SignedHashValue() 32 : DigitalSignature() 33 : EncryptServerHandshakingData() 34 : EncryptedMessage() 35 : SendMessage()

(21)

IV.5.1.4. Use Case Mengolah SMS Fase Transaksi

Berdasarkan diagram kelas analisis pada bab sebelumnya yaitu pada Gambar IV-9 didapatkan rancangan kelas seperti yang terlihat pada Gambar IV-18.

RijndaelServer +CreateEncryptedTransactionDataServer() +DecryptString() +EncryptString() DigitalSignatureServer +CreateDigitalSignature() +CreateDigitalSignatureHandshakingClientData() +CreateDigitalSignatureforHandshakingServerData() +CreateDigitalSignatureForTransactionServerData() +VerifyDigitalSignature() +VerifiyDigitalSignatureClientData() DBConnect +string con +UpdateCustomerSequenceNumberByCustomerCode() +SelectCustomer() +InsertTransactionLog() +UpdateCustomerSymmetricKeyByCustomerCode() +GetFirstMessageOfMultipleSMS() +SendMessage() +GetServerData() +InsertNewCustomer() +GetCustomerByCustomerCode() Server Controller +state +SPS +dBC +DSS +ActivateSMSBankingService() +GenerateSequenceNumber() +IsValidClientTransactionMessage() +IsValidTransactionCode() +PerformTransaction() +ReceiveSMSMessage() +TransactSMSBankingService() +IsValidClientHandshakingMessage() SMSParserServer +ParseClientTransactionMessage() +ParseHandshakingClientMessage() +ParseSMSMessage() RijndaelServer +CreateEncryptedTransactionDataServer() +DecryptString() +EncryptString() RSAServer +Decrypt() +Encrypt() +EncryptClientHandshakingData() +EncryptServerHandshakingData() SHA-1 +ComputeHash()

Gambar IV-18 Diagram kelas perancangan use case mengolah SMS fase transaksi

Berdasarkan hasil sequence diagram analisis pada Gambar IV-10 didapatkan sequence diagram perancangan seperti yang terlihat pada Gambar IV-19.

(22)

: User : DBConnect : Server Controller : SMSParserServer : RijndaelServer : DigitalSignatureServer : RSAServer : SHA-1 1 : Read_SMs() 2 : SMS_Message() 3 : ReceiveSMSMessage() 4 : ParseSMSMessage()

5 : Version, EncryptedMessage, CustomerCode() 6 : TransactSMSBankingService() 7 : GetServeData() 8 : ServerData() 9 : GetCustomerByCustomerCode() 10 : CustomerData() 11 : DecryptString() 12 : DecryptedMessage() 13 : parseClientTransactionMessage()

14 : PIN, Transaction Code, Payload1, Payload2, Digital Signture, Sequence Diagram() 15 : isValidClientTransactionMessage() 16 : VerifyDigitalSignatureClientDataTransaction() 17 : Decrypt() 18 : HashValue() 19 : ComputeHash() 20 : HashValue() 21 : DigitalSignature() 22 : PerformTransaction() 23 : GenerateSequenceNumber() 24 : UpdateCustomerSequenceNumberByCustomerCode() 25 : CreateDigitalSignatureForTransactionServerData() 26 : ComputeHash() 27 : HashValue() 28 : Encrypt() 29 : SignedHashValue() 30 : DigitalSignature() 31 : CreateEncryptedTransactionDataServer() 32 : EncryptedMessage() 33 : SendMessage()

(23)

IV.5.2. Perancangan Antarmuka

Untuk memudahkan pengguna dalam menggunakan perangkat lunak, maka dibuatlah antarmuka pada perangkat lunak bagian klien dan server. Terdapat dua macam antarmuka pada bagian klien yaitu antarmuka aktivasi layanan SMS-Banking dan antarmuka transaksi layanan SMS-Banking. Antarmuka yang dibuat pada bagian ini dibuat sedemikian rupa agar tetap terlihat sederhana namun fungsional bagi pengguna. Antarmuka aktivasi layanan Banking dapat dilihat pada Gambar IV-20, sedangkan antarmuka aktivasi layanan SMS-Banking dapat dilihat pada Gambar IV-21. Selain itu, terdapat pula sebuah antarmuka pada bagian server. Antarmuka pada bagian ini dibuat sedemikian rupa agar tetap terlihat sederhana namun informatif. Antarmuka bagian server dapat dilihat pada Gambar IV-22.

Gambar IV-20 Antarmuka aktivasi layanan SMS-Banking

Pada Gambar IV-20, terdapat tiga buah textbox dan satu tombol. Untuk mengaktifkan layanan SMS-Banking, pengguna harus mengisi ketiga buah textbox tersebut, lalu menekan tombol aktifkan. Setelah itu, status yang terdapat pada antarmuka akan berubah. Pada Gambar IV-21, terdapat empat buah textbox, satu buah dropdown dan satu buah tombol. Untuk melakukan transaksi layanan SMS-Banking, pengguna harus memasukkan ketiga buah

(24)

textbox tersebut, memilih salah satu jenis transaksi, dan menekan tombol OK. Setelah itu, status yang terdapat pada antarmuka akan berubah.

Gambar IV-21 Antarmuka transaksi layanan SMS-Banking

Pada Gambar IV-15 terdapat tiga buah tombol dan satu buah textbox multiline. Pada antarmuka ini, pengguna dapat memulai atau memberhentikan server bank dengan mengklik tombol yang sesuai. Selain itu, pengguna dapat melihat log atau catatan kejadian dari sistem serta menyegarkan log transaksi dengan menekan tombol refresh.

(25)

IV.5.3. Perancangan Basis Data Server

Rancangan skema basis data pada server yang menyimpan informasi pengguna, server dan transaksi pengguna dapat dilihat pada Gambar IV-23.

Gambar IV-23 Rancangan basis data server

IV.5.4. Perancangan Basis Data Klien

Rancangan skema basis data pada klien yang menyimpan informasi pengguna dan informasi server dapat dilihat pada Gambar IV-24.

Gambar

Gambar  IV-1 Arsitektur perangkat lunak simulasi protokol SMS-Banking
Tabel  IV-1 Kebutuhan fungsional perangkat lunak
Gambar  IV-2 Diagram Use Case menampilkan kebutuhan fungsional perangkat lunak  yang  dapat  digunakan  oleh  aktor  user
Tabel   IV-4  Definisi  Use  Case  berisi  deskripsi  use  case  yang  telah  dijelaskan  pada  subbab  IV.3.1 Diagram Use Case
+7

Referensi

Dokumen terkait

Dengan adanya kasus iklan tarif operator GSM yang terjadi di masyarakat Indonesia, maka seharusnya adanya pengawasan lebih yang dilakukan oleh pemerintah terhadap para pelaku

Peraturan Pemerintah Nomor 79 Tahun 2005 tentang pedoman Pembinaan dan Pengawasan Penyelenggaraan Pemerintahan Daerah (Lembaran Negara Republik Indonesia Tahun 2005

Tujuan penelitian ini adalah (1) inventarisasi data dan informasi yang dapat digunakan dalam identifikasi potensi LP2B, (2) melakukan identifikasi lahan pertanian

Tidak termanfaat kan nya lahan kosong Petani tidak tahu cara mengolah dan memanfaat kan lahan secara optimal Agar petani tahu cara mengolah dan memanfaatk an lahan secara

Dari lokasi, diamankan barang bukti puluhan anak panah dan beberapa botol berisi bensin (molotov). Kapolsek Tebet Kompol I Ketut Sudarma mengatakan, pihaknya bersama

Tujuan penelitian ini untuk mengetahui pengaruh air rebusan cacing tanah ( Lumbricus rubellus ) dalam menghambat pertumbuhan bakteri Escherichia coli..

Setelah image terdegradasi disiapkan, maka setiap image akan melalui proses restorasi dengan jumlah iterasi 300000, dengan 2 temperature yang berbeda, yakni 0,5 dan 4,5 dan masing

Pada kenyataannya sistem deteksi / identifikasi frekuensi radio ini dapat dirakit dengan baik dengan beberapa perangkat library dari Arduino, yaitu AddicoreRFID.h, yang akan