BAB II LANDASAN TEORI Pada bab ini berisi teori

advertisement
BAB II
LANDASAN TEORI
Pada bab ini berisi teori-teori yang mendukung penyusunan tugas akhir dan
berbagai macam literatur yang dipergunakan sebagai dasar pelaksanaan penelitian
maupun metode-metode yang digunakan pada saat perancangan dan pengembangan
sistem.
2.1. Pengertian Penjadwalan Pada Proses Produksi
Penjadwalan merupakan proses pengurutan pembuatan produk secara
menyeluruh pada sejumlah mesin tertentu. Penjadwalan juga dapat dipandang
sebagai proses pengalokasian sumber daya atau mesin -mesin yang ada untuk
menjalankan sekumpulan tugas dalam jangka waktu tertentu (Baker, 1974). Tujuan
penjadwalan secara umum yaitu :
1. Meningkatkan produktivitas mesin, yaitu dengan mengurangi waktu
mesin menganggur.
2. Mengurangi persediaan barang setengah jadi dengan cara mengurangi
jumlah rata-rata pekerjaan yang menunggu dalam antrian suatu mesin
karena mesin tersebut sibuk.
3. Meminimasi ongkos produksi.
2.1.1 Pengertian Penjadwalan Produksi
Pekerjaan-pekerjaan yang berupa alokasi kapasitas untuk pemesanan ,
penugasan prioritas pekerjaan dan pengendalian jadwal produksi membutuhkan
informasi terperinci yang disebut sebagai input sistem penjadwalan. Terdapat
beberapa hal yang perlu diketahui sebelum pekerjaan dapat dijadwalkan (Bedworth,
1987), yaitu:
a. Jumlah dan jenis pekerjaan yang harus diselesaikan selama periode
tertentu.
b. Perkiraan waktu penyelesaian suatu pekerjaan (processing time)
c. Batas waktu (due date) penyelesaian pekerjaan untuk memperkirakan
keterlambatan (lateness) yang mungkin terjadi.
d. Tujuan dari penjadwalan yang ada.
e. Situasi pekerjaan yang dihadapi .
7
http://digilib.mercubuana.ac.id/
2.1.2 output penjadwalan
Untuk memastikan bahwa suatu aliran kerja yang lancar akan melalui
tahapan produksi, maka sistem penjadwalan harus membentuk aktivitas -aktivitas
output (Nasution, 2003) sebagai berikut:
a. Pembebanan (Loading) Pembebanan melibatkan penyesuaian kebutuhan
kapasitas untuk pesanan yang diterima dengan kapasitas yang tersedia.
b. Pengurutan (Sequencing) Pengurutan ini merupakan penugasan tentang
pekerjaan mana yang diprioritaskan untuk diproses dahulu bilasuatu
fasilitas mempunyai banyak pekerjaan yang harus diselesaikan.
c. Prioritas Job (Dispatching) Dispatching merupakan prioritas kerja mana
yang diseleksi dan diprioritaskan untuk diproses.
d. Pengendalian kinerja penjadwalan
2.2 Java
2.2.1 Sejarah Singkat Java
Java lahir dari sebuah green project yang berjalan selama 18 bulan
yaitu pada awal 1991 sampai musim panas 1992. Proyek yang dimotori oleh
Patrick Naugton, Bill Joy, James Gosling, dan sembilan pemrogram lainnya
dari tim Sun Microsystem yang pada awalnya membuat bahasa
pemrograman kecil yang akan di terapkan pada perangkat elektronik.
Bahasa pemrograman ini kemudian diberi nama Oak yang merupakan nama
salah satu jenis pohon yang tumbuh diluar jendela pemimpin proyek
tersebut.
Bahasa pemrograman Oak merupakan modifikasi dari C++ tetapi
lebih mudah beradaptasi pada berbagai sistem operasi dan platform. Seperti
yang telah dibuktikan oleh pengembang C++, bahasa pemrograman baru ini
lebih kuat tetapi telah memasukan banyak fitur yang dimikiki C++. Bahasa
Oak berganti (Westriningsih, 2012)nama menjdai Java setelah bergantinya
cara pelayanan konsumen peralatan elektronik dari pelayanan manual ke
8
http://digilib.mercubuana.ac.id/
pelayanan online kemudian tim Sun Microsystem mengganti bahasa
pemrograman desktop menjadi web browser. Web browser yang dirilis pada
Maret 1995 ini diberi nama HotJava karena Oak sudah digunakan untuk
merk dagang perangkat lunak yang telah dikembangkan terlebih dahulu.
Maka, nama HotJava-lah yang digunakan untuk versi rilis perangkat lunak
buatan Sun Microsystem yang berjalan pada web. Nama ini diambil dari
nama kopi murni yang digiling langsung (kopi tubruk) kesukaan James
Gsoling.
Java mempunyai tiga komponen yang sangat penting yaitu:

The Java Programming Language adalah bahasa pemrograman yang
digunakan untuk menulis kode program dalam platform Java.

