9
BAB 2
LANDASAN TEORI
2.1 Teori-teori Dasar / Umum
Untuk menganalisis dan merancang suatu aplikasi, diperlukan beberapa
pertimbangan yang didasari oleh berbagai landasan teori yang dikenal secara umum.
Beberapa landasan teori umum tersebut diuraikan di bawah ini.
2.1.1 Pengertian Sistem
Wilkinson (1993, p3) mengatakan, sistem adalah suatu kerangka kerja terpadu
yang mempunyai satu sasaran atau lebih. Sistem ini mengkoordinasikan sumber daya
yang dibutuhkan untuk mengubah masukan-masukan menjadi keluaran. Sumber daya
dapat berupa manusia, bahan, mesin, maupun tenaga surya tergantung pada jenis sistem
yang dibicarakan.
Sedangkan menurut Lucas (1993, p2) yang dimaksud dengan sistem adalah suatu
himpunan komponen atau variabel yang teroraganisasi, saling berinteraksi, saling
bergantungan satu sama lain dan terpadu.
Adapun Hall (2001, 05) berpendapat bahwa sistem merupakan sekelompok dua
atau lebih komponen yang saling berkaitan (interrelated) atau subelemen-subelemen
yang saling bersatu untuk mencapai tujuan yang sama (common purpose).
10
2.1.2 Pengertian Informasi
Menururt Bentley et. al. (2004, p23) informasi merupakan data yang telah
diproses atau diorganisasi ulang menjadi bentuk yang berarti. Informasi dibentuk dari
kombinasi data yang diharapkan memiliki arti ke penerima.
Menurut Cushing (1991, p11), informasi diartikan sebagai output pengolahan
data yang diorganisir dan berguna bagi orang yang menerimanya.
Informasi diartikan sebagai data yang telah diolah menjadi sebuah bentuk yang
berarti bagi penerimanya dan bermanfaat dalam mengambil keputusan saat ini atau
mendatang. Berdasarkan analogi tersebut, dapat dinyatakan bahwa data sebagai bahan
baku dan informasi sebagai bahan jadi (Davis, 1991, p28).
2.1.3 Konsep Analisis dan Perancangan
Menurut McLeod (2001, p190) analisis sistem merupakan penelitian atas sistem
yang telah ada dengan tujuan merancang sistem baru atau diperbaharui. Di dalam tahap
analisis sistem, seorang sistem analis terus bekerja sama dengan manajer, dan komite
pengarah SIM yang terlibat dalam titik-titik penting.
Langkah-langkah analisis sistem yang diungkapkan oleh Jogianto (1990, p130)
antara lain :
1. Mengidentifikasi masalah.
2. Memahami kerja dari sistem yang telah ada.
3. Menganalisa sistem.
4. Membuat laporan hasil analisis.
11
2.1.4 Sumber Daya Manusia
Menururt Gomes (1995, p1) Sumber daya manusia merupakan salah satu sumber
daya yang terdapat di dalam organisasi, meliputi semua orang yang melakukan aktifitas.
Menurut Hasibuan (2000, p3) sumber daya manusia adalah semua manusia yang
terlibat di dalam suatu organisasi dalam mengupayakan terwujudnya tujuan organisasi
tersebut.
2.1.5 Pengertian Manajemen
Manajemen merupakan proses kerja sama dengan dan melalui orang-orang dan
kelompok untuk mencapai tujuan organisasi (Blanchard, 1982, p3).
Menurut Martoyo (1987) manajemen adalah bekerja dengan orang-orang untuk
menentukan, mengintepretasikan dan mencapai tujuan-tujuan organisasi dengan
pelaksanaan fungsi-fungsi perencanaan (planning), pengorganisasian (organizing),
penyusunan personalia atau kepegawaian (staffing), pengarahan dan kepemimpinan
(leading) dan pengawasan (controlling).
2.1.6 Manajemen Sumber Daya Manusia
Menurut Carrel (1992, p2) manajemen sumber daya manusia (human resource
management) adalah sekumpulan program, fungsi dan aktifitas yang didesain untuk
memaksimalkan tujuan yang hendak dicapai, baik karyawan maupun perusahaan.
Menurut Gomes (1995, p4) manajemen sumber daya manusia adalah
pengembangan dan pemanfaatan personil (pegawai) bagi pencapaian yang efektif
12
mengenai sasaran-sasaran dan tujuan-tujuan individu, organisasi, masyarakat, nasional,
dan internasional.
Menurut Hasibuan (1997, p9) manajemen sumber daya manusia adalah ilmu dan
seni mengatur proses pemanfaatan sumber daya manusia dan sumer-sumber daya
lainnya secara efektif dan efisien untuk mencapai suatu tujuan tertentu. Manajemen ini
terdiri dari enam unsur yaitu : Men, Money, Methode, Materials, Machines, Market
(6M)
2.1.6.1 Kegiatan-kegiatan dalam Manajemen Sumber Daya Manusia
Manajemen SDM menurut Cushing meliputi hal-hal berikut :
• Memberikan saran kepada manajemen tentang kebijaksanaan SDM guna
memastikan organisasi memiliki tenaga kerja yang bermotivasi dan
berkinerja tinggi, serta dilengkapi dengan sarana untuk menghadapi
perubahan dan dapat memenuhi kebutuhan pekerjanya.
• Melaksanakan dan memelihara semua kebijakan dan prosedur SDM yang
diperlukan untuk memastikan pencapaian tujuan organisasi.
• Membantu perkembangan arah dalam strategi organisasi secara keseluruhan,
terutama dengan memperhatikan segi-segi SDM.
• Meredakan krisis dalam situasi sulit didalam hubungan antar karyawan
untuk memastikan tidak adanya gangguan dalam pencapaian tujuan
organisasi.
• Menyediakan sarana komunikasi antara karyawan dengan manajemen
organisasi.
13
• Menjamin standar dan nilai organisasi dalam pengelolaan SDM.
Dessler (1997, p28) juga mengungkapkan bahwa manajemen sumber daya
manusia meliputi hal-hal di bawah ini:
1. Perekrutan dan Penempatan :
• Melakukan analisa jabatan (menetapkan sifat dari pekerjaan masing-
masing karyawan) : Bagaimana menganalisa sebuah jabatan,
menentukan tuntutan sumber daya manusia atas jabatan, juga tugas
dan tanggung jawab spesifiknya.
• Merencanakan kebutuhan tenaga kerja dan merekrut para calon
pekerja : Menentukan orang macam apakah yang perlu dipekerjakan
dan kemudian merekrut mereka.
• Testing dan seleksi para calon pekerja : Teknik-teknik seperti testing
harus memastikan bahwa perusahaan mempekerjakan orang yang
tepat.
• Wawancara calon karyawan : Bagaimana mewawancara calon
membantu memastikan bahwa perusahaan mempekerjakan orang
yang benar pada jabatan yang tepat.
2. Pelatihan dan Pengembangan
• Memberikan orientasi dan pelatihan bagi karyawan baru :
Memberikan pelatihan yang perlu untuk memastikan bahwa karyawan
baru memiliki pengetahuan dan keterampilan yang dibutuhkan untuk
menyelesaikan tugas-tugas mereka.
14
• Manajemen pengembangan : Konsep dan teknik untuk
mengembangkan lebih banyak karyawan, manajer, dan organisasi
yang berkemampuan.
• Menata-olah mutu dan produktifitas : Teknik-teknik seperti program
perbaikan mutu dan pembangunan tim yang digunakan perusahaan
untuk membantu menata-olah mutu dan produktifitas.
• Menilai kinerja : Teknik-teknik untuk menilai kinerja
• Menata-olah karir : Teknik-teknik seperti perencanaan dan promosi
karir dari dalam yang digunakan perusahaan untuk membantu
memastikan bahwa karyawan dapat mencapai potensi mereka.
3. Kompensasi
• Menetapkan rencana pembayaran : Bagaimana mengembangkan
rencana pembayaran yang adil untuk karyawan perusahaan.
• Membayar kinerja dan insentif keuangan : Rencana pembayaran
kinerja seperti insentif keuangan, membayar jasa dan insentif yang
membantu mengikat kinerja untuk dibayar.
• Kesejahteraan dan jasa : Memberikan kesejahteraan yang
memperjelas bahwa perusahaan melihat karyawannya sebagai
investasi jangka panjang dan memperhatikan kesejahteraan mereka
seperti rencana pemilikan saham, pensiun, dan rencana kesehatan di
atas rata-rata.
4. Keamanan dan Keselamatan Karyawan
15
• Hubungan tenaga kerja dan tawar menawar kolektif : Konsep dan
teknik menyangkut hubungan antara serikat kerja dan manajemen,
termasuk kampanye pengorganisasian-serikat kerja, menegosiasikan
dan menyetujui kesepakatan tawar menawar kolektif antara serikat
kerja dan manajemen, dan selanjutnya menata-olah kesepakatan lewat
proses keluhan.
• Terjaminnya perlakuan yang adil : Menjamin aliran komunikasi dua
arah dalam organisasi, juga menjamin perlakuan adil seperti
berhubungan dengan disiplin, pemecat\an, dan keamanan kerja
karyawan.
• Keselamatan dan kesehatan karyawan : Sebab-sebab kecelakaan,
bagaimana membuat tempat kerja aman, dan hukum-hukum yang
mengatur tanggung jawab perusahaan sehubungan dengan
keselamatan dan kesehatan karyawan.
5. Manajemen Sumber Daya Manusia Internasional
• Menata-olah sumber daya manusia dalam arena internasional :
Semakin pentingnya bisnis internasional, dan peran SDM dalam
menata olah sisi personil dari operasi multinasional.
2.1.6.2 Pembagian Tanggung Jawab SDM Antara Lini dan Staf
Menurut Dessler (1997, p5) dalam organisasi-organisasi kecil, manajer lini
(manajer yang diberi wewenang untuk mengarahkan pekerjaan bawahan dan
bertanggung jawab untuk mencapai tujuan-tujuan organisasi) bisa menjalankan tugas-
16
tugas personal tanpa bantuan. Namun, ketika organisasi berkembang, dibutuhkan
asisten, pengetahuan khusus, dan nasihat dari sebuah staf sumber daya manusia sendiri.
Dalam melakukan hal tersebut, manajemen SDM menjalankan tiga fungsi yang berbeda:
1. Fungsi Lini : Mengarahkan kegiatan dari orang-orang di dalam departemennya
sendiri dan bidang-bidang jasa (seperti kafetaria pabrik).
2. Fungsi Koordinatif : Mengkoordinasi kegiatan personil SDM.
3. Fungsi (jasa) Staf : Melayani dan membantu manajer lini.
2.1.7 Internet
Menurut Turban at all (2001, p208) internet merupakan jaringan komputer
terbesar di dunia. Internet merupakan kumpulan jaringan yang lebih dari 200 ribu
jaringan komputer yang dimiliki oleh pemerintah, universitas, lembaga-lembaga non-
profit dan perusahaan-perusahaan. Jaringan yang saling berhubungan ini dapat saling
bertukar informasi dengan menggunakan standar dan protokol yang sama.
Menurut Coupey (2001, p8) pada satu tingkat, internet secara sederhana dapat
diartikan sebagai komunikasi antara pelanggan, marketer, dan jutaan organisasi lainnya,
dimana komunikasi tersebut dilakukan secara lebih cepat dan lebih mudah.
Strauss (2001, p9) berpendapat, internet merupakan jaringan global yang
tersambung dalam jaringan-jaringan besar. Hal ini meliputi jutaan perusahaan,
pemerintah, organisasi, dan jaringan pribadi seperti e-mail, newsgroup dan web.
Internet (Interconnection Network) adalah suatu jaringan yang luas yang terdiri
dari jaringan komputer yang saling berhubungan di seluruh dunia. Internet terdiri dari
ribuan bahkan jutaan jaringan komputer yang tersebar di seluruh belahan dunia yang
17
terhubung melalui berbagai macam media, seperti satelit, jalur telepon dan sistem
komunikasi lainnya.
2.1.8 Intranet
Menurut Martin (1999 , p6) perbedaan utama internet dengan intranet adalah
sifat informasi yang dikandungnya. Informasi pada intranet tidak bisa ditemukan secara
umum seperti informasi pada internet karena informasi tersebut dikembangkan oleh
suatu perusahaan atau organisasi untuk kebutuhan internal saja. Karyawan menerima
password dan hak akses mereka, kemudian berkomunikasi dengan perusahaan dengan
dilindungi sistem firewall, yaitu teknologi yang bertujuan untuk membatasi pihak asing
dalam mengakses informasi internal perusahaan.
2.1.9 WWW (World Wide Web)
World Wide Web merupakan sebuah sistem dari server internet yang mendukung
khususnya dokumen-dokumen yang sudah diformat. Dokumen yang diformat dalam
sebuah script disebut HTML yang mendukung adanya hubungan dengan dokumen lain,
sehingga user dapat melompat dari satu halaman dokumen ke halaman lain dengan
meng-klik pada hotspot. WWW juga dapat diartikan sebagai sekelompok dokumen
multimedia yang saling terhubung menggunakan hypertext link. (Anonymous,2002).
Menurut McLeod (2001, p75) World Wide Web adalah ruang informasi di
internet tempat dokumen-dokumen hypermedia disimpan dan dapat diambil melalui
suatu skema alamat yang unik. Internet menyediakan arsitektur jaringan, dan web
menyediakan metode untuk menyimpan dan mengambil dokumen-dokumennya.
18
2.1.10 Web Browser
Web Browser, atau yang lebih sering disebut browser, merupakan piranti lunak
(software) yang dapat membaca dan mengintepretasikan dokumen HTML (Ellsworth,
1995, p32). Pemakaian World Wide Web menuntut pemakaian program browser untuk
melihat dokumen, melihat atau men-download gambar dan film, atau mendengarkan
atau men-download dokumen-dokumen suara. Browser dapat mengakses dokumen
HTML dan juga dokumen jenis lain yang menggunakan File Transfer Protocol (FTP),
Gopher, Net News Transfer Protocol (NNTP), Telnet, dan piranti lainnya. Beberapa
browser yang terkenal: Microsoft Internet Explorer, Netscape, Mosaic, Mozilla, dan
Opera.
2.1.11 Database
Menurut McLeod (2001, p258) database adalah suatu koleksi data komputer
yang terintegrasi, diorganisasikan, dan disimpan dengan suatu cara yang memudahkan
pengambilan kembali dua tujuan utama dari konsep database adalah meminimumkan
pengulangan data dan mencapai independensi data. Pengulangan data (data redudancy)
atau duplikasi data artinya data yang sama disimpan dalam beberapa file. Sedangkan
independensi data adalah kemampuan untuk membuat perubahan dalam struktur data
tanpa membuat perubahan pada program yang memproses data. Independensi data
dicapai dengan menempatkan spesifikasi data dalam tabel dan kamus yang terpisah
secara fisik dari program. Program mengacu pada tabel untuk mengakses data.
19
Perubahan pada struktur data hanya dilakukan sekali, yaitu dalam tabel. Ketika
perusahaan mengadopsi konsep database, hirarki data menjadi:
• Database
• File
• Catatan
• Elemen Data
File-file tersendiri dapat tetap ada, mewakili komponen-komponen utama dari
database, namun organisasi fisik dari data tidak menghambat pemakai. Tersedia
berbagai cara untuk mengintegrasikan isi dari file-file yang memiliki hubungan logis.
Pemakai database dapat berupa orang atau program aplikasi. Orang biasanya
menggunakan database dari terminal dan mengambil data dan informasi dengan
menggunakan query language. Query adalah permintaan informasi dari database, dan
query language adalah bahasa khusus yang user-friendly yang memungkinkan komputer
menjawab query.
2.1.12 Rekayasa Piranti Lunak
Rekayasa piranti lunak adalah pembuatan dan penggunaan prinsip-prinsip teknik
yang bertujuan untuk mendapatkan software yang bernilai ekonomis yang reliabel dan
bekerja secara efisien pada perangkat nyata (Roger S Pressman,2005,p53).
2.1.13 Delapan Aturan Emas Perancangan Antar Muka Pemakai
Menurut Shneiderman (1998, p74), ada delapan aturan emas dalam perancangan
antar muka (interface) yang harus dipenuhi yaitu :
20
1. Berusaha untuk tetap konsisten : Urutan kejadian harus konsisten pada situasi-
situasi yang serupa. Menu, layar dan perintah harus memiliki terminologi yang
identik. Perancang juga harus menjaga konsistensi warna, layout, kapitalisasi,
jenis huruf, dan sebagainya.
2. Memungkinkan frequent user untuk menggunakan jalan pintas (shortcut) :
Umumnya user yang sering menggunakan aplikasi ingin kecepatan respon yang
tinggi. Untuk itu penggunaan abrasi, kunci spesial dan perintah tersembunyi
sangat dibutuhkan.
3. Menawarkan umpan balik yang informatif : Untuk setiap aksi dari user sistem
harus memberikan umpan balik yang informatif. Untuk aksi minor, respon
bersifat lebih umum. Untuk aksi mayor, respon bersifat lebih substansial.
4. Rancang dialog untuk menghasikan keadaan akhir : Umpan balik atas akhir dari
suatu proses dan aksi akan sangat membantu dan juga user akan mendapat sinyal
untuk melakukan aksi lainnya.
5. Memberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana :
Sedapat mungkin sistem didesain sedemikian rupa agar user tidak sering
melakukan kesalahan yang serius, jika user melakukan kesalahan sistem harus
dapat mendeteksi kesalahan dan menawarkan instruksi yang sederhana,
konstruktif dan spesifik untuk penyembuhan (recovery).
6. Mengizinkan pembalikan (undo) aksi yang mudah : Dalam suatu waktu user
mungkin tidak sengaja melakukan aksi yang tidak diinginkan dan ingin
melakukan pembatalan. Sistem harus memberikan fungsi pembatalan sebanyak
21
mungkin agar user merasa nyaman dan tidak takut dalam mencoba dan memakai
sistem.
7. Mendukung fokus internal dari suatu kontrol : Kontrol yang kuat sangat baik
digunakan pada sistem, sehingga user dapat menguasai sistem secara cepat dan
mudah. Sistem yang tidak terduga dan sulit dalam melakukan aksi dapat
menyulitkan user.
8. Mengurangi beban memori jangka pendek : Keterbatasan memory pada manusia
harus ditanggulangi dengan meminimalisasi proses penyimpanan memori dengan
tampilan yang sederhana, konsolidasi tampilan halaman jamak dan pengurangan
frekuensi perubahan window.
2.2 Teori-teori Khusus
Terdapat beberapa teori khusus yang digunakan dalam analisis dan perancangan
aplikasi, secara spesifik analisis dan perancangan aplikasi berbasis web untuk
pengelolaan sumber daya manusia pada PT Saseka Gelora Finance seperti yang
diuraikan oleh definisi-definisi berikut ini.
2.2.1 Sistem Informasi Manajemen Sumber Daya Manusia
Menurut McLeod (1996, p278) sistem informasi sumber daya manusia adalah
sistem yang digunakan untuk mengumpulkan dan mengelola data yang menjelaskan
sumber daya manusia, mengubah data tersebut menjadi informasi dan melaporkan
informasi tersebut kepada pemakai
22
Menurut HollenBeck (2000, p28), sistem informasi sumber daya manusia adalah
sebuah sistem yang memiliki fungsi mengelola, menyimpan, memanipulasi,
menganalisa, memanggil kembali dan mendistribusikan informasi yang berhubungan
dengan sumber daya manusia perusahaan.
Menurut Laudon (2003, p7), sistem informasi sumber daya manusia adalah
komponen-komponen yang berhubungan dan bekerja bersama-sama untuk
mengumpulkan, memproses, menyimpan, mendistibusikan informasi untuk mendukung
dalam mengambil keputusan, koordinasi, kontrol, analisa, visualisasi dari sebuah
aktifitas manajemen sumber daya manusia.
Menurut Riswantini (2005), sistem informasi sumber daya manusia merupakan
prosedur sistematik untuk mengumpulkan, menyimpan, mengambil dan memvalidasi
data oleh organisasi mengenai sumber daya manusia dan kegiatan-kegiatan personalia.
2.2.2 HTML (HyperText Markup Language)
HTML adalah bahasa kode pemrograman yang menjadi dasar bagi terwujudnya
web. Dengan HTML seluruh sistem komputer yang saling berbeda dapat mengenali
format2 yang ditampilkan dalam situs2 Internet tanpa perbedaan yang berarti, termasuk
didalamnya penampilan multimedia (grafik, suara dan citra video). HTML berbasis teks
yang sangat sederhana dan praktis sehingga dapat dipahami oleh berbagai jenis
komputer dalam platform sistem yang berbeda (Rema, 1998).
23
2.2.3 Server dan Web Server
Menurut Nugroho (2004, p5) secara global server dapat diartikan sebagai pusat
dan difungsikan sebagai “pelayan” yang berguna untuk pengiriman data dan / atau
penerimaan data serta mengatur pengiriman dan penerimaan data di antara komputer-
komputer yang tersambung atau dengan kata lain server berfungsi menyediakan
pelayanan terhadap klien.
Sedangkan web server menurut Nugroho (2004, p6) adalah sebuah bentuk server
yang khusus digunakan untuk menyimpan halaman website atau home page. Komputer
dapat dikatakan sebagai web server jika komputer tersebut memiliki suatu program
server yang disebut Personal Web Server (PWS). PWS ini difungsikan agar halaman
web yang ada di dalam sebuah komputer server dapat dipanggil oleh komputer klien.
2.2.4 Apache Tomcat
Menurut Hidayat (2007) Tomcat, atau lengkapnya Apache Jakarta Tomcat
adalah Servlet/JSP container yang dibuat oleh Apache Software Foundation (ASF). Saat
ini Tomcat menjadi reference implementation dari spesifikasi Servlet / JSP (Java Server
Pages) dari Sun Microsystem. Versi terakhir dari Tomcat adalah 6.0.14. Saat ini Tomcat
bahkan telah dapat dijalankan sebagai service pada sistem operasi berbasis Windows.
Tomcat versi 6.0.x adalah implementasi dari spesifikasi Servlet versi 2.5, dan spesifikasi
JSP versi 2.1. Situs web resmi dari Tomcat adalah:
http://jakarta.apache.org/tomcat/index.html. Tomcat merupakan Servlet/JSP container
yang dibangun dalam bahasa pemrograman Java dan dijalankan di atas Java Virtual
Machine (JVM). Untuk terhubung ke sebuah web server diperlukan komponen yang
24
disebut sebagai 'connector'. Tomcat dapat berjalan sendiri (standalone) tanpa webserver
lain dengan menggunakan connector Coyote. Apabila dihubungkan dengan Apache
HTTP Server, diperlukan connector JK2.
2.2.5 MySQL
Menurut Allen dan Hornberger (2002, p220) MySQL merupakan bahasa
pemrograman open-source yang paling popular dan banyak digunakan di lingkungan
Linux. Kepopuleran ini karena ditunjang oleh performansi query dari database-nya yang
jarang bermasalah.
Nugroho (2004, p29) mengemukakan, MySQL (My Structure Query Language)
adalah sebuah program pembuat database yang bersifat open source, artinya siapa saja
dapat menggunakannya secara bebas. MySQL sebenarnya produk yang berjalan pada
platform Linux. Karena sifatnya yang open source, MySQL dapat berjalan pada semua
platform baik Windows maupun Linux. Selain itu, MySQL juga merupakan program
pengakses database yang bersifat jaringan sehingga dapat digunakan untuk aplikasi
multi-user (banyak pengguna). Saat ini database MySQL telah digunakan hampir oleh
semua pemrogram database, terlebih dalam pemrograman web.
2.2.6 Java
Menurut Hermawan (2006) Java adalah bahasa pemrograman berorientasi objek
yang dikembangkan oleh Sun Microsystem sejak tahun 1991. Bahasa ini dikembangkan
dengan model yang mirip bahasa C++ dan Smalltalk, namun dirancang agar lebih mudah
dipakai dan platform independent, yaitu dapat dijalankan di berbagai jenis sistem operasi
25
dan arsitektur komputer. Bahasa ini juga dirancang untuk pemrograman di internet,
sehingga dirancang agar aman dan juga portabel.
2.2.7 Java Enterprise Edition
Java Enterprise Edition atau JEE adalah sebuah standarisasi (kendati tanpa
dikukuhkan ISO atau ECMA) dalam pengembangan aplikasi menggunakan arsitektur
distributed multi-tier, berbasis komponen modular dan dijalankan diatas server aplikasi
(application server). Memanfaatkan beberapa teknologi termasuk JDBC dan CORBA,
sementara meningkatkan fungsionalitasnya menggunakan Enterprise Java Beans, Java
Servlets, Java Server Pages dan teknologi XML. Menggunakan J2EE pengembang
dapat membuat aplikasi enterprise yang portable dari satu platform dengan yang lain
dan scalable, sementara ia mengintegrasikan sejumlah teknologi legacy (Hidayat,2007).
26
Gambar 2.1 Arsitektur Java Enterprise Edition
Tier 1, atau yang biasa disebut client tier, merupakan tier presentasi kepada
pengguna dimana layanan-layanan untuk pengguna berada.
Tier 2, atau yang biasa disebut web tier, menyediakan manajemen proses di
mana business logic dan aturan-aturan dieksekusi. Di dalamnya terdapat web server
yang akan melakukan eksekusi terhadap request yang datang dari pengguna.
Tier 3, atau yang biasa disebut database tier, menyediakan fungsi manajemen
basis data dan didedikasikan untuk data dan layanan-layanan file yang diperlukan bagi
aplikasi, misalnya data mengenai user, data-data yang terkait dengan user, dan
sebagainya.
27
2.2.8 Servlet
Menurut Hall (2000, p5) servlet adalah program yang berbasiskan Java dan
berjalan pada web server, bekerja sebagai lapisan tengah (middle layer) di antara
permintaan (request) yang datang dari web browser atau dari klien HTTP yang lain
dengan database atau aplikasi yang berada di HTTP server.
Fungsi-fungsi dari servlet adalah sebagai berikut :
• Membaca data yang dikirimkan oleh pengguna.
• Mencari informasi lain yang berkaitan dengan permintaan (request) yang berada
di dalam HTTP request.
• Mengirimkan dokumen kembali kepada pengguna.
• Melakukan generasi (generate) terhadap hasil yang akan dikirim ke pengguna.
• Melakukan format dokumen.
• Memberikan parameter HTTP response yang sesuai.
2.2.9 JSP (Java Server Pages)
Java Server Pages (JSP) merupakan sebuah teknologi yang memungkinkan
programmer untuk menggabungkan halaman HTML statis, dengan konten dinamis hasil
dari generasi (generate) dari servlet (Hall, 2000, p9).
Menurut Hans Bergsten (2002, p13) JSP adalah sebuah teknologi untuk membuat
halaman web yang berisi konten dinamis dengan berbasiskan Java. Sebuah halaman JSP
dapat berisi HTML dan elemen khusus JSP dimana web server memasukkan konten
dinamis. Ketika pengguna melakukan panggilan terhadapan halaman JSP, web server
28
mengeksekusi elemen JSP, menggabungkannya dengan bagian statis dari halaman
tersebut, dan mengirimkan halaman tersebut ke web browser pengguna.
Gambar 2.2 Konten Dinamis dengan Elemen JSP
Keuntungan menggunakan JSP antara lain :
• Programmer dapat memasukkan kode-kode Java untuk membuat sebuah halaman
web dinamis.
• Halaman JSP selalu dikompilasi sebelum diproses oleh server.
• JSP mengizinkan programmer untuk memisahkan kode bahasa penandaan
(markup language), seperti HTML (Hyper Text Markup Language), dari kode
bahasa pemrograman yang digunakan untuk memproses inputan user, akses
database dan melakukan tugas yang spesifik terhadap aplikasi.
• Kemudahan dalam melakukan integrasi dengan Enterprise Java APIs
(Application Programming Interfaces), seperti JDBC (Java Database
Connectivity), JNDI (Java Naming and Directory Interface), EJB (Enterprise
JavaBeans), Java Mail, dan lin-lain.
• JSP mengizinkan programmer untuk mengembangkan tag library buatan mereka
sendiri yang memiliki tugas spesifik terhadap aplikasi yang sedang mereka
bangun.
29
2.2.10 System Development Life Cycle (SDLC)
Menurut Turban, Rainer, dan Potter (2001, pp477-486), yang dimaksud dengan
SDLC adalah kerangka terstruktur yang terdiri dari beberapa proses yang berurutan yang
diperlukan untuk membangun suatu sistem informasi. Pendekatan waterfall digunakan
untuk menggambarkan SDLC.
Gambar 2.3 Delapan Fase SDLC
Tahap-tahap SDLC adalah sebagai berikut :
1. Systems Investigation
Feasibility study atau pembelajaran terhadap segala kemungkinan yang dapat terjadi
adalah tahap terpenting dalam systems investigation. Dengan feasibility study yang
30
benar maka suatu perusahaan dapat terhindar dari kesalahan yang dapat
meningkatkan pengeluaran. Feasibility study menentukan kemungkinan adanya
keuntungan dari proyek pengembangan sistem yang diajukan dan menilai proyek
tersebut secara teknik, biaya, dan sifat.
2. Systems Analysis
Systems Analysis adalah analisis terhadap masalah bisnis yang akan diselesaikan
dengan sistem informasi oleh perusahaan. Tahap ini mendefinisikan masalah bisnis,
mengidentifikasikan penyebab, menspesifikasikan solusi, serta mengidentifikasi
informasi-informasi yang diperlukan. Tujuan utama dari tahap ini adalah untuk
menggabungkan informasi mengenai sistem yang ada dan menentukan kebutuhan
dari sistem yang baru. Beberapa hal yang dihasilkan dari tahap analisis adalah :
• Kekuatan dan kelemahan dari sistem yang telah ada.
• Fungsi-fungsi yang diperlukan oleh sistem yang baru untuk menyelesaikan
permasalahan.
• Kebutuhan informasi mengenai pengguna untuk sistem yang baru.
3. Systems Design
Tahap ini menjelaskan bagaimana suatu sistem akan bekerja. Yang dihasilkan oleh
desain sistem adalah sebagai berikut :
• Output, input, dan user interface dari sistem.
31
• Hardware, software, database, telekomunikasi, personel, dan prosedur.
• Penjelasan mengenai bagaimana komponen terintegrasi.
4. Programming
Tahap ini mencakup penerjemahan spesifikasi desain ke dalam bahasa komputer.
5. Testing
Tahap ini dipergunakan untuk memeriksa apakah pemrograman komputer telah
menghasilkan hasil yang diinginkan dan diharapkan atas situasi tertentu. Testing
didesain untuk mendeteksi adanya error di dalam coding.
6. Implementation
Implementation adalah proses perubahan dari penggunaan sistem lama ke sistem
yang baru.
7. Operation and Maintenance
Setelah tahap konversi berhasil maka sistem baru akan dioperasikan dalam suatu
periode waktu.
2.2.11 ERD (Entity Relationship Diagram)
Menurut Whitten, Bentley, dan Dittman (2004, pp295-307), entity relationship
diagram adalah pemodelan data yang menggunakan beberapa notasi untuk
32
menggambarkan data yang berhubungan dengan entity dan hubungan (relationship)
yang dideskripsikan oleh data tersebut.
Menurut Syahdan (2004), entity relationship diagram adalah model data yang
menggunakan beberapa notasi untuk menggambarkan data sebagai pengganti istilah
entitas dan hubungannya. Di dalam penggambaran ERD, terdapat cardinality, yaitu
suatu angka minimum atau maksimum dari kejadian satu entitas yang mungkin
berhubungan dengan kejadian entitas yang lainnya. Karena semua relationship adalah
dua arah, cardinality harus didefinisikan dalam dua arah untuk setiap relationship.
Berikut ini adalah gambar-gambar notasi cardinality.
Gambar 2.4 Notasi kardinal
33
Non-identifying relationship adalah hubungan dimana setiap entitas partisipan
mempunyai primary key independen-nya masing-masing. Relationship tipe ini
digambarkan dengan garis putus-putus dan biasa disebut strong entity. Sementara
identifying relationship adalah hubungan dimana setiap entitas partisipan mempunyai
primary key yang sama. Relationship tipe ini digambarkan dengan garis solid yang tidak
terputus-putus dan biasa disebut weak entity.
2.2.12 UML (Unified Modelling Language)
UML adalah suatu bahasa pemodelan standar untuk pengembangan perangkat
lunak dan sistem. UML menggunakan konsep Pemrograman Berorientasi Objek (Object
Oriented Programming). Melalui seperangkat diagram, UML menyediakan standar yang
memungkinkan sistem analis untuk merancang berbagai sudut pandang dari sistem, yang
dinamakan model, yang dimengerti oleh client, programmer, dan siapapun yang terlibat
dalam proses pengembangannya (Schmuller, 1999, page 16 – 17).
UML terdiri dari berbagai tipe diagram, antara lain :
1. Class Diagram
Class Diagram (Schmuller, 1999, p8), seperti terlihat pada adalah sebuah
kategori atau pengelompokkan dari hal – hal yang mempunyai atribut dan fungsi yang
sama.
34
Gambar 2.5 Icon kelas
Notasi yang digunakan dalam class diagram antara lain :
• Dependensi (Dependency), menandakan suatu kelas butuh untuk mengetahui kelas
lainnya untuk menggunakan objek dari kelas tersebut. Dengan kata lain, suatu
kelas akan menggunakan kelas lain pada saat runtime.
• Asosiasi (Association), menandakan bahwa suatu kelas akan mengandung satu atau
beberapa objek dari kelas lain dalam bentuk atribut.
• Agregasi (Agregation), menandakan suatu kelas memiliki objek dari kelas lain,
tetapi ada kemungkinan kelas tersebut dapat saling berbagi objek tersebut dengan
kelas yang lainnya.
• Komposisi (Composition), menggambarkan hubungan yang lebih kuat
dibandingkan agregasi. Suatu kelas memiliki objek dari kelas lain dan tidak dapat
saling berbagi objek tersebut dengn kelas lainnya. Bila kelas tersebut dihapus,
maka objek dari kelas lainnya pun terhapus.
• Generalisasi (Generalization) atau inheritance, menggambarkan sebuah kelas
adalah turunan dari kelas lainnya. Generalisasi sering diartikan sebagai hubungan
“is a”.
35
Gambar 2.6 Notasi dalam class diagram
Agar suatu kelas dapat berinteraksi dengan kelas lainnya, kelas tersebut harus
memiliki visibility. Ada empat tipe visibility yang dapat diaplikasikan pada class
diagram, yaitu :
• Public visibility (+), jika atribut atau operasi pada suatu kelas diberi
karakteristik public, maka atribut atau operasi di kelas tersebut dapat diakses
secara langsung oleh kelas lainnya.
• Protected visibility (#), atribut atau operasi yang diberi visibility bertipe
protected hanya dapat diakses oleh kelas itu sendiri dan kelas lain yang
merupakan turunan dari kelas tersebut.
• Package visibility (~), atribut atau operasi dengan package visibility hanya
dapat diakses oleh kelas yang terdapat dalam package yang sama.
• Private visibility (-), atribut atau operasi dengan private visibility hanya dapat
diakses oleh kelas itu sendiri.
36
Gambar 2.7 Empat tipe visibility dalam class diagram
2. Use Case Diagram
Menurut Schmuller, (1999, p10) Use Case merupakan sebuah gambaran dari
fungsi sistem yang dipandang dari sudut pandang pemakai. Pelaku Use Case adalah dua
elemen – elemen yang ada. Pelaku adalah orang – orang atau sistem lain yang
berinteraksi dengan sistem. Use Case adalah suatu bentuk interaksi antara sistem dan
pelaku. Pelaku Use Case dapat dihubungkan satu sama lain dengan mengindikasikan
sebuah pelaku pada sebuah Use Case. Use Case dapat dikelompokkan dalam
hubungannya dengan sistem. Semua Use Case yang didukung oleh sebuah sistem dapat
diorganisasikan dalam sebuah kelompok dengan nama dari sistem. Dari
pengelompokkan tersebut juga dapat dibuat grup yang lebih kecil, yang mungkin
menggambarkan subsistem. Setiap Use Case menentukan berapa ukuran interaksi yang
mungkin antara pelaku dan sistem. Elemen – elemen yang digunakan dalam Use Case
diagram antara lain:
• Use Case, yang digunakan untuk menggambarkan fungsi – fungsi pada sistem,
digambarkan dengan elips.
37
Gambar 2.8 Use case pada use case diagram
• Aktor, pengguna dari sistem.
Gambar 2.9 Aktor pada use case diagram
• Penghubung (connection line), untuk menghubungkan antara Actor dengan Use
Case.
Gambar 2.10 Penghubung (connection line) pada use case diagram
• Sistem, yang digambarkan menggunakan persegi yang didalamnya terdapat
sekumpulan Use Case. Actor diletakkan di luar sistem.
38
Gambar 2.11 Sistem pada use case diagram
Sebuah use case diagram bisa terdapat beberapa aktor yang memiliki use case
yang sama. Karena itu, dibutuhkan suatu metode untuk mengorganisir use case diagram
agar tidak terlihat rumit, yaitu actor generalizations. Actor generalizations menunjukkan
adanya generalisasi dari aktor yang lebih khusus, kepada aktor yang lebih umum, yang
menunjukkan bahwa kedua aktor tersebut memiliki satu atau lebih use case yang sama.
Gambar 2.12 Actor generalizations pada use case diagram
Pada contoh gambar di atas, menunjukkan bahwa aktor project manager, resource
manager, dan system administrator merupakan aktor yang lebih khusus dari aktor
39
human resource. Aktor-aktor di atas memiliki use case-nya masing-masing, tetapi
semua aktor tersebut memiliki dua buah use case yang sama, yaitu login dan logout.
3. Activity Diagram
Sebuah Activity Diagram (Schmuller, 1999), digunakan untuk mengetahui aliran
kerja yang dilakukan oleh sebuah objek atau komponen. Simbol dan notasi dasar dalam
Activity Diagram antara lain:
• Action State
• Arus tindakan / aksi (action flow), yang menggambarkan perpindahan dari
aktivitas satu ke aktivitas yang lain.
• Arus objek (Object Flow) mengacu pada perubahan yang terjadi pada objek
dikarenakan aktivitas yang terjadi. Simbol panah dalam diagram menandakan
pengaruh yang diakibatkan suatu aktivitas terhadap objek.
• State awal
• State akhir
• Percabangan (branching), menggambarkan suatu kondisi di mana terdapat dua atau
lebih jalur alternatif. Jalur yang menunjukkan arah keluar harus disertai dengan
syarat atau ekspresi yang telah ditentukan.
Contoh Activity Diagram dapat dilihat pada Gambar 2.13
40
Gambar 2.13 Activity diagram
4. Sequence Diagram
Sebuah Sequence Diagram (Schmuller, 1999), menunjukkan urutan pertukaran
pesan yang dilakukan oleh sekumpulan objek atau aktor yang mengerjakan pekerjaan
tertentu. Contoh Sequence Diagram dapat dilihat pada Gambar 2.14
41
Gambar 2.14 Sequence Diagram.
2.2.13 Model View Controller (MVC)
Pada tahun 1979, Trygve Reenskaug mengembangkan sebuah arsitektur baru
untuk mengembangkan aplikasi yang interaktif. Dalam desainnya, Trygve Reenskaug
memisahkan aplikasi menjadi 3 jenis komponen, yaitu model, view dan controller
(Thomas, 2005, p9). MVC adalah salah satu pola desain yang terkenal untuk pembuatan
aplikasi. MVC merupakan singkatan dari Model View Controller yang terdiri dari 3
komponen yang terpisah yang mempermudah pengembang, karena membuat aplikasi
42
menjadi lebih portable, scalable dan maintanable. MVC terbagi atas tiga komponen,
yaitu :
1. Model, merupakan dasar dari sebuah aplikasi. Model bertanggung jawab atas
state yang ada di dalam aplikasi. State ini bisa bersifat sementara, yang hanya
digunakan untuk beberapa jenis interaksi dengan pengguna. Terkadang state ini
juga bisa bersifat permanen dan disimpan diluar dari aplikasi tersebut, umumnya
didalam database (Thomas, 2005, p9).
2. Views, bertanggung jawab atas user interface (UI), yang normalnya berdasarkan
data yang ada didalam model. Contohnya, sebuah toko online mempunyai daftar
produk-produk yang ingin ditampilkan di layar. Daftar ini akan bisa diakses
melewati model tetapi view-lah yang bertanggung jawab untuk mengaksesnya
dari model dan menampilkannya sesuai format yang ingin ditampilkan kepada
para pengguna. Umumnya akses view ke model melalui perantara controller.
3. Controllers, merupakan bagian utama dari aplikasi. Controllers menerima event
dari luar sistem (umumnya dari para pengguna), lalu berinteraksi dengan model
dan menampilkannya dengan format yang layak untuk dilihat oleh para
pengguna (Thomas, 2005, p9).
43
Gambar 2.15 Arsitektur dan langkah kerja MVC
2.2.14 AJAX
Ajax (Resig, 2006), yang memiliki kepanjangan Asynchronous JavaScript and
XML, merupakan kata yang diperkenalkan oleh Jesse James Garret untuk menjelaskan
komunikasi antara klien dengan server secara asinkron dengan menggunakan objek
XMLHttpRequest. Sederhananya, Ajax digunakan untuk mengenkapsulasikan teknik-
teknik yang nantinya digunakan untuk membuat aplikasi web yang dinamis dan
responsif. Komponen individual yang digunakan dalam teknik Ajax dapat saling
digantikan, misalnya penggunaan HTML dapat digunakan untuk menggantikan
penggunaan XML.
Menurut Nicholas (2006, p9), sebagai awal dari pengembangan, AJAX masih
jauh dari kesempurnaan. Namun, sejumlah web developer menganggap AJAX sebagai
sebuah tantangan yang sangat menarik. Michael Mahemof, seorang software developer
mengidentifikasi beberapa prinsip dari aplikasi AJAX yang baik, antara lain sebagai
berikut:
44
• Trafik minimal, AJAX mengurangi sejumlah trafik yang dianggap tidak berguna
antara komputer server dan klien.
• Tidak ada kejutan, aplikasi AJAX memperkenalkan model interaksi pengguna
yang berbeda dengan aplikasi web tradisional. Berlawanan dengan standar web
click and wait, beberapa aplikasi AJAX mengimplementasikan paradigma
antarmuka pengguna yang berbeda, seperti drag and drop dan klik ganda.
• Pengembangan yang bersifat konvensional, AJAX memanfaatkan model interaksi
web tradisional maupun aplikasi desktop untuk mengurangi waktu belajar para
pengguna.
• Tidak ada distraksi, AJAX tidak menggunakan elemen-elemen halaman yang
mengganggu pengguna secara visual, antara lain animasi yang berulang-ulang, teks
yang berkedip, dan lain-lain.
• Aksesibilitas, aplikasi AJAX yang baik harus memperhatikan kepentingan
pengguna baik pengguna primer maupun sekunder, bagaimana akses pengguna-
pengguna tersebut terhadap aplikasi AJAX. Aplikasi-aplikasi AJAX sebaiknya
tidak mengesampingkan aksesibilitas golongan kecil pengguna-pengguna tertentu.
Kompatibitas terhadap browser-browser yang lama juga berpengaruh terhadap
faktor aksesibilitas ini.
• Tidak mendownload halaman secara keseluruhan, semua komunikasi server
setelah melakukan download halaman inisial, harus ditangani dengan baik oleh
mesin AJAX.
45
• Mendahulukan kepentingan pengguna, kepentingan dan kebutuhan pengguna
menjadi fokus utama aplikasi AJAX.
Gambar 2.16 Perbandingan model interaksi
tradisional dengan model AJAX