5
Pada bab ini dibahas teori-teori yang diperlukan dalam pembuatan Aplikasi Form Import barang berbasis Android pada SINOKOR MERCHANT MARINE CO., LTD. dengan Socket Programming.
2.1 Teori Yang Berkaitan Dengan Software Engineering
2.1.1 Waterfall
Waterfall model atau juga yang dikenal dengan sebutan classic life cycle merupakan salah satu model proses dalam pembuatan suatu program aplikasi. Model ini disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu tahap sebelumnya selesai dan berjalan berurutan.(pressman dan maxim,2014 : 42).
Sedangkan menurut Sommerville(2010: 30-31) model proses pengembangan perangkat lunak waterfall merupakan plan-driven process atau pada prinsipnya pengembangan harus membuat rencana dan jadwal pekerjaan sebelum melakukan pekerjaan. Model proses waterfall memiliki tahapan-tahapan sebagai berikut:
1. Requirement Analysis and Definition
Pada tahap ini dilakukan proses pengumpulan kebutuhan secara lengkap kemudian dilakukan analisis dan didefinisikan secara rinci dan disajikan sebagai sistem spesifikasi.
2. System and Software Design
Pada tahap ini dilakukan proses desain sistem dengan mengalokasikan requirement perangkat keras maupun perangkat lunak dengan membentuk sistem arsitektur secara keseluruhan.
Software desain melibatkan proses identifikasi dasar abstraksi
sistem perangkat lunak dan hubungannya.
3. Implementation and Unit Testing
Pada tahap ini desain perangkat lunak direalisasikan sebagai program. Program yang telah direalisasi diuji dengan cara memverifkasi apakah setiap unit memenuhi spesifikasi awalnya.
4. Integration and System Testing
Pada tahap ini program yang telah diuji dipastikan sudah memenuhi software requirement. Apabila telah terpenuhi, sistem perangkat lunak didistributorkan kepada user.
5. Operation and Maintenance
Pada tahap ini dilakukan pengoprasian program dan dilakukan pemeliharaan seperti perubahan karena adaptasi dengan situasi sebenarnya.
2.1.2 Unifield Modelling Languange
Unifield Modelling Languange atau yang bisa disebut UML ini adalah suatu gambaran yang digunakan untuk menganalisa, menentukan, dan sistem desain suatu perangkat lunak. (Whitten & Bentley, 2007:371).
UML berfungsi sebagai (blue print) cetak biru karena sangat lengkap
dan detail. Dengan cetak biru ini maka akan diketahui informasi secara
detail tentang coding program atau bahkan membaca program dan
menginterpretasikan kembali ke dalam bentuk diagram. UML memiliki
tujuan untuk dapat membangun suatu model dari suatu sistem dengan
meningkatkan suatu kompleksitas sistem, visualisasi, dan pemodelan
yang dapat memungkinkan user atau pengguna dari sistem tersebut dapat
memahami sistem secara keseluruhan. UML memiliki berbagai jenis
diagram-diagram yang dapat memberikan suatu gambaran tertentu dari
suatu sistem.
Terdapat jenis-jenis diagram didalam perancangan UML, antara lain:
2.1.2.1 Use Case Diagram
Use Case Diagram ini menggambarkan siapa saja yang dapat berinteraksi dengan sistem. Use Case Diagram ini digunakan untuk mengidentifikasi siapa yang berinteraksi dengan sistem dan apa yang harus dilakukan sistem. Elemen- elemen dari Use Case Diagram itu terdiri dari:
Tabel 2.1 Simbol dari use case diagram
No Simbol Gambar Keterangan
1 Actor Actor adalah seseorang yang
berinteraksi dengan sistem dan dapat berupa manusia maupun sistem.
Gambar Actor ini digambarkan dengan stickman yang akan dipresentasikan sebagai seseorang atau sesuatu yang akan berinteraksi langsung dengan sistem.
2 Use Case Fungsionalitas dari suatu sistem yang mengekspresikan tujuan dari suatu sistem yang harus dicapai. Diberikan nama sesuai dengan tujuan untuk tercapainya kerja sistem.
3 Association
Relattionship Asisosiasi adalah hubungan antara actors dan sebuah use case dimana interaksi terjadi antara mereka. Garis tanpa tanda panah itu merupakan interaksi anatara use case dengan external server atau bisa juga dengan receiver actor.
4 Generalisasi
Relationship Hubungan antara actors dan sebuah use case dimana interaksi terjadi antara mereka. Garis dengan tanda panah menjelaskan use case tersebut dilakukan oleh actor.
5 Extends Extends dapat digunakan pada saat use
case memiliki beberapa tahapan.
Tahapan tersebut akan dapat menghasilkan use case yang disebut juga dengan extension use case.
Tahapan memiliki tahap selanjutnya
yang harus diselesaikan.
6 Include Include digunakaan saat dua atau lebih dari use case dari suatu sistem yang melakukan tahapan fungsionalitas yang sama. Gabungan dari use case ini disebut juga dengan abstract use case.
7 Depends On Depends On adalah relasi yang
menggambarkan dari suatu use case yang tidak bisa dilaksanakan sampai use case yang lainnya dilaksanakan.
8 Inheritance Depends On adalah relasi yang
menggambarkan dari suatu use case yang tidak bisa dilaksanakan sampai use case yang lainnya dilaksanakan.
9 Subsystem Cakupan dari suatu sistem yang
dijalankan didalam use case.
• Berikut ini adalah salah satu contoh dari use case diagram suatu sistem tertentu:
Gambar 2.1 Use Case Diagram
(Whitten & Bentley, 2007:246)
2.1.2.2 Use Case Narrative
Use case narratives adalah dokumentasi secara high level (tingkat tinggi atau secara luas) untuk memahami kejadian dan tingkatan pada sistem. Setiap use case harus diperluas untuk memasukkan aliran khusus dari kejadian dan aliran alternatifnya. Aliran khusus use case dari kejadian adalah deskripsi langkah demi langkah yang dimulai dari seorang actor yang memulai proses dan berlanjut sampai akhir kejadian. Aliran alternative mendokumentasi jalur bercabang dari use case (Whitten & Bentley, 2007: 256).
2.1.2.3 Class Diagram
Class Diagram ini digunakan untuk menggambarkan suatu struktur dari sebuah sistem. Objek adalah suatu contoh dari sebuah class yang dapat dibuat, dimodifikasi, maupun dihapus selama sistem berjalan. Sebuah objek dapat mencangkup nilai- nilai dari atribut yang kaitannya dengan objek yang lain (Whitten & Bentley, 2007: 400). Class Diagram memiliki tiga aspek pokok, yaitu:
Tabel 2.2 Class diagram
No Simbol Gambar Keterangan
1 Nama atau Object Instance
Merupakan nama dari suatu class yang digunakan sebagai pembeda dari suatu objek tertentu.
2 Atribute Merupakan property atau data yang
berada pada class tersebut.
3 Behavior Merupakan fungsi atau operasi yang
dimiliki pada class tersebut.
• Visibility
Dalam class diagram, suatu objek memiliki hak akses terhadap atribute dan behavior yang disebut visibility. Ada tiga jenis visibility, yaitu(Whitten & Bentley, 2007: 650):
Tabel 2.3 Visibility
No Simbol Gambar Keterangan
1 Public + Atribute atau behavior dapat dipanggil oleh semua class yang berhubungan.
2 Private - Atribute atau behavior digunakan oleh class itu sendiri dan tidak dapat dipanggil oleh class lain.
3 Protected # Atribute atau behavior digunakan oleh class itu sendiri dan class turunannya (child).
• Multiplicity
Antar class dalam class diagram memiliki hubungan yang dilengkapi dengan multiplicity, yaiut jumlah minimal dan maksimal suatu objek class yang berhungungan dengan objek class lainnya, terdiri dari (Whitten &
Bentley, 2007: 377):
Tabel 2.4 Multiplicity
No Gambar Keterangan
1 Dari 0 sampai 1 atau minimum 0 maximum 1
2 Dari 1 sampai 1 atau minimum 1 maximum 1
3 Dari 0 sampai banyak atau minimum 0 maximum sampai ke-n
4 Dari 1 sampai banyak atau minimum 1 maximum sampai ke-n