The Java Platform adalah lingkungan yang digunakan untuk
menjalankan kode program yang telah ditulis pada bahasa
pemrograman Java.
2.2.2. Pengertian Java
Java adalah bahasa yang dapat dijalankan di sembarang platform, di
beragam lingkungan seperti internet, consumer electronic product, dan computer
applications. Salah satu edisi java adalah Java 2 Standard Edition. Java 2 Standard
Edition atau sering disebut dengan J2SE menyediakan lingkungan pengembangan
yang kaya fitur, stabil, aman, dan cross platform. Edisi ini mendukung konektivitas
basis data, rancangan antar muka pemakai, masukan/keluaran, dan pemrograman
jaringan dan termasuk sebagai paket-paket dasar bahasa Java (Kadir, 2004).
2.2.3. Kelebihan Java
Java sebagai bahasa pemograman memiliki kelebihan dan
kekurangan dengan bahasa pemograman lain, sehingga java cocok untuk
pemograman apa saja. Berikut beberapa kelebihan dari bahasa pemograman
java :

Multiplatform.
Kelebihan utama dari Java ialah dapat dijalankan di beberapa
platform / sistem operasi komputer, sesuai dengan prinsip tulis
sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram
9
http://digilib.mercubuana.ac.id/
cukup menulis sebuah program Java dan dikompilasi (diubah, dari
bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode)
sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa
perubahan. Kelebihan ini memungkinkan sebuah program berbasis
java dikerjakan diatas sistem operasi Linux tetapi dijalankan dengan
baik di atas Microsoft Windows. Platform yang didukung sampai
saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris.
Penyebabnya
adalah
setiap
sistem
operasi
menggunakan
programnya sendiri-sendiri (yang dapat diunduh dari situs Java)
untuk meninterpretasikan bytecode tersebut.

OOP.
OOP ( Object Oriented Programming ) , metode pemrograman yang
berorientasi kepada objek. Tujuan dari OOP diciptakan adalah untuk
mempermudah pengembangan program dengan mengikuti model
yang telah ada di kehidupan sehari-hari. Jadi, setiap bagian dari
suatu permasalahan adalah objek. Objek itu sendiri merupakan
gabungan dari beberapa objek yang lebih kecil lagi.

Library / Kumpulan Fungsi Lengkap.
Java terkenal dengan kelengkapan library / perpustakaan (kumpulan
program program yang disertakan dalam pemrograman java) yang
sangat memudahkan dalam penggunaan oleh para pemrogram untuk
membangun aplikasinya. Kelengkapan perpustakaan ini ditambah
dengan keberadaan komunitas Java yang besar yang terus menerus
membuat perpustakaan-perpustakaan baru untuk melingkupi
seluruh kebutuhan pembangunan aplikasi.

Bergaya C++.
Memiliki sintaks seperti bahasa pemrograman C++ sehingga
menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini
pengguna Java sangat banyak, sebagian besar adalah pemrogram
C++ yang pindah ke Java. Universitas-universitas di Amerika
Serikat juga mulai berpindah dengan mengajarkan Java kepada
murid-murid yang baru karena lebih mudah dipahami oleh murid
10
http://digilib.mercubuana.ac.id/
dan dapat berguna juga bagi mereka yang bukan mengambil jurusan
komputer.

Pengumpulan sampah / Pengaturan penggunaan memori.
Memiliki fasilitas pengaturan penggunaan memori sehingga para
pemrogram tidak perlu melakukan pengaturan memori secara
langsung (seperti halnya dalam bahasa C++ yang dipakai secara
luas).
2.2.4. Kekurangan Java
Adapun beberapa kekurangan bahasa pemograman java :

Tulis sekali, jalankan di mana saja. Masih ada beberapa hal yang
tidak kompatibel antara platform satu dengan platform lain. Untuk
J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak
berfungsi pada Mac OS X.

Mudah didekompilasi. Dekompilasi adalah proses membalikkan
dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode
jadi Java merupakan bytecode yang menyimpan banyak atribut
bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe
data. Hal yang sama juga terjadi pada Microsoft .NET Platform.
Dengan demikian, algoritma yang digunakan program akan lebih
sulit disembunyikan dan mudah dibajak/direverse-engineer.

Penggunaan memori yang banyak. Penggunaan memori untuk
program berbasis Java jauh lebih besar daripada bahasa tingkat
tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik
lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan
masalah bagi pihak yang menggunakan teknologi terbaru (karena
trend memori terpasang makin murah), tetapi menjadi masalah bagi
mereka yang masih harus berkutat dengan mesin komputer berumur
lebih dari 4 tahun.
11
http://digilib.mercubuana.ac.id/
Sebagai sebuah platform, java terdiri dari dua bagian utama yaitu :

Java Virtual Machine (JVM)
Java Virtual Machine adalah sebuah spesifikasi untuk sebuah
komputer abstrak. JVM terdiri dari sebuah kelas pemanggil dan
sebuah interpreter Java yang mengeksekusi kode arsitektur netral.
Kelas pemanggil memanggil file API untuk dieksekusi oleh
interpreter Java. Dengan kata lain JVM adalah sebagai perantara
antara program yang akan dijalankan dan sistem operasi yang
sedang digunakan.

Java Application Programming Interface (Java API)
Java API merupakan komponen-komponen dan kelas JAVA yang
sudah jadi, yang memiliki berbagai kemampuan. Kemampuan untuk
menangani objek, string, angka, dsb. Java API terdiri dari tiga
bagian utama:

