Bab 2 - Widyatama Repository

advertisement
Bab II Landasan Teori
BAB II
LANDASAN TEORI
2.1
Konsep Dasar Sistem
Sistem adalah sekumpulan komponen yang mengimplementasikan model
dan fungsionalitas yang dibutuhkan. Komponen-komponen tersebut saling
berinteraksi di dalam sistem guna mentrans-formasi input yang diberikan kepada
system tersebut menjadi output yang berguna dan bernilai bagi aktor-nya [3].
Secara umum sistem dapat digambarkan sebagai berikut :
Input
Output
Sistem
d
ar
db
Control
rw
Fo
Fe
e
d
ac
k
e
Fe
Sistem boundary
Sistem Control
Sistem Environment
Sumber: Perancangan Object Oriented Software dengan UML : [7]
Gambar 2.1 Gambar Sistem Secara Umum
Ada beberapa pendapat yang menjelaskan definisi sistem, yaitu :
1.
2.
Sistem yaitu gabungan dari sekelompok komponen baik itu gabungan dan /
atau bukan manusia (non-human) yang saling mendukung satu sama lain serta
diatur menjadi sebuah kesatuan yang utuh untuk mencapai suatu tujuan,
sasaran bersama atau akhir [5].
Suatu sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling
berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau
untuk menyelesaikan suatu sasaran yang tertentu [5].
II-1
Bab II Landasan Teori
3.
Sistem mengandung dua pengertian utama yaitu : (a) Pengertian sistem yang
menekankan pada komponen atau subsistem-subsistem yang saling
berinteraksi satu sama lain, dimana masing-masing bagian tersebut dapat
bekerja secara sendiri-sendiri (indenpendent) atau bersama-sama serta saling
berhubungan membentuk satu kesatuan sehingga tujuan atau sasaran sistem
tersebut dapat tercapai secara keseluruhan (b) Definisi yang menekankan
pada prosedurnya yaitu merupakan suatu jaringan kerja dari prosedurprosedur
yang saling berhubungan, berkumpul bersama untuk melakukan suatu
kegiatan atau untuk menyelesaikan suatu sasaran tertentu [5].
Berdasarkan beberapa pendapat yang dikemukakan di atas dapat ditarik
kesimpulan bahwa “Sistem adalah kumpulan bagian-bagian atau subsistemsubsistem yang disatukan dan dirancang untuk mencapai suatu tujuan”.
2.2
Konsep Dasar Informasi
2.2.1
Definisi Data
Sumber informasi adalah data. Data merupakan bentuk jamak dari bentuk
tunggal data item. Berikut definisi data yang dikemukakan oleh beberapa ahli :
Menurut Abdul Kadir :
“Data merupakan deskrpsi dari suatu kejadian yang kita hadapi serta
menggambarkan kesatuan nyata yang terjadi pada saat tertentu”.[8]
Menurut Witarto :
“Data merupakan kumpulan objek-objek beserta atributnya yang
menunjukkan karakteristik dari objek tersebut. Informasi tanpa adanya
data maka informasi tersebut tidak akan terbentuk. Begitu pentingnya
peranan data dalam terjadinya suatu informasi yang berkualitas.
Keakuratan data sangat mempengaruhi terhadap keluaran informasi yang
akan terbentuk”.[9]
2.2.2
Definisi Informasi
Menurut Raymond Mcleod: “Informasi adalah data yang telah diolah
menjadi bentuk yang memiliki arti bagi si penerima dan bermanfaat bagi
pengambilan keputusan saat ini atau mendatang ”.
Secara umum informasi dapat didefinisikan sebagai hasil dari pengolahan
data dalam suatu bentuk yang lebih berguna dan lebih berarti bagi penerimanya
yang menggambarkan suatu kejadian-kejadian yang nyata yang digunakan untuk
pengambilan keputusan.
Sumber dari informasi adalah data. Data adalah kenyataan yang
menggambarkan suatu kejadian-kejadian dan kesatuan nyata. Kejadiankejadian
II-2
Bab II Landasan Teori
adalah sesuatu yang terjadi pada saat tertentu. Di dalam dunia bisnis, kejadiankejadian yang sering terjadi adalah transaksi perubahan dari suatu nilai yang
disebut transaksi. Kesatuan nyata adalah berupa suatu obyek nyata seperti tempat,
benda dan orang yang betul-betul ada dan terjadi.
Data merupakan bentuk yang masih mentah, belum dapat bercerita banyak
sehingga perlu diolah lebih lanjut. Data diolah melalui suatu metode untuk
menghasilkan informasi. Data dapat berbentuk simbolsimbol semacam huruf,
angka, bentuk suara, sinyak, gambar, dsb.
Data yang diolah melalui suatu model menjadi informasi, penerima
kemudian menerima informasi tersebut, membuat suatu keputusan dan melakukan
tindakan, yang berarti menghasilkan suatu tindakan yang lain yang akan membuat
sejumlah data kembali. Data tersebut akan ditangkap sabagai input, diproses
kembali lewat suatu model dan seterusnya membentuk suatu siklus.
2.3
Konsep Dasar Sistem Informasi
Informasi dapat diperoleh dari sistem informasi (information systems) atau
disebut juga dengan processing systems. Sistem informasi didefinisikan oleh
Robert A. Leitch dan K. Roscoe Davis sebagai berikut:
“Sistem Informasi adalah suatu sistem didalam organisasi yang
mempertemukan kebutuhan pengolahan transaksi harian, mendukung
operasi, bersifat manajerial dan kegiatan startegi dari suatu organisasi dan
menyediakan pihak luar tertentu dengan laporan-laporan”.[10]
Sistem informasi manajemen sering dikenal dengan singkatan SIM,
merupakan penerapan sistem informasi didalam organisasi untuk mendukung
informasi-informasi yang dibutuhkan oleh semua tingkatan manajemen. SIM
didefinisikan oleh George M. scott sebagai berikut :
“Suatu SIM adalah kumpulan dari interaksi-interaksi sistem-sistem
informasi yang menyediakan informasi baik untuk kebutuhan manajerial
maupun kebutuhan operasiona”.[11]
Menurut Barry E. Cushing :
“Suatu Sistem Informasi Management adalah kumpulan dari manusia dan
sumber-sumber daya modal didalam suatu organisasi yang bertanggungjawab mengumpulkan dan mengolah data untuk menghasilkan informasi
yang berguna untuk semua tingkatan manajemen di dalam kegiatan
perencanaan dan pengendalian”.[12]
II-3
Bab II Landasan Teori
Sistem informasi adalah kumpulan dari sub-sub sistem baik fisik maupun
non fisik yang saling berhubungan satu sama lain dan bekerja sama secara
harmonis untuk mencapai suatu tujuan yaitu mengolah data menjadi informasi
yang berguna. Komponen dasar sistem informasi meliputi:
1. Blok masukan (input blok). Input mewakili data yang masuk ke dalam sistem
informasi. Input disini termasuk metode-metode dan media untuk menangkap
data yang akan di masukkan, dapat berupa dokumen-dokumen dasar.
2.
Blok model (model block). Blok ini terdiri dari kombinasi prosedur, logika
dan model matematik yang akan memanipulasi data input dan data yang
tersimpan di basis data dengan cara tertentu untuk menghasilkan keluaran
yang di inginkan.
3.
Blok teknologi (technology block). Teknologi digunakan untuk menerima
input, menjalankan model, menyimpan dan mengakses data, menghasilkan
dan mengirimkan keluaran dan membantu pengendalian sistem secara
keseluruhan.
4.
Blok keluaran (blok output). Keluaran merupakan informasi yang berkualitas
dan dokumentasi yang berguna untuk semua tingkatan manajemen serta
semua pemakai sistem.
5.
Blok basis data (database block). Merupakan kumpulan data yang saling
berhubungan satu sama lain, tersimpan di perangkat keras komputer dan
digunakan perangkat lunak untuk memanipulasinya. Data perlu disimpan
dalam basis data untuk keperluaan penyediaan informasi lebih lanjut. Data di
dalam basis data perlu di organisasikan sedemikian rupa, supaya informasi
yang di hasilkan berkualitas.
6.
Blok kendali (controls block). Beberapa pengendalian perlu di rancang dan di
terapkan untuk meyakinkan bahwa hal-hal yang dapat merusak sistem dapat
di cegah ataupun bila terlanjur terjadi kesalahan langsung cepat diatasi.
Tujuan dilakukannya tahap ini sebagai berikut:
a.
Membuat keputusan apabila sistem saat ini mempunyai masalah atau sudah
tidak berfungsi secara baik dan hasil analisisnya digunakan sebagai dasar
untuk memperbaiki sistem.
II-4
Bab II Landasan Teori
b.
Mengetahui ruang lingkup pekerjaan yang akan ditangani,
c.
Memahami sistem yang sedang berjalan saat ini,
d.
mengidentifikasikan dan mencari solusi.
2.3.1 Siklus Sistem Informasi
Informasi merupakan suatu proses perubahan dunia menjadi informasi.
Data yang diolah untuk menghasilkan informasi menggunakan suatu model proses
tertentu. Data yang diolah melalui suatu model menjadi informasi, penerima
kemudian menerima informasi tersebut, membuat dan suatu keputusan dan
melakukan tindakan yang berarti menghasilkan suatu tindakan yang lain yang
akan membuat sejumlah data kembali. Data tersebut akan ditangkap sebagai input,
diproses kembali lewat suatu model dan seterusnya membentuk suatu siklus,
adapun siklus informasi sebagai berikut :
Sumber : http://referensisisteminformasi.blogspot.com/2008/07/siklus-informasi.html
[7]
Gambar 2.2 Siklus Informasi
2.4
Sistem Informasi Penggajian
Sistem informasi penggajian karyawan terdiri dari manusia, peralatan dan
prosedur
untuk
mengevaluasi
dan
mengumpulkan,
mengatur,
menganalisa,
menghitung,
mendistribusikan informasi yang dibutuhkan tepat pada
II-5
Bab II Landasan Teori
waktunya dan akurat kepada karyawan
dan
pimpinan.
Sistem
informasi
penggajian karyawan ini adalah sistem yang berbasis komputer untuk
mengolah data gaji karyawan serta data lainnya yang berkaitan dengan
proses penggajian karyawan, baik dari dalam perusahaan maupun dari luar
perusahaan.
2.4.1 Definisi Gaji
Adalah suatu bentuk pembayaran secara periodik dari pihak
perusahaan atau majikan kepada karyawannya atau pekerjanya sesuai dengan
yang dinyatakan dalam kontrak kerja. Dari sudut pandang pelaku bisnis, gaji
dapat dianggap sebagai biaya yang dibutuhkan untuk mendapatkan sumber daya
manusia untuk menjalankan operasi.
2.4.2 Definisi Penggajian
Adalah kegiatan atau proses dari pembayaran gaji dari pihak
perusahaan atau majikan kepada karyawannya dengan mengikuti prosedur –
prosedur tertentu yang sudah disepakati sebelumnya.
2.5
Sistem Basis Data
Menurut Fathansyah Basis data adalah :
“Sistem basis data merupakan sistem yang terdiri dari atas sekumpulan
tabel yang saling berhubungan (dalam sebuah basis data di sebuah system
komputer) dan sekumpulan program (DBMS) yang menungkinkan
beberapa pemakai lain untuk mengakses dan memanipulasi table-tabel
tersebut”.
Sistem Basis data pada dasarnya dibuat untuk tujuan Sebagai berikut:
1.
Kecepatan dan kemudahan
Dengan sistem basis data diharapkan pengolahan data dapat lebih cepat dan
lebih mudah di bandingkan dengan sistem manual.
2.
Efisiensi ruang penyimpanan
Dengan basis data, efisiensi /optimalisasi penggunaan ruang penyimpan dapat
dilakukan, karena kita dapat melakukan penekanan jumlah redudansi data.
3.
Keakuratan
II-6
Bab II Landasan Teori
Pemanfaatan pengkodean atau pembentukan relasi antar data bersama dengan
penerapan aturan atau batasan tipe, data,domain data, keunikan data dan
sebagainya, yang secara ketat dapat diterapkan dalam sebuah basis data,
sangat berguna untuk menekan ketidak akuratan masukan ataupun
penyimpanan data.
4.
Ketersediaan
Dengan pertumbuhan data yang semakin banyak, maka di perlukan tempat
penyimpanan yang sangat besar, karena itu kita perlu memilah data dalam
bentuk kategori-kategori tertentu sehingga data yang tidak terlalu penting
dapat dihapus.
5.
Kelengkapan
Untuk
mengakomodasi
kebutuhan
kelengkapan
data
yang
semaki
berkembang maka kita tidak hanya dapat menambah record-record data tetapi
juga melakukan perubahan struktur dalam basis data, baik dalam bentuk
penambahan objek baru (tabel) atau dengan penambahan field-field baru pada
suatu tabel.
6.
Keamanan
Dengan sistem basis data kita dapat memproteksi semua objek yang ada
dengan berbagai tingkatan keamanan.
7.
Kebersamaan Pemakaian
Pemakai basis data biasanya terdiri dari banyak pemakai sehingga hendaknya
basis data harus bisa di akses oleh banyak pemakai dalam waktu yang
bersamaan.
Dalam sebuah Basis Data secara lengkap akan terdapat komponen-
komponen utama yaitu:
1.
Hardware
2.
Operating system
3.
Database
4.
Sistem (aplikasi/perangkat lunak) pengelola basis data(DBMS)
5.
User
II-7
Bab II Landasan Teori
Keuntungan Database adalah :
a.
Mereduksi redudansi
b.
Data dapat di share antar aplikasi
c.
Standarisasi data dapat di lakukan
d.
Batasan security dapat diterapkan
e.
Mengelola integritas (keterjaminan akurasi) data
f.
Menyeimbangkan kebutuhan yang saling konflik
g.
Independesi data (obyektif DBS)
Struktur Sistem Database :
a.
File manager : mengelola space dan struktur data.
b.
Database manager : menyediakan antar muka dengan data fisik
c.
Query processor : menterjemahkan query ke instruksi yang dimengerti
database manager.
d.
DML precompiler :mengkonversi perintah DML menjadi calls normal.
e.
DDL compiler : menkonversi perintah DDL menjadi meta data.
2.6
Waterfall Process Model
Waterfall Process Model atau Linear Sequential Model merupakan model
pengembangan perangkat lunak yang muncul pada tahun 1970, sehingga sering
dianggap kuno, tetapi merupakan model yang paling banyak dipakai didalam
software engineering. Model ini melakukan pendekatan secara sistematis dan urut
mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding,
testing / verification, dan maintenance. Disebut dengan waterfall karena tahap
demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan
berjalan berurutan. Sebagai contoh tahap desain harus menunggu selesainya tahap
sebelumnya yaitu tahap requirement.
Fase-fase dalam Waterfall Model :
II-8
Bab II Landasan Teori
Sumber : Roger S. Presman, Ph.D. 2002
Gambar 2.3 Siklus Hidup Perangkat Lunak Model Waterfall
Keterangan :
a.
Requirements analysis and definition
Mengumpulkan kebutuhan secara lengkap kemudian dianalisis
dan
didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan
dibangun. Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan
desain yang lengkap.
b.
System and software design
Desain dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap.
c.
Implementation and unit testing
Desain program diterjemahkan ke dalam kode-kode dengan menggunakan
bahasa pemrograman yang sudah ditentukan. Program yang dibangun
langsung diuji baik secara unit.
d.
Integration and system testing
Penyatuan unit-unit program kemudian diuji secara keseluruhan (system
testing).
e.
Operation and maintenance
Mengoperasikan program dilingkungannya dan melakukan pemeliharaan,
seperti penyesuaian atau perubahan karena adaptasi dengan situasi
sebenarnya.
II-9
Bab II Landasan Teori
2.7
Metode Pendekatan
Teknologi object-oriented merupakan paradigma baru dalam rekayasa
software yang didasarkan pada object dan kelas. Diakui para ahli bahwa objectoriented merupakan metodologi terbaik yang ada saat ini dalam rekayasa
perangkat lunak. object-oriented memandang perangkat lunak bagian perbagian,
dan menggambarkan satu bagian tersebut dalam suatu objek. Suatu objek dalam
sebuah model merupakan suatu fokus selama dalam proses analisis, desain, dan
implementasi denagn menekankan pada state, perilaku (behaviour), dan interaksi
object-oriented.
Dalam konsep Object Oriented Analysis dan Design (OOAD), kita dapat
mendefinisikan sebagai berikut :
a.
b.
Object Oriented Analysis adalah metode analisis yang memeriksa
requirements (syarat/keperluan yang harus dipenuhi suatu sistem) dari sudut
pandang kelas-kelas dan objek-objek yang di temui dalam ruang lingkup
permasalahan.
Object Oriented Design adalah metode untuk mengarahkan arsitektur
software
yang didasarkan pada manipulasi objek-objek sistem atau
subsistem.
2.7.1
Analisisi Berorientasi Objek
Object Oriented Analysist (OOA) adalah metode analisis yang memeriksa
requirement (syarat/keperluan yang harus dipenuhi sebuah sistem) dari sudut
pandang kelas-kelas dan objek-objek yang ditemui dalam ruang lingkup
perusahaan. Dengan kata lain, dunia (system) adalah model dalam hal objek dan
kelas. Aktivitas utama dari OOA adalah :
1. Menganalisis masalah domain
2.
Menjelaskan sistem proses
3.
Mengidentifikasi objek
4.
Menentukan atribut
5.
Mendefinisikan operasi
6.
Komunikasi antar objek
2.7.2
Object Oriented Design (OOD)
Object Oriented Design (OOD) adalah metode untuk mengarahkan
arsitektur software yang didasarkan pada manipulasi objek-objek sistem atau
II-10
Bab II Landasan Teori
subsistem. Object oriented dekomposisi dan notasi untuk menggambarkan model
dari sistem yang sedang dikembangkan. Struktur dikembangkan (set objek)
dimana berkolaborasi untuk menyediakan perilaku yang memenuhi persyaratan
dari masalah. Proses OOD:
1.
Mendefiniskan kontek dan mode dari penggunaan sistem.
2.
Mendesain arsitektur sistem.
3.
Identifikasi objek sistem utama.
4.
Mengembangkan model desain.
5.
Menentukan interface objek.
Object Oriented perkembangannya sangat berbeda dari perkembangan
structured, pendekatan structured berfokus pada fungsi utama dalam sebuah
sistem dan data yang digunakan oleh fungsi, sedangkan pendekatan object
oriented berfokus pada objek dalam suatu sistem dan pada hubungan antara objek
tersebut. Terdapat beberapa konsep dasar dalam OOAD, antara lain :
1.
Objek (Object)
Objek adalah benda secara fisik dan konseptual yang ada di sekitar kita.
Beberapa contoh objek, misalnya hardware, software, dokumen, manusia,
konsep dan lainnya. Objek adalah suatu abstraksi dari sesuatu dalam suatu
domain masalah, menyatakan kemampuan sistem untuk :
a.
Menyimpan informasi tentang objek tersebut.
b.
Berinteraksi dengan objek tersebut atau keduanya.
Sebuah objek mempunyai suatu keadaan sesaat yang di sebut state. State dari
sebuah objek adalah kondisi dari objek itu atau himpunan keadaan yang
menggambarkan objek tersebut. State dinyatakan dengan nilai dari atribut
objeknya.
Atribut adalah nilai internal suatu objek yang mencerminkan antara lain
karakteristik objek, kondisi sesaat, koneksi dengan objek lain. Perubahan
state dicerminkan oleh perilaku (behaviour) objek tersebut.
Behaviour atau perilaku sebuah objek mendefinisikan bagaimana sebuah
objek bertindak (beraksi) dan memberi reaksi. Behaviour ditentukan oleh
himpunan semua atau beberapa operasi yang dapat dilakukan oleh objek itu
sendiri. Behaviour dari sebuah objek dicerminkan oleh interface (pintu untuk
II-11
Bab II Landasan Teori
mengakses service dari objek), service (fungsi yang dapat dikerjakan oleh
sebuah objek), dan method (fungsi yang dapat dikerjakan oleh sebuah objek)
dari objek tersebut.
2.
Kelas (Class)
Kelas definisi umum (pola, template atau blue print) dari himpunan objek
yang sejenis. kelas menetapkan spesifikasi perilaku (behaviour) dan atributatribut dari objek tersebut. Kelas adalah abstraksi dari entitas dalam dunia
nyata. Sedangkan objek adalah contoh ” instances” dari sebuah kelas.
Misalnya atribut dari kelas binatang adalah, berkaki empat dan mempunyai
ekor.Perilakunya adalah makan dan tidur. Sedangkan objek (instance) untuk
kelas binatang ini adalah kucing , gajah dan kuda.
3.
Kotak Hitam ( Black Box)
Sebuah objek adalah kotak hitam (black-boxes). Konsep ini menjadi dasar
untuk implementasi objek. Dalam operasi Object Oriented hanya para
developer (programmer, designer, analyst) yang dapat memahami detail dari
proses-proses yang ada di dalam kotak hitam tersebut, sedangkan para
pemakai (user) tidak perlu mengetahui apa yang dilakukan, tetapi yang
penting mereka dapat menggunakan objek untuk memproses kebutuhan
mereka.
4.
Enkapsulasi (Encapsulation)
Proses menyembunyikan detail implementasi sebuah objek. Satu-satu nya
jalan untuk mengakses data objek tersebut melalui interface. Interface
melindungi internal state sebuah objek dari campur tangan pihak luar. Oleh
karena itu objek digambarkan sebagai sebuah kotak hitam yang menerima
dan mengirim pesan-pesan (messages).
Dalam OOP black-box tersebut berisi kode (instruksi yang di pahami
komputer) dan data (informasi dimana instruksi tersebut beroperasi
dengannya). Dalam OOP kode dan data disatukan dalam sebuah benda yang
tersembunyi isi nya yaitu objek. Pengguna objek tidak perlu mengetahui isi
dalam kotak tersebut, untuk berkomunikasi dengan objek, diperlukan pesan
(message).
II-12
Bab II Landasan Teori
5.
Message adalah permintaan agar objek menerima (receive) untuk membawa
metode yang ditunjukkan oleh perilaku dan mengembalikan result dari aksi
tersebut kepada objek pengirim (sender). Contohnya, satu objek orang
mengirim kepada objek bola lampu sebuah pesan (message) untuk
menyalakan melalui saklar. Objek bola lampu memiliki perilaku yang akan
mengubah keadaan (state) dari padam menjadi menyala. Objek lampu
menyalakan dirinya dan menunjukkan kepada objek tesebut bahwa state
barunya menyala.
Asosiasi dan Agregasi
Asosiasi adalah hubungan yang mempunyai makna antara sejumlah objek.
Asosiasi digambarkan dengan sebuah garis penghubung diantara objeknya.
Contoh : Asosiasi antara mobil dengan seseorang. Mobil dapat dimiliki oleh
satu atau beberapa orang, sedangkan seseorang dapat mempunyai satu atau
banyak mobil. Agregasi adalah bentuk khusus sebuah asosiasi yang
menggambarkan seluruh bagian pada satu objek merupakan bagian dari objek
yang lain. Contoh: Kopling dan piston adalah bagian dari mesin, sedangkan
mesin, roda, body adalah merupakan bagian dari sebuah mobil.
Cohesion adalah ukuran tentang hubungan antara komponen suatu object
class. Setiap operasi menyediakan fungsi untuk mengubah, melihat, atau
menggunakan atribut object sebagai layanan dasar,
Coupling adalah suatu indikasi kekuatan interkoneksi antara program units.
Sistem dengan coupling memiliki interkoneksi yang kuat sehingga setiap
program unit sangat ketergantungan satu dengan yang lainnya (misalnya:
shared variables, interchange control function). Sistem dengan couple yang
lemah tidak memiliki ketergantungan yang kuat antar program units.
2.8
Unified Modeling Language (UML)
2.8.1
Definisi Unfied Modeling Language (UML)
Berikut ini definisini Unified Modeling Language (UML) menurut para
ahli :
Menurut Rosa A.S-M. Shalahuddin :
“UML (Unified Modeling Languag) adalah salah satu standar bahasa yang
banyak digunakan di dunia industry untuk mendefinisikan requirement,
membuat analisis dan desain serta menggambarkan arsitektur dalam
pemrograman berorientasi objek”.[13]
Menurut Adi Nugroho :
“Unified Modeling Language (UML) adalah alat bantu analis serta
perancangan perangkat lunak berbasis objek”.[13]
II-13
Bab II Landasan Teori
Berdasarkan
beberapa
pendapat
yang
dikemukakan
dapat
ditarkkesimpulan bahwa Unified Modeling Language (UML) adalah bahasa grafis
untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat
lunak. UML berorientasi objek menerapkan banyak level abstraksi, tidak
bergantung proses pengembangan, tidak bergantung bahasa dan teknologi.
Pemaduan beberapa notasi diberagam metodologi usaha bersama dari banyak
pihak, di dukung oleh kakas-kakas yang diintegrasikan lewat XML . Standar
UML di kelola oleh OMG (Object Management Group).
2.8.2
Fokus Unfied Modeling Language (UML)
Menurut Adi Nugroho Dalam kerangka spesifikasi, Unified Modeling
Languag (UML) menyediakan model-model yang tepat, tidak mendua arti
(ambigu) serta lengkap. Secara khusus Unified Modeling Language (UML)
menspesifikasikan langkah-langkah penting dalam pengambilan keputusan
analisis, perancangan serta implementasi dalam sistem yang sangat bernuansa
perangkat lunak(software intensive system). Dalam hal ini, Unified Modeling
Language (UML) bukanlah merupakan bahasa pemrograman tetapi model-model
yang
tercipta
berhubungan
langsung
dengan
berbagai
macam
bahasa
pemrograman, sehingga adalah mungkin melakukan pemetaan (mapping)
langsung dari model-model yang dibuat dengan Unified Modeling Language
(UML) dengan bahasabahasa pemrograman berorientasi objek, sepert Java,
Borland Delphi, Visual Basic, C++, dan lain-lain.
Pemetaan (mapping) Unified Modeling Language (UML) bersifat dua
arah, yaitu:
a.
Generasi kode bahasa pemrograman tertentu dari Unified Modeling Language
(UML) forward engineering.
b.
Generasi kode belum sesuai dengan kebutuhandan harapan pengguna,
pengembang dapat melakukan langkah balik bersifat iterative dari
implementasi ke Unified Modeling Language (UML) hingga didapat
system/peranti lunak yang sesuai dengan harapan pengguna dan pengembang.
II-14
Bab II Landasan Teori
2.8.3
Bangunan Dasar Metodologi Unified Modeling Language (UML)
Menurut Adi Nugroho Bangunan dasar metodologi Unified Modeling
Language (UML) menggunakan tiga banguna dasar untuk mendeskripsikan
sistem/perangkat lunak yang akan dikembangkan yaitu:
1.
Sesuatu (things)
Ada 4 (empat) things dalam Unified Modeling Language (UML), yaitu:
a.
Struktur things
Merupakan bagian yang relatif statis dalam model Unified Modeling
Language (UML). Bagian yang relatif statis dapat berupa elemen-elemen
yang bersifat fisik maupun konseptual.
b.
Behavioral things
Merupakan bagian yang dinamis pada model Unified Modeling
Language (UML), biasanya merupakan kata kerja dari model Unified
Modeling Language (UML), yang mencerminkan perilaku sepanjang
ruang dan waktu.
c.
Grouping things
Merupakan bagian pengorganisasian dalam Unified Modeling Language
(UML). Dalam penggambaran model yang rumit kadang diperlukan
penggambaran paket yang menyederhanakan model. Paket-paket ini
kemudian dapat didekomposisi lebih lanjut. Paket berguna bagi
pengelompokan
sesuatu,
misalnya
model-model
dan
subsistem-
subsistem.
d.
Annotational things
Merupakan bagian yang memperjelaskan model Unified Modeling
Language
(UML)
dan
dapat
berupa
komentar-komentar
yang
menjelaskan fungsi serta cirri-ciri setiap element dalam model Unified
Modeling Language (UML).
2.
Relasi (Relationship)
Ada 4 (empat) macam relationship dalam Unified Modeling Language
(UML), yaitu:
II-15
Bab II Landasan Teori
a.
Ketergantungan
Merupakan hubungan dimana perubahan yang terjadi pada suatu elemen
mandiri (indenpendent) akan mempengaruhi elemen yang bergantung
padanya elemen yang tidak mandiri (indenpendent).
b.
Asosiasi
Merupakan apa yang menghubungkan antara objek satu dengan objek
yang lainnya, bagaimana hubungan suatu objek dengan objek lainnya.
Suatu bentuk asosiasi adalah agregasi yang menampilkan hubungan suatu
objek dengan bagian-bagiannya.
c.
Generalisasi
Merupakan hubungan dimana objek anak (descendent) berbagi perilaku
dan struktur data dari objek yang ada di atasnya objek induk (ancestor).
Arah dari atas kebawah dari objek induk ke objek anak dinamakan
spesialisasi, sedangkan arah berlawanan sebaliknya dari arah bawah
keatas dinamakan generalisasi.
d.
Realisasi
Merupakan operasi yang benar-benar dilakukan oleh suatu objek.
3.
Diagram
Berikut adalah macam diagram dalam Unified Modeling Language (UML),
yaitu:
a.
Use Case Diagram
Use Case Diagram digunakan untuk menggambarkan sistem dari sudut
pandang pengguna sistem tersebut (user), sehingga pembuatan use case
diagram lebih dititikberatkan pada fungsionalitas yang ada pada sistem,
bukan berdasarkan alur atau urutan kejadian. Sebuah use case diagram
merepresentasikan sebuah interaksi antara aktor dengan sistem.
II-16
Bab II Landasan Teori
Sumber : http://www.agilemodeling.com/style/UseCaseDiagram.htm[14]
Gambar 2.4 Use Case Diagram
Ada beberapa relasi yang terdapat pada use case diagram:
1) Association, menghubungkan link antar element.
2) Generalization, disebut juga pewarisan (inheritance), sebuah elemen
dapat merupakan spesialisasi dari elemen lainnya.
3) Dependency, sebuah element bergantung dalam beberapa cara ke
element lainnya.
4) Aggregation, bentuk association dimana sebuah elemen berisi
elemen lainnya.
Tipe relasi yang mungkin terjadi pada use case diagram:
1) <<include>>, yaitu kelakuan yang harus terpenuhi agar sebuah event
dapat terjadi, dimana pada kondisi ini sebuah use case adalah bagian
dari use case lainnya.
2) <<extends>>, kelakuan yang hanya berjalan di bawah kondisi
tertentu seperti menggerakkan peringatan.
3) <<communicates>>, merupakan pilihan selama asosiasi hanya tipe
relationship yang dibolehkan antara aktor dan use case.
II-17
Bab II Landasan Teori
b. Class Diagram
Class Diagram adalah diagram yang digunakan untuk menampilkan
beberapa kelas serta paket-paket yang ada dalam sistem perangkat lunak
yang akan dikembangkan, Diagram Kelas memberi gambaran statis
tentang sistem perangkat lunak dan relasi-relasi yang ada didalamnya.
Class Diagram menggambarkan struktur dan deskripsi class, package
dan objek beserta hubungan satu sama lain seperti pewarisan, asosiasi,
dan lain-lain.
Sumber : http://www.agilemodeling.com/style/ClassDiagram.htm[15]
Gambar 2.5 Class Diagram
Class memiliki tiga area pokok :
1) Nama (Class Name)
2) Atribut
3) Metode (Operations)
Pada UML, class digambarkan dengan segi empat yang dibagi beberapa
bagian. Bagian atas merupakan nama dari class. Bagian yang tengah
merupakan struktur dari class (atribut) dan bagian bawah merupakan sifat
dari class (metode/operasi).
Atribut dan metode dapat memiliki salah satu sifat berikut :
1)
Private, tidak dapat dipanggil dari luar class yang bersangkutan.
II-18
Bab II Landasan Teori
2)
Protected, hanya dapat dipanggil oleh class yang bersangkutan dan
class lain yang mewarisinya.
3) Public, dapat dipanggil oleh class lain.
Hubungan antar Class :
1) Asosiasi,
yaitu
hubungan
statis
antar
class.
Umumnya
menggambarkan class yang memiliki atribut berupa class lain, atau
class yang harus mengetahui eksistensi class lain.
2) Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas”).
3) Pewarisan, yaitu hubungan hirarki antar class. Class dapat
diturunkan dari class lain dan mewarisi semua atribut dan metode
class asalnya serta bisa menambahkan fungsionalitas baru. Sehingga
class tersebut disebut anak dari class yang diwarisinya.
4) Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing
dari satu class kepada class lain. Hubungan dinamis dapat
digambarkan dengan menggunakan sequence diagram yang akan
dijelaskan kemudian.
c.
Sequence Diagram
Adalah diagram yang digunakan untuk menggambarkan event yang
dilakukan aktor eksternal pada sistem atau inter system event dilihat
dalam satu use case.
Sumber : http://www.agilemodeling.com/style/sequenceDiagram.htm[16]
Gambar 2.6 Sequence Diagram
II-19
Bab II Landasan Teori
d. Collaboration Diagram
Diagram ini menggambarkan interaksi objek yang diatur objek
sekelilingnya dan hubungan antara setiap objek dengan objek yang
lainnya. Dalam menunjukkan pertukaran pesan, collaboration diagram
menggambarkan objek dan hubungannya (mengacu ke konteks). Jika
penekannya pada waktu atau urutan gunakan sequence diagram, tapi jika
penekanannya pada konteks gunakan collaboration diagram.
1 : message()
Object
: Actor
2 : message()
Object1
Sumber : http://www.agilemodeling.com/style/collaborationDiagram.htm[17]
Gambar 2.7 Collaboration Diagram
e.
Statechart Diagram
Menggambarkan semua state (kondisi) yang dimiliki oleh suatu objek
dari suatu class dan keadaan yang menyebabkan state berubah.
Statechart diagram tidak digambarkan untuk semua class, hanya yang
mempunyai sejumlah state yang terdefinisi dengan baik dan kondisi class
berubah oleh state yang berbeda.
State adalah sebuah kondisi selama kehidupan sebuah objek atau ketika
objek memenuhi beberapa kondisi, melakukan beberapa aksi atau
menunggu sebuah event. State dari sebuah objek dapat dikarakteristikkan
oleh nilai dari satu atau lebih atribut-atribut dari class. State dari sebuah
objek ditemukan dengan pengujian/pemeriksaan pada atribut dan
hubungan dari objek. Notasi UML untuk state adalah
persegipanjang/bujur sangkar dengan ujung yang dibulatkan.
II-20
Bab II Landasan Teori
Sumber : http://www.agilemodeling.com/style/stateChartDiagram.htm[18]
Gambar 2.8 Statechart Diagram
f.
Activity Diagram
Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk
mendeskripsikan aktivitas yang dibentuk dalam suatu operasi sehingga
dapat juga digunakan untuk aktifitas lainnya. Diagram ini sangat mirip
dengan flowchart karena memodelkan workflow dari satu aktivitas ke
aktivitas lainnya atau dari aktivitas ke status. Pembuatan activity diagram
pada awal pemodelan proses dapat membantu memahami keseluruhan
proses. Activity diagram juga digunakan untuk menggambarkan interaksi
antara beberapa use case.
II-21
Bab II Landasan Teori
Sumber : http://www.agilemodeling.com/style/activityDiagram.htm[19]
Gambar 2.9 Activity Diagram
g.
Component Diagram
Menggambarkan struktur dan hubungan antar komponen piranti lunak,
termasuk ketergantungan (dependency) di antaranya. Komponen piranti
lunak adalah modul berisi code, baik berisi source code maupun binary
code, baik library maupun executable. Umumnya komponen terbentuk
dari beberapa class dan/atau package, tapi dapat juga dari komponenkomponen yang lebih kecil. Komponen dapat juga berupa interface, yaitu
kumpulan layanan yang disediakansebuah komponen untuk komponen
lain.
II-22
Bab II Landasan Teori
Gambar 2.9 Component Diagram
Sumber : http://www.agilemodeling.com/style/componentDiagram.htm[20]
Gambar 2.10 Component Diagram
h. Deployment Diagram
Menggambarkan arsitektur fisik dari perangkat keras dan perangkat
lunak sistem, menunjukkan hubungan komputer dengan perangkat
(nodes) satu sama lain dan jenis hubungannya. Di dalam nodes,
executeable
component
dan
objek
yang
dialokasikan
untuk
memperlihatkan unit perangkat lunak yang dieksekusi oleh node tertentu
dan ketergantungan komponen.
Sumber : http://www.agilemodeling.com/style/deploymentDiagram.htm(21)
Gambar 2.11 Deployment Diagram
II-23
Bab II Landasan Teori
2.9
Tools yang Digunakan
Tools yang digunakan dalam penmbuatan program ini menggunakan
Visual Basic 6.
2.9.1
Visual Basic 6
2.10
Bahasa Pemrograman yang Digunakan
Bahasa pemprograman yang digunakan dalam penulisan skripsi ini adalah
Pascal dan Microsoft Access.
2.10.1 Pascal
Pascal adalah bahasa pemrograman yang pertama kali di buat oleh
Profesor Niklaus Wirth, seorang anggota International Federation of Information
Processing (IFIP) pada tahun 1971. Dengan mengambil nama dari matematikawan
Perancis, Blaise Pascal, yang pertama kali menciptakan mesin penghitung,
Profesor Niklaus Wirth membuat bahasa Pascal ini sebagai alat bantu untuk
mengajarkan konsep pemrograman komputer kepada mahasiswanya. Selain itu,
Profesor Niklaus Wirth membuat Pascal juga untuk melengkapi kekurangankekurangan bahasa pemrograman yang ada pada saat itu.
Kelebihan dari bahasa pemrograman Pascal adalah:

Tipe Data Standar, tipe-tipe data standar yang telah tersedia pada
kebanyakan bahasa pemrograman. Pascal memiliki tipe data standar: boolean,
integer, real, char, string,

User defined Data Types, programmer dapat membuat tipe data lain yang
diturunkan dari tipe data standar.

Strongly-typed, programmer harus menentukan tipe data dari suatu variabel,
dan variabel tersebut tidak dapat dipergunakan untuk menyimpan tipe data
selain dari format yang ditentukan.

Terstruktur, memiliki sintaks yang memungkinkan penulisan program
dipecah menjadi fungsi-fungsi kecil (procedure dan function) yang dapat
dipergunakan berulang-ulang.

Sederhana dan Ekspresif, memiliki struktur yang sederhana dan sangat
mendekati bahasa manusia (bahasa Inggris) sehingga mudah dipelajari dan
dipahami.
II-24
Bab II Landasan Teori
Bahasa PASCAL juga merupakan bahasa yang digunakan sebagai standar
bahasa pemrograman bagi tim nasional Olimpiade Komputer Indonesia (TOKI).
Selain itu, Bahasa PASCAL masih digunakan dalam IOI (International Olympiad
in Informatics).
Tipe Data
Dalam bahasa Pascal terdapat beberapa jenis tipe data yang bisa digunakan
untuk sebuah variabel atau konstanta pada program. Tipe Data tersebut antara lain
adalah:
-
Byte angka dari 0 sampai 255
-
Integer angka dari -32768 to 32767
-
Real semua nilai pecahan dari 1E-38 to 1E+38
-
Boolean nilai TRUE atau FALSE
-
Char semua karakter dari tabel ASCII
-
String semua huruf, spasi, frasa
2.10.2 Database Microsoft Access
Microsoft Access (atau Microsoft Office Access) adalah sebuah
program aplikasi basis data komputer relasional yang ditujukan untuk
kalangan rumahan dan perusahaan kecil hingga menengah. Aplikasi ini
merupakan anggota dari beberapa aplikasi Microsoft Office, selain
tentunya Microsoft Word, Microsoft Excel, dan Microsoft PowerPoint.
Aplikasi ini menggunakan mesin basis data Microsoft Jet Database Engine,
dan juga menggunakan tampilan grafis yang intuitif sehingga memudahkan
pengguna.
Microsoft Access dapat menggunakan data yang disimpan di dalam format
Microsoft Access, Microsoft Jet Database Engine, Microsoft SQL Server, Oracle
Database, atau semua kontainer basis data yang mendukung standar ODBC. Para
pengguna/programmer
yang
mahir
dapat
menggunakannya
untuk
mengembangkan perangkat lunak aplikasi yang kompleks, sementara para
programmer yang kurang mahir dapat menggunakannya untuk mengembangkan
perangkat lunak aplikasi yang sederhana. Access juga mendukung teknik-teknik
II-25
Bab II Landasan Teori
pemrograman berorientasi objek, tetapi tidak dapat digolongkan ke dalam
perangkat bantu pemrograman berorientasi objek.
1.
Sejarah
Microsoft merilis Microsoft Access 1.0 pada bulan November 1992 dan
dilanjutkan dengan merilis versi 2.0 pada tahun 1993. Microsoft menentukan
spesifikasi minimum untuk menjalankan Microsoft Access 2.0 adalah sebuah
komputer dengan sistem operasi Microsoft Windows 3.0, RAM berkapasitas 4
megabyte (6 megabyte lebih disarankan) dan ruangan kosong hard disk yang
dibutuhkan 8 megabyte (14 megabyte lebih disarankan). Versi 2.0 dari Microsoft
Access ini datang dengan tujuh buah disket floppy 3½ inci berukuran 1.44
megabyte.
Perangkat lunak tersebut bekerja dengan sangat baik pada sebuah basis
data dengan banyak record tapi terdapat beberapa kasus di mana data mengalami
kerusakan. Sebagai contoh, pada ukuran basis data melebihi 700 megabyte sering
mengalami masalah seperti ini (pada saat itu, memang hard disk yang beredar
masih berada di bawah 700 megabyte). Buku manual yang dibawanya
memperingatkan bahwa beberapa kasus tersebut disebabkan oleh driver perangkat
yang kuno atau konfigurasi yang tidak benar.
Nama kode (codename) yang digunakan oleh Access pertama kali adalah
Cirrus yang dikembangkan sebelum Microsoft mengembangkan Microsoft
Visual Basic, sementara mesin pembuat form antarmuka yang digunakannya
dinamakan dengan Ruby. Bill Gates melihat purwarupa (prototype) tersebut dan
memutuskan bahwa komponen bahasa pemrograman BASIC harus dikembangkan
secara bersama-sama sebagai sebuah aplikasi terpisah tapi dapat diperluas. Proyek
ini dinamakan dengan Thunder. Kedua proyek tersebut dikembangkan secara
terpisah, dan mesin pembuat form yang digunakan oleh keduanya tidak saling
cocok satu sama lainnya. Hal tersebut berakhir saat Microsoft merilis Visual Basic
for Applications (VBA).
II-26
Bab II Landasan Teori
2.
Penggunaan
Microsoft Access digunakan kebanyakan oleh bisnis-bisnis kecil dan
menengah, di dalam sebuah organisasi yang kecil bahkan mungkin juga
digunakan oleh perusahaan yang cukup besar, dan juga para programmer untuk
membuat sebuah sistem buatan sendiri untuk menangani pembuatan dan
manipulasi data. Access juga dapat digunakan sebagai sebuah basis data untuk
aplikasi Web dasar yang disimpan di dalam server yang menjalankan Microsoft
Internet Information Services (IIS) dan menggunakan Microsoft Active Server
Pages (ASP). Meskipun demikian, penggunaan Access kurang disarankan,
mengingat telah ada Microsoft SQL Server yang memiliki kemampuan yang lebih
tinggi.
Beberapa pengembang aplikasi profesional menggunakan Microsoft
Access untuk mengembangkan aplikasi secara cepat (digunakan sebagai Rapid
Application Development/RAD tool), khususnya untuk pembuatan purwarupa
untuk sebuah program yang lebih besar dan aplikasi yang berdiri sendiri untuk
para salesman.
Microsoft Access kurang begitu bagus jika diakses melalui jaringan
sehingga aplikasi-aplikasi yang digunakan oleh banyak pengguna cenderung
menggunakan solusi sistem manajemen basis data yang bersifat klien/server.
Meskipun demikian, tampilan muka Access (form, report, query, dan kode Visual
Basic) yang dimilikinya dapat digunakan untuk menangani basis data yang
sebenarnya diproses oleh sistem manajemen basis data lainnya, seperti halnya
Microsoft Jet Database Engine (yang secara default digunakan oleh Microsoft
Access), Microsoft SQL Server, Oracle Database, dan beberapa produk lainnya
yang mendukung ODBC.
3.
Fitur
Salah satu keunggulan Microsoft Access dilihat dari perspektif
programmer adalah kompatibilitasnya dengan bahasa pemrograman Structured
Query Language (SQL); query dapat dilihat dan disunting sebagai statemenstatemen SQL, dan statemen SQL dapat digunakan secara langsung di dalam
Macro dan VBA Module untuk secara langsung memanipulasi tabel data dalam
Access. Para pengguna dapat mencampurkan dan menggunakan kedua jenis
II-27
Bab II Landasan Teori
bahasa tersebut (VBA dan Macro) untuk memprogram form dan logika dan juga
untuk mengaplikasikan konsep berorientasi objek.
Microsoft SQL Server Desktop Engine (MSDE) 2000, yang merupakan
sebuah versi mini dari Microsoft SQL Server 2000, dimasukkan ke dalam Office
XP Developer Edition dan dapat digunakan oleh Microsoft Access sebagai
alternatif dari Microsoft Jet Database Engine.
Tidak seperti sebuah sistem manajemen basis data relasional yang komplit,
Microsoft JET Database Engine tidak memiliki fitur trigger dan stored procedure.
Dimulai dari Microsoft Access 2000 yang menggunakan Microsoft Jet Database
Engine versi 4.0, ada sebuah sintaksis yang mengizinkan pembuatan kueri dengan
beberapa parameter, dengan sebuah cara seperi halnya sebuah stored procedure,
meskipun prosesur tersebut dibatasi hanya untuk sebuah pernyataan tiap
prosedurnya. Access juga mengizinkan form untuk mengandung kode yang dapat
dieksekusi ketika terjadi sebuah perubahan terhadap tabel basis data, seperti
halnya trigger, selama modifikasi dilakukan hanya dengan menggunakan form
tersebut, dan merupakan sesuatu hal yang umum untuk menggunakan kueri yang
akan diteruskan (pass-through dan teknik lainnya di dalam Access untuk
menjalankan stored procedure di dalam RDBMS yang mendukungnya.
Dalam berkas Access Database Project (ADP) yang didukung oleh
Microsoft Access 2000 dan yang selanjutnya, fitur-fitur yang berkaitan dengan
basis data berbeda dari versi format/struktur data yang digunakan Access
(*.MDB), karena jenis berkas ini dapat membuat koneksi ke sebuah basis data
MSDE atau Microsoft SQL Server, ketimbang menggunakan Microsoft JET
Database Engine. Sehingga, dengan menggunakan ADP, adalah mungkin untuk
membuat hampur semua objek di dalam server yang menjalankan mesin basis data
tersebut (tabel basis data dengan constraints dan trigger, view, stored procedure,
dan UDF). Meskipun demikian, yang disimpan di dalam berkas ADP hanyalah
form, report, macro, dan modul, sementara untuk tabel dan objek lainnya
disimpan di dalam server basis data yang membelakangi program tersebut.
4.
Pengembangan dengan Access
Access mengizinkan pengembangan yang relatif cepat karena semua tabel
basis data, kueri, form, dan report disimpan di dalam berkas basis data miliknya
(*.MDB). Untuk membuat Query, Access menggunakan Query Design Grid,
sebuah program berbasis grafis yang mengizinkan para penggunanya untuk
II-28
Bab II Landasan Teori
membuat query tanpa harus mengetahui bahasa pemrograman SQL. DI dalam
Query Design Grid, para pengguna dapat memperlihatkan tabel basis data sumber
dari query, dan memilih field-field mana yang hendak dikembalikan oleh proses
dengan mengklik dan menyeretnya ke dalam grid. Join juga dapat dibuat dengan
cara mengklik dan menyeret field-field dalam tabel ke dalam field dalam tabel
lainnya. Access juga mengizinkan pengguna untuk melihat dan memanipulasi
kode SQL jika memang diperlukan.
Bahasa pemrograman yang tersedia di dalam Access adalah Microsoft
Visual Basic for Applications (VBA), seperti halnya dalam beberapa aplikasi
Microsoft Office. Dua buah pustaka komponen Component Object Model (COM)
untuk mengakses basis data pun disediakan, yakni Data Access Object (DAO),
yang hanya terdapat di dalam Access 97, dan ActiveX Data Objects (ADO) yang
tersedia dalam versi-versi Access terbaru.
II-29
Download