BAB II - Widyatama Repository

advertisement
BAB II
LANDASAN TEORI
2.1
Sistem Manajemen Kontes
2.1.1
Pengertian Sistem
Penggunaan kata sistem sekarang ini semakin luas dan meliputi berbagai
bidang, sehingga timbul berbagai definisi dan istilah tentang sistem tersebut yang
masing-masing beranjak dari sudut pandang dan lingkup pengertian itu sendiri.
Pada dasarnya kata sistem berasal dari bahasa Yunani “Sytema” yang berarti
kesatuan, yakni keseluruhan dari bagian-bagian yang mempunyai hubungan satu
sama lain. Beberapa definisi tentang sistem diantaranya :
“Sistem
menurut
West
Churchman
dapat
didefinisikan
sebagai
serangkaian komponen yang dikoordinasikan untuk mencapai serangkaian
tujuan.”
“Sistem adalah suatu jaringan prosedur yang dibuat menurut pola yang
terpadu untuk melaksanakan kegiatan pokok perusahaan. Sedangkan prosedur
adalah suatu urutan kegiatan klerikal, biasanya melibatkan beberapa orang dalam
satu departemen atau lebih, yang dibuat untuk menjamin penanganan secara
seragam transaksi perusahaan yang terjadi berulang-ulang.”
Dari pengertian tersebut dapat disimpulkan bahwa suatu sistem terdiri dari
beberapa jaringan prosedur yang dimaksudkan sebagai langkah pengambilan
keputusan dan digunakan dalam teknik perancangan sistem komputerisasi yang
berstruktur sehingga dapat menghasilkan output yang baik.
2.1.2
Sistem Informasi
Seringkali terdapat penggunaan istilah data dan informasi secara
bersamaan dengan maksud yang sama, padahal data dan informasi merupakan dua
hal yang berbeda. Walaupun demikian keduanya berkaitan erat dengan fakta. Data
adalah bahan informasi, dirumuskan sebagai kumpulan dari simbol-simbol yang
teratur yang menyatakan jumlah, tindakan-tindakan, hal-hal dan sebagainya.
II-1
II-2
Data dibentuk dari lambang grafis, alfabetis, numerik, atau lambang
khusus.[DAV93] Sedangkan informasi adalah data yang telah diolah ke dalam bentuk
yang berarti bagi si pemakai, mempunyai nilai guna dan manfaat dalam proses
pengambilan keputusan pemakainya.
Hubungan data dan informasi didefinisikan sebagai bahan baku dan
produk jadi. Data sebagai bahan baku, diolah melalui suatu proses transformasi
atau pengolahan data menjadi informasi. Atau dapat dikatakan bahwa informasi
merupakan keluaran (output) dari proses transformasi, dimana data berfungsi
sebagai masukannya (input). Jika ditinjau sebagai suatu sistem, maka sistem
informasi akan menerima masukan-masukan yang berupa data dan instruksi,
mengolah data sesuai dengan instruksi, dan mengeluarkan hasilnya berupa
informasi.
Sistem
informasi
adalah
suatu
sistem
didalam
organisasi
yang
mempertemukan kebutuhan pengolahan transaksi harian, mendukung informasi,
bersifat manajerial, dan kegiatan dari suatu organisasi dan menyediakan pihak luar
tertentu dengan laporan-laporan yang diperlukan.[ROB04]
Berdasarkan uraian pengertian dari kedua kata yang membentuknya, maka
dapat dijelaskan sistem informasi adalah sebuah sistem manusia/mesin yang
terpadu untuk menyajikan informasi guna mendukung fungsi operasi, manajemen,
dan pengambilan keputusan dalam sebuah organisasi. Sistem ini menggunakan
perangkat keras dan perangkat lunak komputer, prosedur pedoman, model
manajemen dan keputusan, dan sebuah basis data.
2.2
Microchip Implant untuk Hewan.
Sebuah implan microchip adalah sebuah sirkuit terpadu mengidentifikasi
ditempatkan di bawah kulit ikan, kucing, anjing, burung beo, kuda, atau hewan
lainnya. Chip adalah tentang ukuran dari butiran padi besar dan didasarkan pada
teknologi (Radio Frequency Identification) RFID pasif[MIC11].
Penggunaan perangkat microchip terpasang eksternal seperti tag RFID
telinga (tindik bukan implan) adalah metode lain, terkait umum digunakan untuk
II-3
mengidentifikasi hewan ternak dan peternakan selain kuda. Dalam beberapa kasus
microchip eksternal dapat dibaca pada pemindai yang sama sebagai gaya
ditanamkan.
Berikut adalah gambar microchip implant buat hewan serta cara
pemasanganya :
Gambar 2.1 Microchip Implant For Fish
Gambar 2.2 Alat Pendeteksi Microchip
2.2.1
Kegunaan dan Manfaat
Microchip telah sangat berguna dalam kembalinya hewan peliharaan yang
hilang. Mereka juga dapat membantu di mana kepemilikan binatang dalam
sengketa.
Hewan
dan
pusat-pusat
penampungan
hewan
kontrol
manfaat
menggunakan produk microchip identifikasi oleh lebih cepat dan efisien kembali
hewan peliharaan kepada pemilik mereka. Ketika hewan peliharaan bisa dengan
II-4
cepat disesuaikan dengan pemiliknya, tempat penampungan menghindari biaya
perumahan, makan, menyediakan perawatan medis, dan outplacing atau
euthanasia hewan peliharaan. Microchipping menjadi standar di tempat
penampungan: banyak membutuhkan semua hewan outplaced untuk menerima
sebuah microchip, dan memberikan layanan sebagai bagian dari paket adopsi.
Hewan-kontrol petugas dilatih dan dilengkapi untuk memindai hewan.
Selain tempat penampungan dan dokter hewan, microchip yang digunakan
oleh kandang, peternak, broker, pelatih, pendaftar, kelompok penyelamatan,
masyarakat manusiawi, klinik, peternakan, kandang, klub hewan dan asosiasi,
peneliti, dan toko hewan peliharaan.
Beberapa negara membutuhkan microchip saat mengimpor hewan untuk
membuktikan bahwa hewan dan catatan vaksinasi cocok. Microchip tagging juga
mungkin diperlukan untuk CITES diatur perdagangan internasional pada hewan
langka tertentu: misalnya, Asia Arwana dalam rangka untuk memastikan bahwa
hanya penangkaran ikan diimpor.
2.2.2
Komponen Microchip
Microchip yang pasif, atau inert, perangkat RFID dan tidak mengandung
sumber daya internal. Mereka dirancang sehingga mereka tidak bertindak sampai
ditindak lanjuti.
Kebanyakan microchip terdiri dari tiga elemen dasar: Sebuah chip silikon
(integrated circuit), sebuah induktor kumparan, atau inti ferit dibungkus kawat
tembaga, dan kapasitor. Chip silikon berisi nomor identifikasi, ditambah sirkuit
elektronik untuk menyampaikan bahwa informasi ke pemindai. Induktor bertindak
sebagai antena radio, siap untuk menerima tenaga listrik dari pemindai. Kapasitor
dan bertindak induktor sebagai tuner, membentuk sebuah rangkaian LC. Pemindai
ini menyajikan medan yang menggairahkan induktif kumparan dan biaya
kapasitor, yang pada gilirannya memberikan energi dan kekuatan IC. IC kemudian
mengirimkan data melalui kumparan ke pemindai.
Komponen ini terbungkus dalam gelas biokompatibel khusus yang terbuat
dari soda kapur, dan tertutup rapat untuk mencegah kelembaban atau cairan
II-5
memasuki unit. Komplikasi jarang terjadi pembatasan, anjing dan kucing yang
tidak terpengaruh secara fisik atau perilaku dengan kehadiran sebuah chip dalam
tubuh mereka.
2.2.3
Lokasi Penanaman
Pada ikan chip biasanya dimasukkan diantara sisik punggung di salah satu
sisinya. Sedangkan pada anjing dan kucing, chip biasanya dimasukkan di bawah
kulit di bagian belakang leher, antara tulang belikat pada garis tengah dorsal.
Eropa Kontinental hewan peliharaan mungkin pengecualian, mereka mendapatkan
implan di sisi kiri leher, menurut salah satu referensi chip sering dapat dideteksi
secara manual oleh pemilik dengan lembut merasakan kulit di daerah itu.. Itu tetap
di tempat sebagai lapisan tipis membentuk jaringan ikat di sekitar kaca
biokompatibel yang melukai itu.
Kuda microchipped di sisi kiri leher, setengah jarak antara jajak pendapat
dan layu, dan sekitar satu inci di bawah garis tengah surai, ke ligamentum nuchae.
Microchip burung 'yang disuntikkan ke dalam otot payudara mereka. Karena
pembatasan yang tepat diperlukan, operasi baik memerlukan dua orang (dokter
hewan unggas dan teknisi hewan), atau anestesi umum diberikan.
Gambar 2.3 Lokasi dan cara pemasangan Microchip pada Ikan
2.2.4
Jenis Hewan
Banyak spesies hewan telah microchipped, termasuk cockatiels dan beo
lainnya, kuda, llama, alpacas, kambing, domba, babi miniatur, kelinci, rusa,
musang, penguin, ular, kadal, buaya, kura-kura, kodok, katak, ikan langka,
II-6
simpanse, tikus, dan anjing padang rumput - bahkan ikan paus dan gajah. US Fish
and Wildlife Service menggunakan microchipping dalam penelitian banteng liar,
berkaki hitam musang, beruang grizzly, rusa, rusa ekor putih, kura-kura darat
raksasa dan armadillo.
2.3
Unified Modeling Language(UML)2
Unifield Modeling Language (UML) adalah keluarga notasi grafis yang
didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain
sistem perangkat lunak, khususnya sistem yang di bangun menggunakan
pemograman berorientasi objek (OO). Definisi ini merupakan definisi yang
sederhana. Pada kenyataannya,pendapat orang-orang tentang UML berbeda satu
sama lain. Hal ini dikarenakan oleh sejarahnya sendiri dan oleh perbedaan
persepsi tentang apa yang membuat sebuah proses rancang-bangun perangkat
lunak efektif[FOW03].
Bahasa pemodelan grafis telah ada di industri perangkat lunak sejak lama.
Pemicu di balik semuanya adalah bahwa bahasa pemograman berada pada tingkat
abstraksi yang tidak terlalu tinggi untuk memfasilitasi diskusi tentang desain.
Meskipun faktanya adalah bahasa pemodelan grafis telah ada sejak lama,
masih terdapat banyak pertentangan di dalam industri perangkat lunak tentang
perannya. Pertentangan-pertentangan ini berpengaruh langsung pada bagaimana
orang-orang memandang UML itu sendiri.
UML merupakan standar yang relatif terbuka yang dikontrol oleh Object
Management Group (OMG), sebuah konsorsium terbuka yang terdiri dari banyak
perusahaan. OMG dibentuk untuk membuat standar-standar yang mendukung
interoperabilitas, khususnya interoperabilitas sistem berorientasi objek. OMG
mungkin lebih dikenal dengan standar-standar COBRA (Common Object Request
Broker Architecture).
UML lahir dari penggabungan banyak bahasa pemodelan grafis
berorientasi objek yang berkembang pesat pada akhir 1980-an dan awal 1990-an.
Sejak kehadirannya pada tahun 1997.
II-7
Pada inti peran UML dalam perkembangan perangkat lunak, orang-orang
memiliki cara-cara yang berbeda dalam penggunaannya, perbedaan-perbedaan
yang masih dibawa dari bahasa-bahasa pemodelan grafis lain. Perbedaanperbedaan ini mengakibatkan perselisihan yang panjang dan keras tentang
bagaimana UML seharusnya digunakan.
Untuk menyelesaikannya, Steve Mellor dan Martin Fowler secara mandiri
menggolongkan tiga cara orang-orang menggunakan UML; sketsa, blueprint, dan
bahasa pemograman. Sejauh ini, yang paling umum dari ketiga cara tersebut,
setidaknya dari pandangan Martin Fowler, adalah UML sebagai sketsa. Dalam
penggunaan ini, developer menggunakan UML untuk membantu menyampaikan
beberapa aspek dari sebuah sistem. Sama halnya dengan blueprint, dapet
menggunakan sketsa dalam sebuah forward engineering atau reverse engineering.
Forward engineering menggambar sebuah diagram UML sebelum membuat kode
program, sedangkan Reverse engineering membuat diagram dari kode yang sudah
ada untuk membantu memahaminya.
Inti dari sketsa adalah pemilihan. Dalam forward sketching, membuat
daftar beberapa masalah dalam kode yang akan ditulis, biasanya dengan
membicarakannya
dahulu
dengan
sekelompok
tim.
Tujuannya
adalah
menggunakan sketsa untuk membantu menyampaikan ide atau alternatif tentang
apa yang akan dilakukan. Hal tersebut tidak berbicara tentang semua kode yang
akan dikerjakan, hanya beberapa masalah penting yang harus disampaikan pada
rekan atau desain yang ingin ditampilkan sebelum mulai pemograman. Sesi seperi
ini bisa saja sangat singkat.
Dengan reverse engineering, anda menggunakan sketsa untuk mejelaskan
bagaimana beberapa bagian dari sebuah sistem bekerja. Hal tersebut menunjukan
setiap class, hanya yang menarik dan berguna untuk dibicarakan sebelum
menggali lebih dalam kode program tersebut.
Karena
pembuatan
sketsa
sedikit
informal
dan
dinamis,
perlu
dilakukannya secara cepat dan kolaboratif. Sketsa juga berguna di dokumen, di
mana fokusnya lebih pada penyampaian ide daripada kebutuhan. Peranti yang
digunakan dalam pembuatan sketsa adalah alat gambar ringan dan acapkali orang-
II-8
orang tidak terlalu mengikuti setiap aturan dalam UML. Sebagian besar diagram
UML yang terdapat pada buku-buku. Penekanan penyampaian selektif daripada
spesifikasi utuh.
Kebalikannya,
UML
sebagai
blueprint
menyampaikannya
suatu
kebutuhan. Dalam forward engineering, blue print dibuat oleh seorang desainer
yang pekerjaannya membuat desain yang detil untuk dikodekan oleh seorang
programer. Desain tersebut harus cukup lengkap, dalam artian seluruh keputusan
desain telah dijabarkan dan programer harus dapat mengikutinya secara langsung
tanpa perlu berpikir keras. Desainer bisa jadi merupakan orang yang sama dengan
programer, tetapi biasanya desainer adalah developer yang lebih senior yang
mendesain untuk sebuah tim programer. Inspirasi pendekatan ini berasal dari
bentuk lain rancang-bangun di mana insinyur profesional membuat gambargambar rancang-bangun dan diserahkan kepada perusahaan konstruksi untuk
direalisasikan.
Pembuatan blueprint bisa diterapkan pada seluruh detil atau seorang
desainer dapat juga menggambar nlueprint untuk daerah tertentu. Langkah yang
umum bagi desainer adalah membuat mode blueprint sampat tingkat antar muka
(browser) subsistem dan menyerahkan kepada developer untuk mengerjakan detil
penerapannya tersebut.
Dalam reverse engineering, blueprint bertujuan untuk menyampaikan
informasi detil tentang kode baik dalam bentuk dokumen cetak atau sebagai
browser grafis interaktif. Blueprint dapat menunjukan setiap detil sebuah class
dalam sebuah bentuk grafis yang memudahkan developer dalam memahaminya.
Blueprint membutuhkan piranti yang lebih canggih daripada yang
dibutuhkan sketsa untuk menangani detilnya. Peranti CASE (Computer-Aided
Software engineering) khusus termasuk ke dalam kategori ini, meskipun istilah
CASE sudah menjadi kata umpatan dan vendor-vendor berusaha untuk tidak
menggunakannya lagi sekarang. Peranti forward engineering mendukung
penggambaran diagram dan menyimpannya dalam suatu tempat untuk menyimpan
informasi.
Piranti
reverse
engineering
membaca
souce
code
dan
menginterpretasinya untuk dimasukan ke dalam ruang penyimpanan, lali membuat
II-9
diagram. Peranti yang dalap melakukann kedua tipe engineering tersebut, baik
forward maupun reverse, disebut peranti roundtrip.
Beberapa peranti menggunakan source code sebagai tempat penyimpanan
dan menggunakan diagram sebagai penggambaran kode. Peranti-peranti ini sangat
terkait dengan pemograman dan acapkali berintegrasi secara langsung dengan
editor pemograman. Martin Fowler menyebutnya sebagai peranti-peranti tripless
Batas yang memisahkan blueprint dan sketsa sebenarnya kabur, tetapi
perbedaan menurut Martin Fowler, terletak pada fakta bahwa sketsa dibuat tidak
lengkap, hanya menunjukan informasi penting sedangkan blueprint cenderung
komprehensif dan acapkali bertujuan meringkas pemograman menjadi aktifitas
yang simpel dan sedikit mekanis. Dalam kata lain, Martin Fowler cenderung
mengatakan bahwa sketsa bersifat eksploratif sedangkan blueprint bersifat
definitif.
Semakin dalam menggeluti UML dan pemogramannya menjadi lebih
mekanis, akan tampak dengan jelas bahwa pemograman tersebut seharusnya
otomatis. Tentu saja terdapat banyak peranti CASE yang menerapkan beberapa
bentuk generasi kode yang secara otomatis membangun bagian tertentu dalam
sebuah sistem. Meskipun demikian sering kali akan sampai pada suatu titik di
mana seluruh sistem dapat dijabarkan dalam UML, dan sampai pada UML
sebagai bahasa pemograman. Dalam lingkungan ini, developer menggambar
diagram UML yang digabungkan langsung manjadi kode yang dapat dijalankan
dan UML mejadi source code. Jelas bahwa penggunaan UML ini membutuhkan
peranti yang sangat rumit. Lalu, istilah forward engineering maupun reverse
engineering tidak berlaku pada jenis ini karena UML sama dengan source code.
Salah satu pertanyaan menarik tentang UML sebagai bahasa pemograman
adalah bagaimana memodelkan logika behavioral. UML 2 manawarkan tiga cara
untuk pemodelan behavior: interaction diagram, state diagram, dan activity
diagram. Semuanya mempunyai kelebihan dalam pemograman. Jika UML
menjadi terkenal sebagai sebuah bahasa pemograman, akan menjadi menarik
untuk melihat teknik mana yang akan berhasil.
II-10
Sisi lain bagaimana orang-orang memandang UML adalah jarak antara
penggunaan UML untuk konseptual dan untuk pemodelan perangkat lunak.
Sebagian besar orang akrab dengan penggunaan UML dalam pemodelan
perangkat lunak. Di dalam perspektif perangkat lunak ini, elemen-elemen UML
memerakan secara agak langsung elemen-elemen dalam sebuah sistem perangkat
lunak. Seperti yang akan dilihat, pemeraan ini tidak secara preskriptif, tetapi jika
kita menggunakan UML, kita membicarakan elemen-elemen perangkat lunak.
Dalam perspektif konseptual, UML mewakili deskripsi konsep-konsep
sebuah bidang studi. Di sini tidak berbicara tentang elemen-elemen perangkat
lunak sebanyak jika menyusun kosakata untuk dibicarakan tentang bidang studi
tertentu.
Tidak ada aturan-aturan baku dalam perspektif, sebagai buktinya, terdapat
sejumlah besar perbedaan penggunaan. Beberapa peranti secara otomatis
mengubah source code menjadi UML, memperlakukan UML sebagai cara
pandang alternatif terhadap souce code tersebut. Hal tersebut merupakan sebuak
perspektif perangkat lunak. Jika menggunakan diagram UML untuk mencoba dan
memahami arti yang bermacam-macam dalam istilah asset pool bersama-sama
pikiran konseptual.
Dalam buku-buku Martin Fowler sebelumnya, ia membedakan persektif
perangkat lunak ke dalam spesifikasi (antarmuka) dan implementasi. Dalam
prakteknya, Martin Fowler menemukan bahwa sunggu sangat sulit untuk menarik
garis yang memisahkan mereka, jadi ia perbedaan itu sudah tidak layak untuk
dibicarakan. Akan tetapi, Martin Fowler cenderung menekankan antarmuka
daripada implementasi di dalam diagram-diagram.
Cara-cara yang berbada dalam penggunaan UML ini menyebabkan banyak
argumentasi tentang apa arti diagram UML dan hubungan mereka dengan dunia.
Khususnya, hal ini mempengaruhi hubungan antara UML dengan source code.
Beberapa orang berpandangan bahwa UML harus digunakan untuk membuat
sebuag desain bahawa pemograman yang mandiri digunakan dalam implementasi.
Kelompok lain percaya bahwa desain yang tidak tergantung bahasa merupakan
sebuah oxymoron (kombinasi kata-kata yang berlawanan arti untuk menciptakan
II-11
efek epigramatikal. Contoh, ”kebaikan yang kejam”), dengan penekanan pada
kata moron (bodoh, tolol, goblok).
Perbedaan cara pandang lainnya adalah tentang apa sebenarnya inti UML.
Dalam pandangan Martin Fowler, sebagian besar penggunaan UML, terutama
yang membuat sketsa berpendapa bahwa inti UML adalah diagram. Meskipun
demikian, pencipta UML memandang diagram sebagai hal sekunder, sedangkan
inti UML adalah meta-model. Diagram-diagram hanyalah presentasi dari metamodel. Padangan ini juga masuk akal bagi mereka yang membuat blueprint dan
pengguna bahasa pemograman UML.
Jadi setiap kali membaca buku yang menyebutkan UML, sangatlah penting
untuk mengetahui sudut pandang si pengarang. Baru setelah itu, dapat memahami
argumen-argumen yang acapkali keras yang didengungkan UML.
Setelah menyampaikan semua hal di atas, Martin Fowler perlu
menghilangkan biasnya. Hampir setiap saat, Martin Fowler menggunakan UML
sebagai sketsa. Martin Fowler mengerti bahwa sketsa UML berguna baik dengan
forward atau reverse engineering dan dalam perspektif konseptual maupun
perangkat lunak.
Martin Fowler bukan penggemar blueprint forward engineering yang
detail karena ia yakin akan sangat sulit untuk benar-benar membuat yang bagus
dan akan memperlambat usaha pengembangan. Membuat blueprint sampai pada
tingkat antarmuka subsistem masih masuk akal, tetapi kemudian akan harus
mengubah antarmuka tersebut ketika developer menerapkan interaksi antarmuka
tersebut. Nilai blueprint reverse engineering tergantung pada bagaimana peranti
tersebut bekerja. Jika digunakan sebagai browser dinamis, blueprint ini akan
sangan mambantu, tetapi jika digunakan untuk membuat dokumen yang besar,
blueprint akan menghapus cabang-cabangnya.
Martin Fowler menganggap bahwa UML sebagai bahasa pemograman
adalah ide yang bagus tetapi ia ragu apakah ini akan dapat menunjukan
penggunaan yang signifikan. Martin Fowler tidak percaya jika bentuk-bentuk
grafis lebih produktif daripada bentuk tekstual untuk kebanyakan tugas
II-12
pemograman dan bahwa jika mereka benar-benar lebih produktif, sangat sulit
sebuah bagasa untuk dapat diterima secara luas.
Sebagai hasil pandangan bias Martin Fowler, ia lebih fokus pada
penggunaan UML untuk pembuatan sketsa. Untungnya, hal ini masuk akal untuk
dijadikan sebagai pengantar singkat.
Gambar 2.4 Klasifikasi Jenis Diagram UML
Terdapat tiga klasifikasi dari UML diagram.
a.
b.
c.
Behavior diagrams.
Interaction diagrams
Structure diagrams.
UML 2 terdiri dari 13
jenis diagram resmi, terdapat pada tabel
berikut [AGI09] :
Tabel 2.1. Table Jenis Diagran UML 2.0
Diagram
Activity Diagram
Class Diagram
Description
Priority
Depicts high-level business processes, High
including data flow, or to model the logic
of complex logic within a system.
Shows a collection of static model High
elements such as classes and types, their
contents, and their relationships.
II-13
Diagram
Communication
Diagram
Description
Shows instances of classes, their
interrelationships, and the message flow
between them. Communication diagrams
typically focus on the structural
organization of objects that send and
receive messages. Formerly called a
Collaboration Diagram.
Component
Depicts the components that compose an
Diagram
application, system, or enterprise. The
components, their interrelationships,
interactions, and their public browsers
are depicted.
Composite
Depicts the internal structure of a
Structure Diagram classifier (such as a class, component, or
use case), including the interaction points
of the classifier to other parts of the
system.
Deployment
Shows the execution architecture of
Diagram
systems. This includes nodes, either
hardware
or
software
execution
environments, as well as the middleware
connecting them.
Interaction
A variant of an activity diagram which
Overview Diagram overviews the control flow within a
system or business process.
Each
node/activity within the diagram can
represent another interaction diagram.
Object Diagram
Depicts objects and their relationships at
a point in time, typically a special case of
either a class diagram or a
communication diagram.
Package Diagram Shows how model elements are organized
into packages as well as the
dependencies between packages. .
Sequence Diagram Models the sequential logic, in effect the
time ordering of messages between
classifiers.
State
Machine Describes the states an object or
Diagram
interaction may be in, as well as the
transitions between states. Formerly
referred to as a state diagram, state chart
diagram, or a state-transition diagram.
See UML State chart diagram guidelines.
Timing Diagram
Depicts the change in state or condition
of a classifier instance or role over time.
Priority
Low
Medium
Low
Medium
Low
Low
Low
High
Medium
Low
II-14
Diagram
Use Case Diagram
2.4
Description
Priority
Typically used to show the change in
state of an object over time in response to
external events.
Shows use cases, actors, and their Medium
interrelationships.
PHP
PHP adalah kependekan dari Hypertext Preprocessor atau Profesional
Homepage, yaitu sebuah bahasa scripting yang dieksekusi di sisi server (Serverside Scripting Language). Fungsinya adalah membuat sebuah web yang interaktif
dan dinamis. PHP dibuat pertama kali pada tahun 1995 oleh Rasmus Lerdorf,
seorang software engineer anggota tim pengembangan web server Apache. Pada
tahun 1996 Rasmos menulis kode script Perl untuk diterapkan pada hal yang lebih
komplek dengan bahasa pemrograman C[CRI06].
Pada bulan Oktober 2000 PHP merilis versi 4.0 dengan mengintegrasikan
Zend Engine, dan merupakan versi pengembangan dari PHP 3 Script Engine.
Keunggulannya dari sifatnya yang server-side tersebut antara lain :
Tidak diperlukan kompatibilitas browser atau harus menggunakan browser
tertentu, karena server-lah yang akan mengerjakan skrip PHP. Hasil yang
dikirimkan kembali ke browser apapun.
Dapat memanfaatkan sumber-sumber aplikasi yang dimiliki oleh server,
misalnya koneksi ke database.
Skrip tidak dapat “diintip” dengan menggunakan fasilitas view HTML
source.
Sebagai contoh, perhatikan skrip PHP sederhana berikut ini:
II-15
Contoh:
Setelah skrip ini dikerjakan di server, server akan memberikan output
kepada browser sebagai berikut :
Contoh :
Output inilah yang dieksekusi oleh browser. Dengan output berupa tag-tag
HTML biasa, maka output tersebut pasti dapat dieksekusi oleh browser apapun.
Adapun kelebihan dari PHP yaitu dapat “melakukan” semua aplikasi
program CGI, seperti mengambil nilai form, menghasilkan halaman web yang
dinamis, mengirim dan menerima cookie. PHP juga dapat berkomunikasi dengan
layanan-layanan yang menggunakan protokol IMAP, SNMP, NNTP, POP3,
HTTP, dan lain-lain.
Namun tampaknya kelebihan PHP yang paling signifikan adalah
kemampuannya untuk melakukan koneksi dengan berbagai macam database. Saat
ini, database yang didukung PHP adalah : Adabas D, InterBase, PostgreSQL,
dBase, FrontBase, Solid, Empress, mSQL, Sybase, FilePro(read-only), Direct
MS-SQL, Velocis, IBM DB2, MySQL, Unix dbm, Informix, Semua database
yang mempunyai provider ODBC, Ingres, Oracle (OCI7 and OCI8).
2.5
Apache Web/HTTP Server
HTTP Apache Server atau Web/WWW Apache Server adalah web server
yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft
Windows dan Novell Netware serta platform lainnya) yang berguna untuk
II-16
melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani
fasilitas web/www ini menggunakan HTTP[AZI01].
Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat
dikonfigur, autentikasi berbasis basis data dan lain-lain. Apache juga didukung
oleh sejumlah antarmuka pengguna berbasis grafik (GUI) yang memungkinkan
penanganan server menjadi mudah.
Apache merupakan perangkat lunak sumber terbuka dikembangkan oleh
komunitas terbuka yang terdiri dari pengembang-pengembang dibawah naungan
Apache Software Foundation.
2.6
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. MySQL AB membuat
MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General
Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial
untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan
GPL[AZI01].
Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat
lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber
dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh
sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta
hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang
Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson,
dan Michael "Monty" Widenius.
MySQL merupakan Relational Database Management System (RDBMS)
yang didistribusikan secara gratis dibawah lisensi GPL (General Public License).
Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh
dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan
turunan salah satu konsep utama dalam database sejak lama, yaitu SQL
(Structured Query Language). SQL adalah sebuah konsep pengoperasian
II-17
database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang
memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.
Keandalan suatu sistem database (DBMS) dapat diketahui dari cara kerja
optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh
user maupun program-program aplikasinya. Sebagai database server, MySQL
dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query
data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan
query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih
cepat dibandingkan Interbase.
MySQL memiliki beberapa keistimewaan, antara lain:
1.
Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi
seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan
masih banyak lagi.
2.
Open Source. MySQL didistribusikan secara open source, dibawah lisensi
GPL sehingga dapat digunakan secara cuma-cuma.
3.
'Multiuser'. MySQL dapat digunakan oleh beberapa user dalam waktu yang
bersamaan tanpa mengalami masalah atau konflik.
4.
'Performance tuning'. MySQL memiliki kecepatan yang menakjubkan dalam
menangani query sederhana, dengan kata lain dapat memproses lebih banyak
SQL per satuan waktu.
5.
Jenis Kolom. MySQL memiliki tipe kolom yang sangat kompleks, seperti
signed / unsigned integer, float, double, char, text, date, timestamp, dan lainlain.
6.
Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang
mendukung perintah Select dan Where dalam perintah (query).
7.
Keamanan. MySQL memiliki beberapa lapisan sekuritas seperti level
subnetmask, nama host, dan izin akses user dengan sistem perizinan yang
mendetail serta sandi terenkripsi.
8.
Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam
skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu
II-18
tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung
mencapai 32 indeks pada tiap tabelnya.
9.
Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan
protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan
menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa
Indonesia belum termasuk di dalamnya.
11. Antar Muka. MySQL memiliki browser (antar muka) terhadap berbagai
aplikasi dan bahasa pemrograman dengan menggunakan fungsi API
(Application Programming Browser).
12. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool)
yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan
yang ada disertakan petunjuk online.
13. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam
menangani ALTER TABLE, dibandingkan basis data lainnya semacam
PostgreSQL ataupun Oracle.
2.7
Perangkat Lunak / Aplikasi
Perangkat lunak / aplikasi adalah suatu subkelas perangkat lunak komputer
yang memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas
yang diinginkan pengguna. Biasanya dibandingkan dengan perangkat lunak
sistem yang mengintegrasikan berbagai kemampuan komputer, tapi tidak secara
langsung menerapkan kemampuan tersebut untuk mengerjakan suatu tugas yang
menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah
pengolah kata, lembar kerja, dan pemutar media[APL10].
Beberapa aplikasi yang digabung bersama menjadi suatu paket kadang
disebut sebagai suatu paket atau suite aplikasi (application suite). Contohnya
adalah Microsoft Office dan OpenOffice.org, yang menggabungkan suatu aplikasi
pengolah kata, lembar kerja, serta beberapa aplikasi lainnya. Aplikasi-aplikasi
dalam suatu paket biasanya memiliki antarmuka pengguna yang memiliki
kesamaan sehingga memudahkan pengguna untuk mempelajari dan menggunakan
II-19
tiap aplikasi. Sering kali, mereka memiliki kemampuan untuk saling berinteraksi
satu sama lain sehingga menguntungkan pengguna. Contohnya, suatu lembar
kerja dapat dibenamkan dalam suatu dokumen pengolah kata walaupun dibuat
pada aplikasi lembar kerja yang terpisah.
2.8
Basis Data/ Database
Basis data (bahasa Inggris: database), atau sering pula dieja basis data,
adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik
sehingga dapat diperiksa menggunakan suatu program komputer untuk
memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan
untuk mengelola dan memanggil kueri (query) basis data disebut sistem
manajemen basis data (database management system, DBMS). Sistem basis data
dipelajari dalam ilmu informasi[BAS10].
Istilah "basis data" berawal dari ilmu komputer. Meskipun kemudian
artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini
mengenai basis data komputer. Catatan yang mirip dengan basis data sebenarnya
sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan
kumpulan data yang berhubungan dengan bisnis.
Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau
potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari
jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema
menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara
obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan
struktur basis data: ini dikenal sebagai model basis data atau model data. Model
yang umum digunakan sekarang adalah model relasional, yang menurut istilah
layman mewakili semua informasi dalam bentuk tabel-tabel yang saling
berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang
sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan
antar tabel diwakili dengan menggunakan nilai yang sama antar tabel. Model yang
II-20
lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih
eksplisit untuk mewakili hubungan antar tabel.
Istilah basis data mengacu pada koleksi dari data-data yang saling
berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem
manajemen basis data (database management system / DBMS). Jika konteksnya
sudah jelas, banyak administrator dan programmer menggunakan istilah basis
data untuk kedua arti tersebut.
2.9
Pemrograman Berorientasi Objek
Pemrograman berorientasi objek (Inggris: object-oriented programming
disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada
objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelaskelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur.
Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke
objek lainnya[PEM10].
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang
lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti
lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih
mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan
pendekatan OOP lebih mudah dikembangkan dan dirawat.
Konsep Dasar dari Pemrograman Berorientasi Objek. Pemrograman
orientasi-objek menekankan konsep berikut:
a.
Kelas - kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk
suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang
terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada
berbagai macam perilaku/turunan dari anjing. Sebuah kelas adalah dasar dari
modularitas dan struktur dalam pemrograman berorientasi objek. Sebuah
kelas secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer
sekalipun terkait dengan domain permasalahan yang ada, dan kode yang
terdapat dalam sebuah kelas sebaiknya (relatif) bersifat mandiri dan
II-21
independen (sebagaimana kode tersebut digunakan jika tidak menggunakan
OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan
aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut.
Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah
program ataupun sebaliknya.
b.
Objek - membungkus data dan fungsi bersama menjadi suatu unit dalam
sebuah program komputer; objek merupakan dasar dari modularitas dan
struktur dalam sebuah program komputer berorientasi objek.
c.
Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi
yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap
objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat
melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi
dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana
kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat
abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah
pengabstrakan.
d.
Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat mengganti
keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode
dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap
objek mengakses browser yang menyebutkan bagaimana objek lainnya dapat
berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung
kepada representasi dalam objek tersebut.
e.
Polimorfisme
melalui
pengiriman
pesan.
Tidak
bergantung
kepada
pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode
tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung
kepada objek tertentu dimana pesan tersebut dikirim. Contohnya, bila sebuah
burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan
terbang. Bila seekor singa menerima pesan yang sama, dia akan
menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang
sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut
polimorfisme karena sebuah variabel tunggal dalam program dapat
II-22
memegang berbagai jenis objek yang berbeda selagi program berjalan, dan
teks program yang sama dapat memanggil beberapa metode yang berbeda di
saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan
bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi
kelas-pertama.
f.
Inheritas - Mengatur polimorfisme dan enkapsulasi dengan mengijinkan
objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah
ada - objek-objek ini dapat membagi (memperluas) perilaku mereka tanpa
harus mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak
selalu memiliki inheritas).
g.
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu
masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah
tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan
pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah
departemen yang memiliki manager, sekretaris, petugas administrasi data dan
lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi
maka manager tersebut tidak harus mengambilnya langsung tetapi dapat
menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut
seorang manager tidak harus mengetahui bagaimana cara mengambil data
tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas
adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi
antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya
sendiri.
2.10
PhpMyAdmin
PhpMyAdmin adalah perangkat lunak bebas yang ditulis dalam bahasa
pemrograman PHP yang digunakan untuk menangani administrasi MySQL
melalui World Wide Web. phpMyAdmin mendukung berbagai operasi MySQL,
diantaranya (mengelola basis data, tabel-tabel, bidang (fields), relasi (relations),
indeks, pengguna (users), perijinan (permissions), dan lain-lain) [PMA10].
II-23
Pada dasarnya, mengelola basis data dengan MySQL harus dilakukan
dengan cara mengetikkan baris-baris perintah yang sesuai (command line) untuk
setiap maksud tertentu. Jika seseorang ingin membuat basis data (database),
ketikkan baris perintah yang sesuai untuk membuat basis data. Jika seseorang
menghapus tabel, ketikkan baris perintah yang sesuai untuk menghapus tabel. Hal
tersebut tentu saja sangat menyulitkan karena seseorang harus hafal dan
mengetikkan perintahnya satu per satu.
Saat ini banyak sekali perangkat lunak yang dapat dimanfaatkan untuk
mengelola basis data dalam MySQL, salah satunya adalah phpMyAdmin. Dengan
phpMyAdmin, seseorang dapat membuat database, membuat tabel, mengisi data,
dan lain-lain dengan mudah, tanpa harus menghafal baris perintahnya.
PhpMyAdmin merupakan bagian untuk mengelola basis data MySQL
yang ada di komputer. Untuk membukanya, buka browser lalu ketikkan alamat
http://localhost/phpmyadmin, maka akan muncul halaman phpMyAdmin. Disitu
nantinya seseorang bisa membuat (create) basis data baru, dan mengelolanya.
Pengembangan phpMyAdmin dimulai pada tahun 1998 oleh Tobias
Ratschiller seorang konsultan IT. Ratschiller mengerjakan sebuah program
bernama MySQL-Webadmin dengan bebas, yang merupakan produk dari Petrus
Kuppelwieser, yang telah berhenti mengembangkannnya pada saat itu. Ratschiller
menulis kode baru untuk phpmyadmin, dan ditingkatkan pada konsep dari proyek
Kuppelwiesser. Ratschiller meninggalkan proyek phpMyAdmin pada tahun 2001.
Sekarang, Sebuah tim dari delapan pengembang yang dipimpin oleh Oliver Muller
meneruskan
pengembangan
phpMyAdmin
(http://sourceforge.net).
Beberapa pengembang diantaranya ialah:
1.
Marc Delisle
2.
Michal Cihar
3.
Sebastian Mendel
4.
Herman van Rink
di
SourceForge.net
II-24
Beberapa fitur dalam phpMyAdmin :
a.
Antarmuka berbasis web.
Dukungan banyak fitur MySQL :
1. Menelusuri dan drop basisdata (database), tabel, pandangan (view), bidang
(fields) dan indeks.
2. Membuat, menyalin, drop, dan mengubah nama basis data, tabel, kolom
dan indeks.
3. Pemeliharaan server, basis data dan tabel, dengan server konfigurasi.
4. Melaksanakan, mengedit dan penunjuk pernyataan-SQL, bahkan batchqueries.
5. Mengelola pengguna MySQL dan hak istimewa.
6. Mengelola prosedur penyimpanan.
b.
Impor data dari CSV dan SQL.
c.
Ekspor data ke berbagai format: CSV, SQL, XML, PDF, ISO / IEC 26300 –
Open Document Text dan Spreadsheet, Word, Excel, LATEKS dan lain-lain.
d.
Membuat grafik PDF dari tampilan basis data anda.
e.
Membuat kompleks query menggunakan Query-by-example (QBE).
f.
Pencarian global dalam basis data.
g.
Transformasi data disimpan ke dalam format yang menggunakan satu set
fungsi yang telah ditetapkan, seperti menampilkan data blob-data atau
download-link.
Download