Java Standard Edition (SE), sebuah standar API untuk
merancang aplikasi desktop dan applets dengan bahasa dasar
yang mendukung grafis, keamanan, konektivitas basis data
dan jaringan.

Java Enterprise Edition (EE), sebuah inisiatif API untuk
merancang aplikasi server dengan mendukung untuk basis
data.

Java Macro Edition (ME), sebuah API untuk merancang
aplikasi yang jalan pada alat kecil seperti telepon genggam,
komputer genggam dan pager
12
http://digilib.mercubuana.ac.id/
Pada saat ini teknologi java semakin berkembang, Sun Microsystem
memperkenalkan Java versi 1.2 atau lebih dikenal dengan nama Java 2 yang
terdiri atas JDK dan JRE versi 1.2. Pada Java 2 ini, java dibagi menjadi 3
kategori:

Java 2 Standart Edition (J2SE)
Kategori ini digunakan untuk menjalankan dan mengembangkan
aplikasi-aplikasi Java pada level PC (Personal Computer)

Java 2 Enterprise Edition (J2EE)
Kategori ini digunakan untuk menjalankan dan mengembangkan
aplikasi-aplikasi
Java
pada
lingkungan
enterprise
dengan
menambahkan fungsionalitas-fungsionalitas java semacam EJB
(Enterprise Java Bean), Java CORBA, Servlet dan JSP serta Java
XML (Extensible Markup Language)

Java 2 Micro Edition (J2ME)
Kategori ini digunakan untuk menjalankan dan mengembangkan
aplikasi-aplikasi java pada handled devices atau perangkatperangkat semacam handphone, Palm,PDA, dan Pocket PC. J2ME
dirancang untuk dapat menjalankan program Java pada perangkatperangkat semacam handphone dan PDA, yang memiliki
karakteristik yang berbeda dengan sebuah komputer biasa, misalnya
kecilnya jumlah memori pada handphone dan PDA. J2ME terdiri
atas komponen-komponen sebagai berikut Java Virtual Machine
(JVM) dan Java API (Application Programming Interface) serta
Tools lain untuk pengembangan aplikasi Java semacam emulator
Java Phone dan emulator Motorolla. Dalam J2ME dibagi menjadi
dua bagian yang dikenal dengan istilah configuration dan profile.
13
http://digilib.mercubuana.ac.id/
Tabel 2.1 Package pada Java
Package
Nama Package
Keterangan
Language
java.lang
Class-class utama yang merupakan
inti dari Bahasa java
Utilities
java.util
Class-class
yang
mendukung
utilitas struktur java
I/O
java.io
Class yang mendukung berbagai
macam tipe input dan output
Text
java.text
Class yang mendukung lokalisasi
penanganan teks, tanggal, bilangan,
dan message
Math
java.math
Class untuk melakukan perhitungan
aritmatik arbitrary-precesion, baik
integer atau floating point
AWT
java.awt
Class untuk perancangan userinterface dan envent-handling.
Swing
java.swing
Javax
Javax
Class untuk membuat berbagai
komponen dalam java yang
bertingkah laku sama dengan
berbagai platform
Perluasan dari bahasa java
Applet
java.applet
Class untuk membuat applet
Beans
java.beans
Class untuk membuat java Beans
Reflection
java.lang.reflect
Class untuk memperoleh informasi
runtime
SQL
java.sql
Class untuk mendukung akses dan
pengolahan data dalam database
RMI
java.rmi
Class untuk mendukung distributed
programming
Networking java.net
Class
untuk
medukung
dalam
membangun aplikasi jaringan
Security
java.security
Class untuk mendukung keamanan
kriptografi
14
http://digilib.mercubuana.ac.id/
2.3 Netbeans dan Database MySQL
NetBeans adalah imtegrated Development Environment (IDE) berbasiskan
Java dari Sun Microsystems yang berjalan di atas Swing, Swing adalah sebuah
teknologi Java untuk pengembangan aplikasi Dekstop yang dapat berjalan
diberbagai macam platform seperti Windows, Linux, Mac OS X and Solaris. Suatu
IDE adalah lingkup pemrograman yang diintegrasikan kedalam suatu aplikasi
perangkat lunak yang menyediakan pembangun Graphic User Interface (GUI),
suatu text atau kode editor, suatu compiler atau inrerpreter dan suatu debugger.
NetBeans merupakan software development yang Open Source, dengan kata lain
software ini dibawah pengembangan bersama, bebas biaya. NetBeans merupakan
sebuah proyek kode terbuka yang sukses dengan pengguna yang sangat luas,
komuitas yang terus tumbuh, dan memiliki hampir 100 mitra. Sun Microsystems
mendirikan proyek kode terbuka NetBeans pada bulan Juni 2000 dan terus menjadi
sponsor utama. Saat ini terdapat dua produk Netbeans, yaitu NetBeans IDE dan
NetBeans Platform. The NetBeans IDE adalah sebuah produk bebas dengan tanpa
batasan bagaimana digunakan. Tersedia juga NetBeans Platform, yaitu sebuah
fondasi yang moduloar dan dapat diperluas yag dapat digunakan sebagai perangkat
lunak dasar untuk membuat aplikasi dekstop yang besar.
2.3.1. Database MySQL
Basis data (atau database) adalah kumpulan informasi yang disimpan di
dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu
program komputer untuk memperoleh informasi dari basis data tersebut. Database
digunakan untuk menyimpan informasi atau data yang terintegrasi dengan baik di
dalam komputer.
Untuk mengelola database diperlukan suatu perangkat lunak yang disebut
DBMS (Database Management System). DBMS merupakan suatu sistem perangkat
lunak yang memungkinkan user (pengguna) untuk membuat, memelihara,
mengontrol, dan mengakses database secara praktis dan efisien. Dengan DBMS,
user akan lebih mudah mengontrol dan memanipulasi data yang ada. Salah satu
15
http://digilib.mercubuana.ac.id/
software atau perangkat lunak DBMS yang sering digunakan dalam aplikasi
program adalah MySQL.
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL
(bahasa Inggris: database management system) atau DBMS yang multithread,
multi-user, dengan sekitar 6 juta instalasi di seluruh dunia (Solichin, 2005). MySQL
dapat didownload di situs resminya, http://www.mysql.com.
2.4. Rekayasa perangkat lunak
Rekayasa perangkat lunak (software engineering) merupakan pembangunan
dengan menggunakan prinsip atau konsep rekayasa dengan tujuan menghasilkan
perangkat lunak yang bernilai ekonomi yang dipercaya dan bekerja secara efisien
menggunakan mesin (S & Shalahuddin, 2013). Perangkat lunak banyak dibuat dan
pada akhirnya sering tidak digunakan karena tidak memenuhi kebutuhan pelanggan
atau bahkan karena masalah non-teknis seperti keengganan pemakai perangkat
lunak (user) untuk mengubah cara kerja dari manual ke otomatis. Oleh karena itu
rekayasa perangkat lunak dibutuhkan agar perangkat lunak yang dibuat tidak hanya
menjadi perangkat lunak yang tidak terpakai.
Rekayasa perangkat lunak lebih fokus pada praktik pengembangan
perangkat lunak dan mengirimkan perangkat lunak yang bermanfaat kepada
pelanggan. Adapun ilmu komputer lebih fokus pada teori dan konsep dasar
perangkat komputer, rekayasa perangkat lunak lebih fokus pada bagaimana
membuat perangkat lunak yang memenuhi kriteria berikut:

Dapat terus dipelihara setelah perangkat lunak selesai dibuat seiring
berkembangnya tekonologi dan lingkungan (maintainability).

Dapat diandalkan dengan proses bisnis yang dijalakan dan perbuhan yang
terjadi (dependentbility dan robust).

Efisien dari segi sumber daya dan penggunaan.

Kemampuan untuk dipakai sesuai dengan kebutuhan (usability).
Dari kriteria diatas maka perangkat lunak yang baik adalah perangkat lunak
yang dapat memenuhi kebutuh pelanggan (customer) atau pengguna (user) atau
16
http://digilib.mercubuana.ac.id/
berorientasi pada pelanggan atau pemakai perangkat lunak, bukan berorientasi pada
pembuat atau pengembang perangkat lunak.
2.4.1. Ruang lingkup rekayasa perangkat lunak
Ruang lingkup Rekayasa perangkat lunak dapat digambarkan sebagai
berikut :
Gambar 2.1 Ruang lingkup Rekayasa Perangkat Lunak (Verdi, 2012:4)
2.4.2 Software Development live cycle
SDLC
atau
Software
Development
Life
Cycle
adalah
proses
mengembangkan atau mengubah suatu sistem perangkat lunak dengan
menggunakan model-model dan metodologi yang digunakan orang untuk
mengembangkan sistem-sistem perangkat lunak sebelumnya (berdasarkan best
practice atau cara-cara yang sudah teruji baik). Seperti halnya proses metamorfosis
pada kupu-kupu, untuk menjadi kupu-kupu yang indah maka dibutuhkan beberapa
tahap untuk dilalui, sama halnya dengan membuat perangkat lunak, memiliki daur
tahapan yang dilalui agar menghasilkan perangkat lunak yang berkualitas (S &
Shalahuddin, 2013).
Tahapan-tahapan yang ada pada SDLC secara global adalah sebagi berikut:
1. Inisiasi (initiation)
17
http://digilib.mercubuana.ac.id/
Tahapan ini biasasnya ditandai dengan pembuatan proposal proyek
perangkat lunak.
2. Pengembangan konsep sistem (system concept development)
Mendefinisikan lingkup konsep termasuk dokumen lingkup sistem,
analisis manfaat biaya, manajemen rencana, dan pembelajaran
kemudahan system.
3. Perencanaan (planning)
Mengembangkan rencana manajemen proyek dan dokumen
perencanaan lainnya. Menyediakan dasar untuk mendapatkan sumber
daya (resources) yang dibutuhkan untuk memperoleh solusi.
4. Analisis kebutuhan (requirement analysis)
Menganalisis kebutuhan pemakai sistem perangkat lunak (user) dan
mengembangkan kebutuhan user. Membuat dokumen kebutuhan
fungsional.
5. Desain (design)
Mentransformasikan kebutuhan detail menjadi kebutuhan yang
sudah lengkap, dokumen desain sistem fokus pada bagaimana dapat
memenuhi fungsi-fungsi yang dibutuhkan.
6. Pengembangan (development)
Mengkonversi desain ke sistem informasi yang lengkap termasuk
bagaimana memperoleh dan melakukan instalasi lingkungan sistem
yang dibutuhkan; membuat basis data dan mempersiapkan prosedur
kasus pengujian; mempersiapkan berkas atau file pengujian,
pengkodean, pengkompilasian, memperbaiki dan membersihkan
program; peninjauan pengujian.
7. Integrasi dan pengujian (integration dan test)
Mendemonstrasikan sistem perangkat lunak bahwa telah memenuhi
kebutuhan
yang
dispesifikasikan
pada
dokumen
kebutuhan
fungsional. Dengan diarahkan oleh staf penjamin kualitas (quality
assurance) dan user. Menghasilkan laporan analisis pengujian.
18
http://digilib.mercubuana.ac.id/
8. Implementasi (implementation)
Termasuk pada persiapan implementasi, implementasi perangkat
lunak pada lingkungan produksi (lingkungan pada user) dan
menjalankan resolusi dari permasalahan yang teridentifikasi dari fase
integrasi dan pengujian.
9. Operasi dan pemeliharaan (operations and maintenance)
Mendeskripsikan pekerjaan untuk mengoperasikan dan memlihara
sistem informasi pada lingkungan produksi (lingkungan pada user),
termasuk implementasi akhir dan masuk pada proses peninjauan.
10. Disposisi (disposition)
Mendeskripsikan aktifikas akhir dari pengembangan sistem dan
membangun data yang sebenarnya sesuai dengan aktivitas user.
2.4.3. Model Waterfall
Metode pengembangan sistem yang digunakan adalah System Development
Life Cycle (SDLC) atau biasa disebut dengan siklus hidup pengembangan sistem.
Metode SDLC menggunakan pendekatan sistem yang disebut waterfall yang
menggunakan beberapa tahapan dalam mengembangkan sistem. Menurut Ian
Sommerville (2011), tahapan siklus hidup pengembangan sistem waterfall yakni
sebagai berikut :
1.
Tahap Analisis Kebutuhan (Requirement Analysis and Definition)
Merupakan tahapan penetapan fitur, kendala dan tujuan sistem melalui
konsultasi dengan pengguna sistem. Semua hal tersebut akan ditetapkan
secara rinci dan berfungsi sebagai spesifikasi sistem.
2.
Tahap Perancangan Sistem dan Software (System and Software Design)
Dalam tahapan ini akan dibentuk suatu arsitektur sistem berdasarkan
persyaratan yang telah ditetapkan. Dan juga mengidentifikasi dan
menggambarkan abstraksi dasar sistem perangkat lunak dan hubunganhubungannya.
19
http://digilib.mercubuana.ac.id/
3.
Tahap Implementasi dan Pengujian (Implementation and Unit Testing)
Dalam tahapan ini, hasil dari desain perangkat lunak akan direalisasikan
sebagai satu set program atau unit program. Setiap unit akan diuji apakah
sudah memenuhi spesifikasinya.
4.
Tahap Integrasi dan Pengujian Sistem (Integration and System Testing)
Dalam tahapan ini dilakukan pengujian sistem dengan metode black box
testing dan setiap unit program akan diintegrasikan satu sama lain sebagai satu
sistem yang utuh untuk memastikan sistem sudah memenuhi persyaratan yang
ada. Setelah itu sistem akan dikirim ke pengguna sistem.
5.
Tahap Operation and Maintenance
Dalam tahapan ini, sistem diinstal dan mulai digunakan. Selain itu juga
memperbaiki error yang tidak ditemukan pada tahap pembuatan. Dalam tahap
ini juga dilakukan pengembangan sistem seperti penambahan fitur dan fungsi
baru.
Gambar 2.1 Metode Waterfall (Ian Sommerville, 2011)
2.4.4. Pengujian Perangkat Lunak
Perangkat lunak sering mendapatkan kesalahan (error) pada proses-proses
tertentu pada saat perangkat lunak sudah berada di tangan user. Kesalahan pada
perangkat lunak ini sering disebut dengan “bug”. Untuk menghindari banyaknya
bug maka diperlukan adanya pengujian perangkat lunak sebelum perangkat lunak
diberikan ke pelanggan atau selama perangkat lunak masih terus dikembangkan.
20
http://digilib.mercubuana.ac.id/
Adanya bug adalah suatu yang biasa, bahkan di sebuah perangkat lunak
yang sudah besar dan terkenal pun biasanyan masih terdapat bug. Oleh karena itu
tidak perlu merasa tersinggung atau bersedih jika masih ditemukan bug pada
perangkat lunak yang dikembangkan. Yang bisa dilakukan pengembang perangkat
lunak adalah meminimalisir bug dengan melakukan pengujian. Kelakukan
perangkat lunak yang tidak sesuai dengan spesifikasi yang dibutuhkan bisa
dianggap sebagai bug.
Pengujian adalah salah satu set aktivitas yang direncanakan dan sistematis
untuk menguji atau mengevaluasi kebenaran yang diinginkan (S & Shalahuddin,
2013). Aktivitas pengujian terdiri dati satu set atau sekumpulan langkah dimana
dapat menempatkan desain kasus uji yang spesifik dan metode pengujian. Secara
umum pola pengujian pada perangkat lunak adalah sebagi berikut :
 Pengujian dimulai dari level komponen hingga integrasi antar komponen
menjadi sebuah sistem.
 Teknik pengujian berbeda-beda sesuai dengan berbagai sisi atau unit uji
dalam waktu yang berbeda-beda pula, bergantung pada pengujian pada
bagian mana yang dibutuhkan.
 Pengujian dilakukan oleh pengembang perangkat lunak, jika untuk proyek
besar, pengujian bisa dilakukan oleh tim uji yang tidak terkait dengan tim
pengembang perangkat lunak (Independent Test Group).
Pengujian perangkat lunak adalah sebuah elemen sebuah topik yang
memiliki cakupan luas dan sering dikaitkan dengan verifikasi (verification) dan
validasi (validation) (S & Shalahuddin, 2013). Verifikasi mengacu pada
sekumpulan
aktivitas
yang
menjamin
bahwa
perangkat
lunak
mengimplementasikan dengan benar sebuah fungsi yang spesifik. Validasi
mengacu pada sekumpulan aktivitas yang berbeda yang menjamin bahwa perangkat
lunak yang dibangun dapat ditelusuri sesuai dengan kebutuhan pelanggan
(customer). Dapat juga dikatakan sebagai berikut :

Verifikasi : “Apakah produk yang dibangun dengan benar?” atau
“apakah proses pengembangan produk sudah benar dan telah
mengimplementasikan fungsi yang benar?”.
21
http://digilib.mercubuana.ac.id/

Validasi : “Apakah sudah membangun produk yang benar?” atau
“Apakah hasil produk sudah sesuai dengan yang diinginkan?”.
2.4.5. Verifikasi Pengujian
Pengujian untuk verifikasi memiliki tahapan sebagai berikut :
Pengujian
Unit
Pengujian
Integrasi
Pengujian
Sistem
Pengujian
Penerimaan
Gambar 2.3 Pengujian perangkat lunak
Pengujian diawali dari pengujian unit. Unit disini bisa berupa kumpulan
fungsi atau prosedur yang memiliki keterkaitan pada pemrograman terstruktur atau
class pada pemrograman berorientasi objek. Unit juga dapat berupa modul atau
dikenal juga sebagai package. Setelah unit-unit selesai diuji maka dilakukan
pengujian integrasi.
Pengujian integrasi sebaiknya dilakukan secara bertahap, tidak dilakukan
secara satu tahap langsung di akhir untuk menghindari kesulitan penelusuran jika
terjadi kesalahan (error). Pengujian integrasi lebih pada pengujian penggabungan
dari dua atau lebih unit pada perangkat lunak.
Setelah pengujian integrasi maka dilakukan pengujian sistem, yang dimana
unit-unit proses yang sudah diintergrasikan akan diuji dengan antarmuka yang
sudah dibuat sehingga pengujian ini dimaksudkan untuk menguji sistem perangkat
lunak secara keseluruhan dan diuji secara satu sistem.
Setelah pengujian sistem selesai maka dapat dilakukan pengujian
penerimaan perangkat lunak oleh pelanggan (customer) atau pengguna (user).
Pengujian penerimaan digunakan untuk mengetahui kepuasan pelanggan atau user
terhadap perangkat lunak yang sudah dibuat. Jika pelanggan sudah puas dengan
perangkat lunaknya, maka perangkat lunak tersebut dapat diserahkan kepada
pelanggan (customer).
22
http://digilib.mercubuana.ac.id/
2.4.6. Validasi Pengujian
Pengujian untuk validasi memiliki beberapa pendekatan sebagai berikut :

Black-Box Testing (pengujian kotak hitam)
Pengujian kotak hitam menguji perangkat lunak dari segi spesifikasi
fungsional tanpa menguji desain dan kode program. Pengujian
dimaksudkan untuk mengetahui apakah fungsi-fungsi, masukan dan
keluaran dari perangkat lunak tersebut sudah sesuai dengan
spesifikasi yang dibutuhkan. Pengujian kotak hitam dilakukan
dengan membuat kasus uji yang bersifat mencoba semua fungsi
dengan memakai perangkat lunak sesuai dengan spesifikasi yang
dibutuhkan. Kasus uji yang dibuat untuk melakukan pengujian kotak
hitam harus dibuat dengan kasus benar dan kasus salah.

White-Box Testing (pengujian kota putih)
Pengujian kotak putih menguji perangkat lunak dari segi desain dan
kode program, apakah mampu menghasilkan fungsi-fungsi,
masukan dan keluaran dari perangkat lunak tersebut sudah sesuai
dengan spesifikasi yang dibutuhkan. Pengujian kotak putih
dilakukan dengan memeriksa logika dari kode program. Pembuatan
kasus uji bisa mengikuti standar pengujian dari standar
pemrograman yang seharusnya.
2.5 Unified Modeling Language (UML)
Pada perkembangan teknologi perangkat lunak, diperlukan adanya bahasa
yang digunakan untuk memodelkan perangkat lunak yang akan dibuat dan perlu
adanya standarisasi agar orang di berbagai negara dapat mengerti pemodelan
perangkat lunak. Banyak orang yang telah membuat bahasa pemodelan
pembangunan perangkat lunak sesuai dengan teknologi pemrograman yang
berkembang pada saat itu, misalnya yang sempat berkembang dan digunakan oleh
23
http://digilib.mercubuana.ac.id/
banyak pihak adalah Data Flow Diagram DFD) untuk memodelkan perangkat lunak
yang menggunakan pemrograman prosedural atau struktural.
Pada perkembangan teknik pemrograman berorientasi objek, munculah
sebuah standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang
dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu
Unified Modeling Language (UML). UML adalah kosakata umum berbasis objek
dan diagram teknik yang efektif untuk memodelkan setiap proyek pengembangan
sistem mulai tahap analisis sampai tahap perancangan dan tahap implementasi
(Alan Dennis, 2012).
2.5.1. Use Case Diagram
Use Case Diagram merupakan suatu diagram yang menangkap kebutuhan
bisnis untuk sistem dan untuk menggambarkan interaksi antara sistem dan
lingkungannya (Alan Dennis, 2012).
Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor
dan use case.

Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan
sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu
sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum
tentu merupakan orang.

Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit
yang saling bertukar pesan antar unit atau aktor.
Gambar 2.4 Contoh Use case Diagram (Pressman, 2010)
24
http://digilib.mercubuana.ac.id/
Berikut adalah simbol-simbol yang ada pada use case diagram:
Tabel 2.2 Simbol Use Case Diagram (Alan Dennis, 2012)
NO
GAMBAR
NAMA
KETERANGAN
1
Actor/Role
2
Use Case
3
Subject
4
Seseorang
atau
sesuatu
yang
berinteraksi dengan sistem
Menggambarkan
bagaimana
seseorang akan menggunakan sistem
Merupakan lingkup subjek, misalnya
sistem atau individu proses bisnis
Association
Untuk mendokumentasikan aliran-
Relationship
aliran logika dalam setiap Use Case
Memungkinkan Use Case untuk
menggunakan
fungsional
yang
disediakan oleh Use Case lainnya
Memungkinkan suatu Use Case
memiliki kemungkinan memperluas
fungsionalitas yang disediakan oleh
Use Case lainnya
5
Include
6
Extend
7
Generalization
Digunakan untuk memperlihatkan
bahwa beberapa aktor atau Use Case
memiliki sesuatu yang bersifat umum
2.5.2. Activity Diagram
Activity Diagram digunakan untuk model perilaku dalam independen proses
bisnis benda. Dalam banyak hal, diagram aktivitas dapat dipandang sebagai
diagram aliran data yang canggih yang digunakan dalam hubungannya dengan
analysis terstruktur. Namun, tidak seperti aliran data diagram, diagram aktivitas
termasuk notasi yang membahas pemodelan paralel, kegiatan bersamaan dan proses
(Alan Dennis, 2012).
Yang
perlu
diperhatikan
disini
adalah
bahwa
diagram
aktivitas
menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas
25
http://digilib.mercubuana.ac.id/
yang dapat dilakukan oleh sistem. Diagram aktivitas juga banyak digunakan untuk
mendefinisikan hal-hal berikut:

Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan
merupakan proses bisnis sistem yang didefinisikan.

Urutan atau pengelompokan tampilan dari sistem/user interface dimana setiap
aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan.

Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah
pengujian yang perlu didefinisikan kasus ujinya.

Rancangan menu yang akan ditampilkan pada perangkat lunak.
Berikut ini adalah contoh gambar activity diagram
Gambar 2.5 Contoh Activity Diagram (Alan Dennis, 2012)
26
http://digilib.mercubuana.ac.id/
Berikut adalah simbol-simbol yang ada pada activity diagram:
Tabel 2.3 Simbol Activity Diagram (Alan Dennis, 2012)
NO GAMBAR
NAMA
1
Actifity
2
Initial Node
3
4
5
KETERANGAN
Merupakan
sebuah
gambaran
aktivitas yang terjadi
Final-Actifity
Node
Menggambarkan
awal
dari
serangkaian tindakan atau kegiatan
Digunakan
untuk
menghentikan
semua arus kontrol dan arus objek
dalam suatu kegiatan (atau tindakan).
Digunakan
Final-Flow
untuk
menghentikan
aliran kontrol atau aliran objek
Node
tertentu.
Control Flow
Menunjukkan urutan eksekusi
Menunjukkan aliran objek dari satu
6
Object Flow
kegiatan
(atau
tindakan)
untuk
kegiatan lain (atau tindakan)
Merupakan sebuah gambaran kondisi
7
Decision
tes untuk memastikan bahwa aliran
Node
kontrol atau aliran objek hanya
menuju satu jalur
Membawa kembali jalur keputusan
8
Merge Node
bersama yang berbeda yang dibuat
dengan
menggunakan
keputusan
simpul
Digunakan untuk membagi perilaku
9
Fork Node
menjadi satu set arus paralel atau
bersamaan kegiatan (atau tindakan)
27
http://digilib.mercubuana.ac.id/
Lanjutan Tabel 2.3 (Alan Dennis, 2012)
NO
GAMBAR
NAMA
KETERANGAN
Digunakan untuk membawa kembali
10
Join Node
bersama satu set arus paralel atau
bersamaan kegiatan (atau tindakan)
Memisahkan organisasi bisnis yang
11
Swimlane
bertanggung
jawab
terhadap
aktivitas yang terjadi
2.5.3. Sequence Diagram
Sequence diagram adalah salah satu dari dua jenis diagram interaksi. Mereka
menggambarkan benda-benda yang berpartisipasi dalam kasus penggunaan dan
pesan yang melewati antara mereka dari waktu ke waktu untuk satu use case.
Sebuah diagram sequence adalah model dinamis yang menunjukkan urutan
eksplisit pesan yang lewat di antara objek dalam interaksi didefinisikan. Karena
urutan diagram menekankan pemesanan berbasis waktu kegiatan yang terjadi di
antara set benda, mereka sangat membantu untuk memahami spesifikasi real-time
dan kompleks menggunakan kasus (Alan Dennis, 2012).
Gambar 2.6 Contoh Sequence Diagram (Alan Dennis, 2012)
28
http://digilib.mercubuana.ac.id/
Berikut adalah simbol-simbol yang ada pada sequence diagram:
Tabel 2.4 Simbol Sequence Diagram (Alan Dennis, 2012)
NO
GAMBAR
NAMA
KETERANGAN
Pengguna atau sistem yang berasal
dari manfaat dan eksternal ke
1
Actor
sistem yang berpartisipasi secara
berurutan dengan mengirim dan /
atau menerima pesan
Berpartisipasi
2
Object
dengan
secara
mengirim
berurutan
dan
/
atau
menerima pesan yang ditempatkan
diatas diagram
Menandakan
3
LifeLine
Execution
4
Occurrenc
e
5
kehidupan
obyek
selama berurutan
Menyatakan objek dalam keadaan
aktif dan berinteraksi pesan
Guard
Merupakan tes yang harus dipenuhi
Condition
untuk pesan yang akan dikirim
Menyampaikan informasi dari satu
objek satu sama lain. Sebuah
panggilan operasi dilabeli dengan
6
Message
pesan yang dikirim dan panah
padat, sedangkan kembali diberi
label dengan nilai yang akan
dikembalikan
dan
ditampilkan
sebagai panah putus-putus
29
http://digilib.mercubuana.ac.id/
2.5.4. Class Diagram
Sebuah diagram kelas (class diagram) adalah model statis yang menunjukkan
kelas dan hubungan antar kelas yang tetap konstan dalam sistem dari waktu ke
waktu. Diagram kelas menggambarkan kelas, yang mencakup baik perilaku dan
negara, dengan hubungan antara kelas. Berikut bagian pertama menyajikan unsurunsur dari diagram kelas, diikuti dengan cara di mana diagram kelas ditarik (Alan
Dennis, 2012).
Gambar 2.7 Contoh Class Diagram (Alan Dennis, 2012)
30
http://digilib.mercubuana.ac.id/
Berikut adalah simbol-simbol yang ada pada class diagram:
Tabel 2.5 Simbol Class Diagram (Alan Dennis, 2012)
NO
GAMBAR
NAMA
KETERANGAN
Merupakan jenis orang, tempat,
1
atau hal mengenai yang sistem
Class
akan butuhkan untuk mengambil
dan menyimpan informasi.
Merupakan
2
Attribute
sifat
yang
menggambarkan keadaan suatu
objek
Merupakan tindakan atau fungsi
3
Operation
yang
sebuah
kelas
dapat
hubungan
antara
melakukan
Merupakan
4
Association
beberapa kelas atau sebuah kelas
dengan kelas itu sendiri
5
Generalization
Mewakili semacam hubungan
antara beberapa kelas
2.6 Algoritma
Pada algoritma ini prioritas jadwal pekerjaan menggunakan bobot dari
pesanan. Bobot di bagi menjadi 2 bobot. Bobot yang pertama di hitung berdasarkan
jenis pesanan yaitu Export dan Lokal, jika jenis pesanan adalah pesana export maka
nilai bobotnya adalah 30 sedangkan jenis lokal mempunyai bobot 20 hal ini di
karenakan pesanan export akan lebih di prioritaskan dari pada pesanan lokal.
Kemudian bobot yang ke 2 berdasarkan lama pengerjaan yang di hitung dari jumlah
hari tanggal pesanan sampai tanggal kirim, semakin sedikit jumlah harinya maka
nilai bobotnya besar. Jika jumlah harinya kurang dari atau sama dengan 10 hari
maka nilai bobotnya adalah 40, jika jumlah harinya lebih dari atau sama dengan 11
sampai kurang dari atau sama dengan 20 maka nilai bobotnya 30, jika jumlah
harinya lebih dari atau sama dengan 21 sampai kurang dari atau sama dengan 30
maka nilai bobotnya 20, jika lebih dari atau sama dengan 31 hari maka nilai
bobotnya adalah 10. Jika telah mendapat nilai bobot 1 dan nilai bobot 2 maka
31
http://digilib.mercubuana.ac.id/
pesanan akan di urutkan berdasarkan jumlah nilai bobot 1 dan bobot 2 secara
descending atau bedasarkan nilai yang terbesar.
Gambar 2.8 Flowchart algoritma
32
http://digilib.mercubuana.ac.id/
Download