BAB II LANDASAN TEORI 2.1
Pengertian Aplikasi Menurut Pressman (2010, p.8), web aplikasi adalah perangkat lunak yang
bentuknya paling sederhana yang memiliki lebih dari satu hypertext yang menyajikan informasi menggunakan teks dan grafis. Web aplikasi berkembang ke dalam lingkungan komputasi yang canggih yang tidak hanya menyediakan fitur yang berdiri sendiri, fungsi komputasi, dan konten pengguna akhir yang terintegrasi dengan database dan aplikasi bisnis. Menurut Dhanta (2009, p.32), aplikasi (application) adalah software yang dibuat oleh suatu perusahaan komputer untuk mengerjakan tugas-tugas tertentu, misalnya Microsoft Word, Microsoft Excel. Menurut Connolly and Begg (2010, p.329) perancangan aplikasi (application design) adalah rancangan user interface dan program aplikasi yang menggunakan dan memproses database. Dari pengertian di atas, dapat disimpulkan bahwa aplikasi merupakan software yang berfungsi untuk melakukan berbagai bentuk pekerjaan atau tugas-tugas tertentu seperti penerapan, penggunaan, dan penambahan data.
2.2
Software Development Life Cycle (SDLC)
2.2.1 Pengertian Software Development Life Cycle Menurut Roger S. Pressman, Software Development Life Cycle adalah proses mengembangkan atau mengubah suatu sistem perangkat lunak dengan menggunakan model-model dan metodologi yang digunakan orang untuk mengembangkan sistem perangkat lunak. Menurut Satzinger, Jackson, Burd (2009, p.38) System Development Life Cycle (SDLC) is the entire process of building, deploying, using, and updating an information system, yang artinya semua kegiatan membuat, menyebarkan, menggunakan, dan memperbaharui sebuah sistem informasi. Menurut Shelly, G. B., dan Rosenblatt, H. J. (2010, p.20), System Development Life Cycle adalah analisis terstruktur menggunakan serangkaian tahapan untuk
6
7
merencanakan, menganalisis, merancang, mengimplementasikan, mendukung sistem informasi. Menurut Dennis, Wixom, dan Roth (2009, p.6), System Development Life Cycle adalah suatu proses untuk memahami bagaimana sistem informasi dapat mendukung kebutuhan bisnis, merancang sistem, membangun sistem dan menyediakannya untuk pengguna. Dari pengertian-pengertian di atas maka dapat disimpulkan bahwa System Development Life Cycle adalah semua proses yang berkesinambungan dalam membuat, memelihara, meningkatkan, dan memperbaharui sistem informasi.
2.2.2 Tahapan dalam Software Development Life Cycle Menurut Dennis, Wixom, dan Roth (2009, p.10-14), “The System Development Life Cycle Phase consists of four phases among others.” yang artinya tahapan dalam siklus hidup pengembangan sistem terdiri dari 4 tahapan antara lain: 1.
Planning Phase (Tahap Perencanaan) “The planning phase is the fundamental process of understanding why an
information system should be built and determining how the project team will go about building it”, yang artinya tahap perencanaan adalah proses pemahaman mendasar tentang mengapa suatu sistem informasi harus dibangun dan menentukan bagaimana tim proyek akan membangun sistem yang dirancang serta memastikan bahwa proyek tersebut layak. 2. Analysis Phase ( Tahap Analisis) “The analysis phase answers the questions of who will use the system, what the system will do, and where and when it will be used”, yang artinya tahap analisis adalah proses untuk memahami dan mendokumentasi secara detail kebutuhan bisnis dan persyaratan pengolahan sistem baru diantaranya menganalisis siapa yang akan menggunakan sistem, dimana dan kapan sistem tersebut akan digunakan. 3. Design Phase ( Tahap Desain) “The design phase decides how the system will operate in terms of the hardware,software, and network infrastructure that will be in place; the user interface, forms,and reports that will be used; and the specific programs, databases, and files that will be needed.”, yang artinya tahap desain adalah proses untuk merancang solusi berdasarkan persyaratan yang telah ditentukan dan keputusan yang dibuat selama jangka waktu tertentu diantaranya yaitu merancang bagaimana sistem akan beroperasi dalam hal
8
software, hardware , infrastruktur jaringan dan laporan yang akan digunakan serta database dan file yang akan dibutuhkan. 4. Implementation Phase (Tahap Implementasi) “Implementation Phase is the process to build, test, and install a reliable information system with users trained and to benefit as expected users of the system.”, yang artinya tahap implementasi adalah proses untuk membangun, menguji, dan menginstal sebuah sistem informasi yang handal dengan user yang terlatih dan untuk mendapatkan keuntungan seperti yang diharapkan pengguna sistem.
2.2.3 Model Waterfall Software Development Life Cycle Menurut Roger S. Pressman (2010, p.39), Waterfall Model sebuah proses perancangan yang secara berurutan dan sering digunakan dalam proses pengembangan perangkat lunak.
Gambar 1 Model Waterfall Menurut Roger S. Pressman
Model waterfall menurut Ian Sommerville (2011, p.29) adalah proses kegiatan dari spesifikasi, pengembangan, validasi, dan evolusi dan mewakili mereka sebagai proses
terpisah
seperti
spesifikasi
implementasi, pengujian, dan sebagainya.
kebutuhan,
perancangan
perangkat
lunak,
9
Gambar 2 Model Waterfall Menurut Ian Sommerville
Berikut adalah penjelasan dari tahapan-tahapan yang dilakukan di dalam model waterfall menurut Ian Sommerville: 1. Requirements Analysis and Definition Layanan, batasan, dan tujuan sistem ditetapkan melalui konsultasi dengan pengguna sistem sehingga dilakukan pencarian dan pengumpulan kebutuhan sesuai dengan spesifikasi sistem dari pengguna. 2. System and Software Design Proses mengalokasikan kebutuhan baik perangkat keras atau perangkat lunak sistem dengan membentuk arsitektur sistem secara keseluruhan. Desain mengidentifikasikan dan menggambarkan hubungan abstraksi sistem yang mendasar. 3. Implementation and Unit Testing Selama tahap ini, desain perangkat lunak direalisasikan sebagai serangkaian program atau unit program. Pengujian Unit dilibatkan untuk memverifikasi bahwa setiap unit sudah terpenuhi sesuai spesifikasi. 4. Integration and System Testing Unit program individu atau program diintegrasikan dan diuji sebagai sistem yang lengkap untuk memastikan bahwa persyaratan perangkat lunak telah dipenuhi. Setelah pengujian, sistem perangkat lunak disampaikan kepada pelanggan.
10
5. Operations and Maintenance Sistem ini diinstal dan dimasukkan ke dalam penggunaan praktis. Pemeliharaan dilakukan mengoreksi kesalahan yang tidak ditemukan pada tahap-tahap awal dari setiap siklus, meningkatkan pelaksanaan unit sistem dan meningkatkan layanan sistem.
2.3
Unified Modeling Language (UML)
2.3.1 Sejarah dan Pengertian Unified Modeling Language Pengembangan UML dimulai dari kerja sama Grady Booch dan James Rumbaugh pada tahun 1994 untuk mengkombinasikan dua metodologi terkenal Booch dan OMT. Kemudian Ivar Jacobson, pencipta metode OOSE (Object Oriented Software Engineering) bergabung. Usulan UML diberikan ke OMG (Object Management Group) agar UML dijadikan bahasa dan notasi pemodelan dilakukan pada 1997. OMG menerima UML, UML telah menjadi standar de-facto karena pencipta-penciptanya sangat popular. Banyak pengembang perangkat lunak yang mengadopsi UML. OMG adalah konsorsium yang beranggotakan lebih dari 850 perusahaan untuk mendefinisikan standar-standar teknologi objek termasuk CORBA (Common Object Request Broker Architecture). Menurut Dennis, Wixom, dan Roth (2009, p.502), “Unified Modeling Language (UML) modeling is a set of conventions that are used to define or describe a software system associated with the object.” yang artinya Unified Modeling Language (UML) adalah sekumpulan konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek. Menurut Shelly dan Rosenblatt (2010, p.147), The Unified Modeling Language (UML) adalah metode yang digunakan secara luas untuk memvisualisasikan dan mendokumentasikan desain sistem perangkat lunak. Menurut Roger S.Pressman (2010, p.841), The Unified Modeling Language (UML) is “a standard language for writing software blueprints. UML may be used to visualize, specify, construct, and document the artifacts of a software-intensive system” [Booch], yang artinya bahasa standar untuk membuat blueprints dari perangkat lunak. UML dapat digunakan
untuk memvisualisasi, menspesifikasikan,
membangun,
mendokumentasikan artifak dari perangkat lunak. Dari beberapa pengertian di atas, dapat disimpulkan bahwa Unified Modeling Language adalah suatu notasi dengan bahasa standar yang digunakan untuk
11
pengembangan berorientasi objek serta menentukan atau menggambarkan suatu sistem software yang terkait dengan objek.
2.3.2 Diagram UML Versi UML 2.0 merupakan versi yang diterima oleh Object Management Group (OMG) pada tahun 2003. Versi UML ini mendefinisikan satu set dari 14 teknik diagram untuk pemodelan sistem. Diagram dibagi menjadi dua kelompok utama, satu untuk pemodelan struktur sistem (structure) dan satu untuk pemodelan perilaku (behaviour). 1. Structure Diagrams Diagram Struktur digunakan untuk mewakili data dan hubungan statis yang berada dalam suatu sistem informasi. Diagram ini terdiri dari: a. Class, menggambarkan hubungan antara kelas yang dimodelkan dalam sistem. b. Object, menggambarkan hubungan antara objek yang dimodelkan dalam sistem. c. Package, kelompok elemen UML lain yang bersama-sama untuk membentuk tingkat yang lebih tinggi. d. Deployment, menampilkan arsitektur fisik sistem, menunjukkan komponen yang digunakan ke arsitektur fisik. e. Component, menggambarkan hubungan fisik antara komponen-komponen perangkat lunak. f.
Composite Structure, menggambarkan struktur internal dari kelas yaitu hubungan antara bagian-bagian dari sebuah kelas.
2. Behaviour Diagrams Diagram Perilaku menyediakan analisis dengan cara menggambarkan hubungan dinamis antara benda yang mewakili bisnis sistem informasi. Diagram ini terdiri dari: a. Activity, menggambarkan aliran independen bisnis dari kelas, aliran aktivitas dalam use case atau detil desain dari method. b. Sequence, model perilaku objek dalam sebuah use case. Fokus pada pemesanan dari sebuah aktivitas. c. Communication, fokus pada komunikasi diantara satu set kolaborasi objek dari sebuah aktivitas.
12
d. Interaction Overview, menggambarkan gambaran dari aliran kontrol sebuah proses. e. Timing, menggambarkan interaksi yang terjadi diantara satu set objek dan perubahan negara melalui sepanjang sumbu waktu. f.
Behavioral State Machine, mengkaji perilaku satu kelas.
g. Protocol State Machine, menggambarkan ketergantungan diantara antarmuka yang berbeda dari sebuah kelas. h. Use Case, menangkap kebutuhan bisnis untuk sistem dan untuk menggambarkan interaksi antara sistem dan lingkungannya.
1. Use Case Diagram Menurut Dennis, Wixom, dan Roth (2009, p.505), diagramming techniques.” yang artinya adalah Use Case Diagram adalah serangkaian proses yang menggambarkan proses dan digunakan untuk semua teknik UML Diagram. Menurut Dennis, Wixom, dan Roth (2009, p.506-p.507), Elemen-Elemen dalam Use Case Diagram antara lain: Tabel 1 Elemen-Elemen Use Case
Simbol Actor “The actor is a person who interacts with the system and get the value of the system”. yang artinya Actor adalah orang yang berinteraksi dengan sistem dan mendapatkan nilai dari sistem. Use Case “Use Case is the main process to be performed by the system to see the actor benefits in several ways”. yang artinya Use Case adalah proses utama yang akan dilakukan oleh sistem untuk melihat manfaat actor dengan beberapa cara. System Boundary “System Boundary is a box that clearly represent the
Keterangan
13
system and outline the part of the diagram that are external
and
internal”,
yang
artinya
System
Boundary adalah Sebuah kotak yang mewakili sistem dengan jelas dan menggariskan bagian dari diagram yang bersifat eksternal dan internal. Association Relationship “Association
Relationship
is
a
two-way
communication link between the use case and actor”, yang
artinya
Association
Relationship
adalah
hubungan komunikasi dua arah antara use case dan actor.
Gambar 3 Contoh Use Case Diagram
2. Class Diagram Menurut Dennis, Wixom, dan Roth (2009, p.510), class diagram adalah model statis yang mendukung view statis dari sistem. Ini menunjukkan kelas dan hubungan antara kelas yang tetap konstan dalam sistem dari waktu ke waktu.
14
Menurut Ian Sommerville (2011, p.129), class diagram adalah mengembangkan model sistem berorientasi objek untuk menunjukkan kelas dalam sistem dan hubungan antar kelas. Elemen-Elemen dalam Class Diagram menurut Dennis, Wixom, dan Roth (2009, p.513) antara lain: Tabel 2 Elemen-Elemen Class Diagram
Keterangan
Simbol
Class -
Merupakan jenis orang, tempat, atau hal lain yang harus menggambarkan dan menyimpan informasi.
-
Nama diketik dalam huruf tebal dan berada di paling atas.
-
Memiliki daftar atribut dalam bagian tengah.
-
Memiliki daftar operasi dalam bagian bawah.
-
Tidak secara eksplisit menujukkan operasi yang tersedia untuk semua kelas.
Attribute -
Sifat yang menggambarkan keadaan objek
-
Boleh berasal dari atribut lainnya, yang ditunjukkan
Attribut name /derived attribute name
dengan menempatkan garis miring sebelum nama atribut itu. Method -
Tindakan atau fungsi dari sebuah kelas yang dapat dilakukan.
-
Dapat diklasifikasikan sebagai konstruktor, query, atau operasi update.
-
Termasuk tanda kurung yang berisi parameter khusus atau informasi yang diperlukan untuk melakukan operasi.
Option name()
15
Association -
Hubungan antara beberapa kelas atau sebuah kelas dengan dirinya sendiri.
-
Diberi label dengan sebuah frase verb atau nama peran yang menunjukkan hubungan yang lebih baik.
-
Boleh ada diantara satu atau lebih kelas.
-
Berisi symbol multiplicity, yang mewakili berapa kali minimum dan maksimum dalam kelas yang dikaitkan dengan kelas yang terkait. Atribut dan Operasi (method) dapat memiliki tiga sifat berikut:
•
Public (+), dapat dipanggil oleh class apa saja.
•
Protected (#), hanya dapat dipanggil atau diakses oleh class yang bersangkutan dan class turunannya.
•
Private (-), hanya dapat dipanggil oleh dirinya sendiri (tidak dapat diakses dari luar class yang bersangkutan). Tabel 3 Hubungan Antar Class
Keterangan
Simbol
Aggregation Agregasi adalah bagian-hubungan. Ini seperti mengatakan bahwa mobil memiliki mesin dan roda sebagai bagian-bagiannya. Aggregasi digambarkan dengan wajik tidak terisi.
Composition Komposisi
adalah
komponen
dari
kelas
lainnya. Misalnya titik dapat menjadi bagian dari poligon atau mungkin menjadi pusat lingkaran, tetapi tidak dapat menjadi keduanya (hanya dapat dimiliki satu kelas). Komposisi
16
digambarkan dengan wajik terisi.
Generalization Merupakan
sebuah
relasi
spesialisasi
/
generalisasi dimana suatu class dapat lebih general atau lebih spesifik dari class lainnya.
Gambar 4 Contoh Class Diagram
17
3. Sequence Diagram Menurut Dennis, Wixom, dan Roth (2009, p.519), Sequence Diagram adalah menggambarkan objek-objek yang berpartisipasi dalam use case dan pesan yang melewati antar mereka dari waktu ke waktu untuk sebuah use case. Tabel 4 Elemen-Elemen Sequence Diagram
Keterangan
Simbol
Actor Menspesifikasikan himpunan peran yang pengguna mainkan. Object Objek yang mewakili sistem otomatis. Lifeline Jalur kehidupan objek; urutan atas ke bawah.
menunjukkan
Focus of Control Menspesifikasikan bahwa use case target memperluas perilaku dari use case sumber pada suatu titik yang diberikan. Message Pesan yang diinput oleh pengguna ke dalam sistem. Timbal balik yang diberikan oleh sistem terhadap pengguna. Object Destruction X ditempatkan di akhir sebuah lifeline objek yang keluar dari keberadaannya.
18
Gambar 5 Contoh Sequence Diagram
4. Activity Diagram Menurut Roger S. Pressman (2010, p.853), Activity Diagram adalah menggambarkan perilaku dinamis dari suatu sistem atau bagian dari sistem melalui aliran kontrol antara tindakan yang sistem lakukan. Tabel 5 Elemen-Elemen Activity Diagram
Notasi
Keterangan
Simbol
Initial Node
Initial Activity sebagai awal dari aktivitas modul sistem aplikasi.
Final Activity Node
Final
Activity
menunjukkan
akhir
dari
aktivitas.
Final Flow Node
Digunakan untuk menghentikan spesifikasi
Activity
Activity menunjukkan aktivitas yang dilakukan.
control flow atau object flow.
19
Object Node
Mempresentasikan sebuah object dihubungkan dengan Object Flow.
Control Flow
Menunjukkan kegiatan apa berikutnya setelah suatu kegiatan. Menujukkan aliran sebuah object dari satu aktivitas ke aktivitas lainnya. Decisions menunjukkan aktivitas yang harus dipilih apakah pilihan pertama atau kedua.
Object Flow Decision Node
Merge Node
yang
Menyatukan path keputusan yang berbeda yang dibuat menggunakan decision-node.
Fork Node
Memisahkan flow aktivitas yang bersamaan.
Join Node
Menyatukan flow aktivitas yang berbeda dalam sau flow
Swimlane
Memisahkan sebuat aktivitas diagram ke dalam baris dan kolom sebagai aktivitas yang berdiri sendiri.
Gambar 6 Contoh Activity Diagram
20
2.4
Oracle Application Development Framework (ADF)
2.4.1 Pengertian Oracle ADF Oracle Application Development Framework (ADF) adalah sebuah framework aplikasi end-to-end yang dibangun di atas Java Platform, Enterprise Edition (Java EE) dan teknologi open source. Oracle ADF dapat digunakan untuk menerapkan solusi perusahaan dalam mencari, menampilkan, membuat, memodifikasi, dan memvalidasi data menggunakan web, wireless, desktop, atau web interface. Oracle ADF menyederhanakan dan mempercepat pengembangan Java EE dengan meminimalkan penulisan kode sehingga memungkinkan pengembang fokus pada fitur dan logika pembuatan aplikasi. Oracle ADF difokuskan pada pengembangan dengan menggunakan pendekatan visual dan deklaratif untuk pengembangan Java EE melalui tools Oracle JDeveloper 11g. Oracle JDeveloper dan Oracle ADF memberikan lingkungan yang mencakup siklus pengembangan penuh dari desain ke pengembangan dengan drag dan drop data bindings, visual desain UI, dan fitur pengembangan dalam pembangunan.
2.4.2 Oracle JDeveloper Oracle JDeveloper adalah sebuah Integrated Development Environment (IDE) untuk membangun aplikasi menggunakan standart terbaru untuk Java, XML, Web Services, dan SQL. JDeveloper mendukung siklus pengembangan yang lengkap dengan fitur yang terintegrasi untuk modeling, coding, debugging, testing, profiling, tuning, dan deploying aplikasi. JDeveloper merupakan platform pengembangan utama untuk Oracle Fusion Middleware. Platform IDE JDeveloper dapat jalan di Windows, Linux, Mac OS X, dan sistem berbasis UNIX lainnya.
2.4.3 Arsitektur Oracle ADF Oracle ADF menerapkan pola desain MVC (Model View Controller) dan menawarkan solusi terpadu yang mencakup semua layer arsitektur dengan solusi seperti: Object/Relational mapping, data persistence, reusable controller layer, rich Web user interface framework, data binding to UI, security and customization. Oracle ADF didasarkan pada empat lapisan, yaitu: 1. Model Layer, mewakili nilai-nilai data yang terkait pada halaman aplikasi. 2. Controller Layer, menangani proses inputan pengguna dan menentukan navigasi halaman atau flow aplikasi.
21
3. View Layer, menangani user interface aplikasi yang digunakan untuk melihat dan mengubah data. 4. Business Services Layer, menangani akses data dan merangkum logika bisnis.
Gambar 7 Arsitektur Oracle ADF
2.4.4 ADF Business Components Dalam membangun aplikasi dengan Java EE perlu menerapkan business logic sebagai satu atau lebih layanan bisnis. Layanan backend ini menyediakan client dengan cara query, insert, update, dan delete data yang dibutuhkan untuk aturan bisnis yang tepat. ADF Business Component merupakan objek aplikasi untuk mempercepat pekerjaan, memberikan dan menangani kinerja yang tinggi, fungsi yang kaya, layanan database yang siap digunakan untuk implementasi desain Java EE. Oracle
ADF
menyediakan
komponen
berikut
untuk
menyederhanakan
pembangunan layanan database: 1. Entity Object Objek entitas yang mewakili baris pada tabel database dan memudahkan untuk memodifikasi data dengan menangani semua operasi DML (Data Manipulation Language). Entity Object mencerminkan hubungan dengan skema database dan memiliki association apabila satu tabel memiliki hubungan foreign key dengan tabel lain. Definisi entity object disimpan dalam file metadata XML (Extensible Markup Language). File XML ini secara otomatis ditangani oleh JDeveloper dan framework ADF.
22
2. View Object View Object merupakan sebuah query SQL dan memudahkan pekerjaan dengan hasilnya. SQL digunakan untuk join, filter, sort, dan aggregate data yang dibutuhkan oleh end user untuk digunakan dalam user interface. View object ini memiliki link dengan view object lain untuk data yang master-detail. View object bekerja sama dengan entity object untuk validasi dan menyimpan perubahan. 3. Application Module Sebuah application module merupakan komponen transaksi yang digunakan client UI untuk bekerja dengan data aplikasi. Dalam modul ini dapat dibuat method (procedures atau functions) yang direlasikan dengan logik unit untuk tugas end-user.
2.4.5 ADF Model Layer Model ADF digunakan untuk layanan implementasi, menyediakan sebuah interface programming untuk tipe services yang berbeda. Data controls menyediakan interface ini yang digunakan untuk metadata interface ke gambaran operasi services dan kumpulan data, termasuk informasi tentang properties, methods, dan tipe yang terlibat. Dalam JDeveloper, fungsi dan atribut diarahkan oleh sebuah services yang dikenali dengan icon pada Data Controls panel. Data dapat di-drag dan drop ke page untuk membuat komponen UI. JDeveloper secara otomatis menciptakan bindings dari page dan komponen UI ke services. Ketika runtime, ADF model layer membaca informasi yang menggambarkan
data
controls
dan
data
bindings
dari
file
XML
dan
mengimplementasikan dua jalan koneksi antara user interface dan business service.
2.4.6 ADF Task Flow Task Flows digunakan untuk mengontrol aliran aplikasi web ADF Fusion. Aplikasi web ADF Fusion memiliki satu Unbounded Task Flows yang merupakan page yang diakses secara umum. ADF juga memiliki Bounded Task Flows yang digunakan untuk page lainnya yang dapat dipanggil dari unbounded task flow atau dari bounded task flow lainnya.
2.4.7 ADF Faces Rich Client ADF Faces adalah satu set JSF (Java Server Faces) komponen yang termasuk fungsi AJAX. AJAX adalah kombinasi dari JavaScript, Dynamic HTML (DHTML), XML, dan XmlHttpRequest. Dengan kombinasi ini, ADF Faces lebih mudah untuk menangani tampilan komponen aplikasi tanpa perlu membuat kode JavaScript.
23
ADF Faces menyediakan 150 komponen, termasuk hierarchical data tables, tree menus, in-page dialogs, accordions, dividers, and sortable tables. ADF Faces juga menyediakan komponen ADF Data Visualization yang merupakan komponen flash dan PNG yang mampu membuat dynamic charts, graphs, gauges, dan grafik lainnya. Masingmasing komponen juga mendukung customization dan skinning yang mudah diakses dan mendunia.
2.4.8 ADF Pages dan Fragments Pages merupakan halaman web yang lengkap yang dapat dijalankan sendiri, sedangkan page fragments adalah komponen yang dapat digunakan di dalam region sebuah pages. Pada sebuah aplikasi enterprise biasanya memiliki sedikit atau hanya satu pages, dan memiliki banyak page fragments yang secara dinamik diganti yang lainnya dalam sebuah region.
2.5
Database Oracle
2.5.1 Pengertian Database dan Database Oracle Dalam buku Strohm, Richard (2011, p.1-1), database adalah kumpulan data yang diperlakukan sebagai satu unit. Tujuan database adalah untuk menyimpan dan mengambil informasi yang terkait. Sebuah server database adalah kunci utama untuk manajemen informasi. Database Oracle merupakan database pertama yang dirancang untuk enterprise grid computing yang lebih fleksibel dan harga yang efektif untuk mengelola informasi dan aplikasi.
2.5.2 Tipe-Tipe Skema Objek Oracle Dalam buku Ashdown, Lance dan Tom Kyte (2014, p.2-2), skema objek yang paling penting dalam relational database adalah tabel. Sebuah tabel menyimpan data dalam baris-baris. Oracle SQL dapat digunakan untuk membuat dan memanipulasi berbagai tipe skema objek, yaitu: 1. Indexes, skema objek yang berisi sebuah catatan untuk masing-masing index baris pada tabel atau table cluster sehingga akses ke baris-baris tabel lebih cepat. 2. Partitions, bagian dari tabel-tabel yang besar dan index-index.
24
3. Views, menyesuaikan data dalam satu atau lebih tabel atau view lainnya. View dibuat dengan query yang disimpan di dalamnya dan view tidak secara benar-benar berisi data. 4. Sequences, pengguna dapat membuat objek yang dapat dibagikan oleh banyak pengguna untuk menciptakan integer. Biasanya, sequence digunakan untuk mengenerate primary key. 5. Dimensions, mendefinisikan hubungan parent-child antara kolom dimana semua kolom harus dari tabel yang sama. Dimensi biasanya digunakan untuk mengkategorikan data seperti pelanggan, produk, dan waktu. 6. Synonyms, sebuah alias untuk skema objek lainnya sehingga tidak memerlukan penyimpanan selain didefinisikan di data dictionary. 7. PL/SQL Subprograms and Packages, program PL/SQL yang disimpan dalam sebuah package.
2.6
Manajemen Sumber Daya Manusia
2.6.1 Pengertian Manajemen Sumber Daya Manusia Menurut Gary Dessler (2013, p.4), Manajemen Sumber Daya Manusia adalah proses untuk memperoleh (acquiring), melatih (training), menilai (appraising), dan kompensasi (compensating) karyawan-karyawan, dan hubungan antara tenaga kerja, kesehatan dan keselamatan, dan keadilan. Konsep dan teknik manajemen sumber daya manusia sangat penting bagi Manager perusahaan karena dapat menghindari kesalahankesalahan karyawan dan untuk meningkatkan laba dan kinerja karyawan. Menurut Robert L. Mathis dan John H. Jackson (2011, p.4), Manajemen Sumber Daya Manusia adalah merancang sistem manajemen untuk memastikan bahwa talenta manusia dapat digunakan secara efektif dan efisien untuk mencapai tujuan organisasi. Dari pendapat di atas dapat disimpulkan bahwa tanggung jawab manajemen sumber daya manusia mempunyai peranan penting dalam rangka mendukung pencapaian tujuan organisasi. Semua kegiatan organisasi dalam mencapai tujuannya tergantung kepada manusia-manusia yang mengelola organisasi itu.
2.6.2 Karir dan Jalur Karir Menurut Marwansyah (2010, p.223), karir adalah semua pekerjaan yang pernah dijalani seseorang sepanjang kehidupan kerjanya atau sebuah pola/lintasan pekerjaan yang ditempuh seseorang sepanjang kehidupan kerjanya.
25
Menurut Mathis, Robert L. dan John H. Jackson (2010, p.293), karir adalah serangkaian posisi yang berhubungan dengan pekerjaan seseorang yang ditempati sepanjang hidupnya. Orang-orang mengejar karir untuk memenuhi kebutuhan individual. Karir merupakan bagian yang penting dari manajemen talenta, tetapi individu dan organisasi melihat karir dengan cara yang berbeda-beda. Dari berbagai pendapat di atas, dapat disimpulkan bahwa karir adalah keseluruhan jabatan atau posisi yang mungkin diduduki seseorang dalam organisasi dalam kehidupan kerjanya. Tujuan atau sasaran karir adalah posisi atau jabatan tertentu yang dapat dicapai oleh seseorang sebagai bagian dari karirnya bila yang bersangkutan memenuhi semua syarat dan kualifikasi yang dibutuhkan untuk melaksanakan jabatan tersebut. Jalur karir (career path) adalah gambaran tujuan urutan-urutan pengalaman kerja oleh seorang individu di dalam sebuah organisasi. Jenjang karir merupakan model posisi pekerjaan berurutan yang membentuk karir seseorang.
2.6.3 Perencanaan Karir Perencanaan karir adalah proses menyeleksi tujuan karir dan jenjang karir menuju tujuan karir. Perencanaan karir fokus pada identifikasi jalur kerja yang menyediakan perkembangan orang antara pekerjaan-pekerjaan dalam suatu organisasi. Dengan perencanaan karir para karyawan dapat menetapkan tujuan karirnya, dimana hal ini akan mendorongnya untuk meraih jenjang pendidikan lebih lanjut serta pelatihan dan kegiatan pengembangan lainnya sehingga akan menambah jumlah kualifikasi pelamar internal, tidak perlu merekrut pelamar dari luar. Perencanaan karir sebagai upaya untuk pengembangan karir haruslah mempertimbangkan keinginan karyawan. Menurut Veitzhal Rivai (2009, p.268-269), suatu penelitian menyimpulkan bahwa ada lima hal yang menjadi keinginan karyawan, yaitu: 1. Persamaan karir (career equity), karyawan menginginkan adanya kesamaan di dalam sistem promosi dan kesempatan memajukan karir. 2. Masalah pengawasan (supervisory concern), karyawan menginginkan di dalam pengembangan karirnya ada peran aktif para pengawas serta dapat memberikan umpan balik bagi prestasi kerjanya.
26
3. Kesadaran akan adanya kesempatan (awareness of opportunity), karyawan menginginkan adanya kesempatan untuk berkarir. 4. Minat karyawan (employment interest), karyawan mempunyai keinginan tingkat minat yang berbeda-beda dalam memajukan karirnya. 5. Kepuasan karir (career satisfaction), tingkat kepuasan karir karyawan berbeda-beda tergantung pada usia dan kedudukan karyawan tersebut. Tujuan dan manfaat perencanaan karir pada dasarnya adalah sebagai berikut: 1. Meluruskan strategi dan syarat-syarat karyawan intern (aligns strategy and internal staffing) Dengan membantu karyawan di dalam perencanaan karier, departemen SDM dapat mengantisipasi rencana kerjanya serta mendapatkan bakat yang diperlukan untuk mendukung strategi perusahaan. 2. Mengembangkan karyawan yang dapat dipromosikan (develops promotable employees) Perencanaan karir membantu di dalam penyediaan internal bakat-bakat karyawan yang dapat dipromosikan guna memenuhi lowongan yang disebabkan oleh pension, pengunduran diri, dan pertumbuhan. 3. Memudahkan penempatan ke luar negeri (facilities international placement) Perusahaan menggunakan perencanaan karir untuk membantu mengidentifikasi dan menyiapkan penempatan karyawan ke seluruh penjuru dunia. 4. Membantu di dalam keanekaragaman tenaga kerja (assists with workforce diversity) Perencanaan karir membantu karyawan yang beraneka ragam latar belakangnya di dalam mempelajari harap-harapan perusahaan. 5. Mengurangi pergantian (lower turnover) Meningkatkan perhatian dan kesepakatan karyawan akan loyalitasnya terhadap perusahaan serta mengurangi tingkat pengunduran diri karyawan. 6. Menyaring potensi karyawan (taps employee potential) Perencanaan karir mendorong karyawan untuk lebih selektif di dalam menggunakan kemampuannya sebab mereka mempunyai tujuan karir yang lebih khusus. 7. Meneruskan pertumbuhan pribadi (furthers personel growth)
27
Perencanaan karir mendorong karyawan untuk tumbuh dan berkembang. 8. Mengurangi penimbunan (reduce hoarding) Perencanaan karir menjadikan karyawan sadar akan pentingnya kualifikasikaryawan, mencegah manajer yang mementingkan dirinya sendiri serta menyadarkan bahwa departemen SDM bukan departemen yang menentukan segala-galanya. 9. Memuaskan kebutuhan karyawan (satisfies employee needs) Adanya kesempatan pada karyawan untuk tumbuh dan berkembang serta terpenuhinya kebutuhan individu akan harga dirinya menjadikan para karyawan mudah merasa puas. 10. Membantu perencanaan tindakan secara afirmatif (assists affirmative action plans) Perencanaan karir membantu menyiapkan pekerjaan yang lebih penting serta pelaksanaan rencana kegiatan yang telah ditentukan.
2.6.4 Pengembangan Karir Veitzhal Rivai (2009, p.274) menjelaskan pengembangan karir adalah proses peningkatan kemampuan kerja individu yang dicapai dalam rangka mencapai karir yang diinginkan. Tujuan dari seluruh program pengembangan karir adalah untuk menyesuaikan antara kebutuhan dan tujuan karyawan dengan kesempatan karir yang tersedia perusahaan saat ini dan di masa mendatang. Dalam buku Marwansyah (2010, p.221), metode perencanaan dan pengembangan karir yang biasanya digunakan dalam berbagai kombinasi, yaitu: 1. Diskusi dengan individu berpengetahuan luas, dalam diskusi informal, atasan dan bawahan dapat menyepakati jenis kegiatan-kegiatan perencanaan dan pengembangan terbaik. 2. Bahan-bahan yang disediakan perusahaan, sejumlah perusahaan menyediakan bahanbahan tertulis (company materials) yang khusus dibuat untuk membantu karyawan dalam perencanaan dan pengembangan karir. 3. Sistem
penilaian
kinerja,
sarana
yang
berharga
dalam
perencanaan
dan
pengembangan karir. 4. Lokakarya, ada organisasi yang menyelenggarakan lokakarya yang berlangsung dua atau tiga hari dengan tujuan untuk membantu para karyawan mengembangkan karir dalam organisasi.
28
5. Rencana Pengembangan Pribadi/RPP, karyawan menulis rencana pengembangan pribadi mereka sendiri. 6. Cuti “sabbatical”, cuti panjang dari organisasi biasanya disertai dengan pengurangan gaji. Secara umum, proses pengembangan karir dimulai dengan mengevaluasi kinerja karyawan. Proses ini lazim disebut sebagai penilaian kinerja (performance appraisal).
2.6.5 Pengertian Penilaian Kinerja Kinerja merupakan suatu fungsi dari motivasi dan kemampuan. Kinerja merupakan perilaku nyata yang ditampilkan setiap orang sebagai prestasi kerja yang dihasilkan oleh karyawan sesuai dengan perannya dalam perusahaan. Kinerja karyawan merupakan suatu hal yang sangat penting dalam upaya perusahaan untuk mencapai tujuannya. Menurut Gary Dessler (2013, p.284), penilaian kinerja adalah mengevaluasi kinerja seorang karyawan saat ini dan/atau masa lalu terhadap standart kinerjanya. Menurut Mathis, Robert L. dan John H. Jackson (2010, p.329), penilaian kinerja digunakan untuk menilai kinerja karyawan dan menyediakan platform untuk umpan balik tentang masa lalu, saat ini, dan ekspektasi kinrja di masa mendatang. Penilaian kinerja disebut juga peringkat karyawan, evaluasi karyawan, review kinerja, evaluasi kinerja, atau hasil penilaian.
2.6.6 Tujuan Penilaian Kinerja Dalam buku Veitzhal Rivai (2009, p.551-552), suatu perusahaan melakukan penilaian kinerja didasarkan pada dua alasan pokok, yaitu: 1. Manajer memerlukan evaluasi yang objektif terhadap kinerja karaywan pada masa lalu yang digunakan untuk membuat keputusan dibidang SDM di masa yang akan datang, 2. Manajer memerlukan alat yang memungkinkan untuk membantu karyawannya memperbaiki kinerja, merencanakan pekerjaan, mengembangkan kemampuan dan keterampilan untuk perkembangan karir dan memperkuat kualitas hubungan antar manajer yang bersangkutan dengan karyawannya. Tujuan penilaian kinerja atas prestasi kinerja karyawan pada dasarnya meliputi: 1. Untuk mengetahui tingkat prestasi keryawan selama ini.
29
2. Pemberian imbalan yang serasi, misalnya untuk pemberian kenaikan gaji berkala, gaji pokok, kenaikan gaji istimewa, insentif uang. 3. Mendorong pertanggungjawaban dari karyawan. 4. Untuk pembeda antar karyawan yang satu dengan yang lain. 5. Pengembangan SDM (penugasan kembali, promosi, training). 6. Meningkatkan motivasi kerja. 7. Meningkatkan etos kerja. 8. Memperkuat hubungan antara karyawan dengan supervisor melalui diskusi tentang kemajuan kerja. 9. Sebagai salah satu sumber informasi untuk perencanaan SDM, karir, dan keputusan perencanaan suksesi. 10. Membantu menempatkan karyawan dengan pekerjaan yang sesuai untuk mencapai hasil yang baik secara keseluruhan.
2.6.7 Jenis-Jenis Penilaian Kinerja Dalam buku Veitzhal Rivai (2009, p.562), jenis-jenis penilaian kinerja adalah sebagai berikut:
1. Penilaian hanya oleh atasan. -
Cepat dan langsung.
-
Dapat mengarah ke distorsi karena pertimbangan-pertimbangan.
2. Penilaian oleh kelompok lini: atasan dan atasannya lagi bersama-sama membahas kinerja dari bawahannya yang dinilai. -
Objektivitasnya lebih akurat dibandingkan kalau hanya oleh atasan sendiri.
-
Individu yang dinilai tinggi dapat mendominasi penilaian.
3. Penilaian oleh kelompok staf: atasan meminta satu atau lebih individu untuk bermusyawarah dengannya, atasan langsung yang mebuat keputusan. -
Penilaian gabungan yang masuk akal dan wajar.
4. Penilaian melalui keputusan komite: manajer yang bertanggung jawab tidak lagi mengambil keputusan akhir, hasilnya didasarkan pada pilihan mayoritas. -
Memperluas pertimbangan yang ekstrim.
30
-
Memperlemah intergritas manajer yang bertanggung jawab.
5. Penilaian berdasarkan peninjauan lapangan: sama seperti pada kelompok staf, namun melibatkan wakil dari pimpinan pengembangan atau departemen SDM yang bertindak sebagai peninjauan yang independen. -
Membawa satu pikiran yang tetap ke dalam satu penilaian lintas sector yang besar.
6. Penilaian oleh bawahan dan sejawat. -
Mungkin terlalu subjektif.
-
Mungkin digunakan sebagai tambahan pada metode penilaian yang lain.
2.6.8 Metode Penilaian Kinerja Dalam buku Veitzhal Rivai (2009, p.563), metode penilaian kinerja yang biasa digunakan dalam perusahaan, mulai dari yang sangat sederhana hingga yang rumit, yaitu: 1. Metode Skala Peringkat (Rating Scale) Metode evaluasi yang paling sering digunakan dalam penilaian prestasi, dimana para penilai diharuskan melakukan suatu penilaian yang berhubungan dengan hasil kerja karyawan dalam skala-skala tertentu, mulai dari yang paling rendah sampai yang paling tinggi. Keuntungan: biayanya yang murah dalam penggunaan dan pengembangannya, penilai membutuhkan sedikit pelatihan atau waktu untuk menyempurnakan formulir yang ada, dan metode ini bisa digunakan untuk banyak karyawan. Kelemahan: penyimpangan, dalam hal ini prasangka penilai biasanya akan tampak pada subjektivitasnya dalam metode ini. Kriteria yang spesifik mungkin dihilangkan untuk membuat formulir dapat digunakan untuk berbagai jenis pekerjaan. 2. Metode Daftar Pertanyaan (Checklist) Penilaian berdasarkan metode ini terdiri dari sejumlah pertanyaan yang menjelaskan beraneka ragam macam tingkat perilaku bagi suatu pekerjaan tertentu. Penilai tinggal memilih kata atau pernyataan yang menggambarkan karakteristik dan hasil kerja karyawan. 3. Metode Pilihan Terarah (Forced Choice Method) Metode ini dirancang untuk meningkatkan objektivitas dan mengurangi subjektivitas dalam penilaian. Salah satu sasaran dasar pendekatan pilihan ini adalah untuk
31
mengurangi dan menyingkirkan kemungkinan berat sebelah penilaian dengan memaksakan suatu pilihan antara pernyataan-pernyataan deskriptif yang kelihatannya mempunyai nilai yang sama. 4. Metode Peristiwa Kritis (Critical Incident Method) Metode ini merupakan pemilihan yang mendasarkan pada catatan kritis penilai atas perilaku karyawannya, seperti sangat baik atau sangat jelek di dalam melaksanakan pekerjaan. Metode ini bermanfaat untuk memberi karyawan umpan balik yang terkait langsung dengan pekerjaannya. 5. Metode catatan Prestasi Metode ini berkaitan erat dengan metode peristiwa kritis, yaitu catatan penyempurnaan yang banyak digunakan terutama oleh para professional. Misalnya penampilan, kemampuan berbicara, peran kepemimpinan, dan aktivitas lain yang berhubungan dengan pekerjaan. Informasi ini secara khusus digunakan untuk menghasilkan detail laporan tahunan tentang kontribusi seorang professional selama satu tahun. 6. Metode Skala Peringkat Perilaku (Behaviorally Anchored Rating Scale - BARS) Metode ini merupakan suatu cara penilaian prestasi kerja karyawan untuk satu kurun waktu tertentu di masa lalu dengan mengaitkan skala peringkat prestasi kerja dengan perilaku tertentu. Salah satu kelebihan metode ini ialah pengurangan subjektivitas dalam penilaian. 7. Metode Peninjauan Lapangan (Field Review Method) Di sini penyelia turun ke lapangan bersama-sama dengan ahli dari SDM. Spesialis SDM mendapat informasi dari atasan langsung perihal prestasi karyawannya, lalu mengevaluasi berdasarkan informasi tersebut. Hasil penilaian dikirim ke penyelia dan dibawa ke lapangan untuk keperluan review, perubahan, persetujuan, dan pembahasan dengan pihak karyawan yang dinilai. 8. Metode Tes dan Observasi Kinerja (Performance Test and Observation) Karyawan yang dinilai, diuji kemampuannya, baik melalui ujian tertulis yang menyangkut berbagai hal seperti tingkat pengetahuan tentang prosedur dan mekanisme kerja yang telah ditetapkan dan harus ditaati atau melalui ujian praktik yang langsung diamati oleh penilai.
32
9. Metode Pendekatan Evaluasi Perbandingan (Comparative Evaluation Approach) Metode ini mengutamakan perbandingan prestasi kerja seseorang dengan karyawan lain yang menyelenggarakan kegiatan sejenis. Perbandingan ini dipandang bermanfaat bagi manajemen SDM dengan lebih rasional dan efektif. Tiga metode yang sering digunakan dalam penerapan pendekatan komparatif adalah metode peringkat, metode distribusi terkendali, dan metode alokasi angka. 10. Metode Essay Dengan menggunakan metode ini, penilai atau atasan menulis cerita ringkas yang menggambarkan
prestasi
kerja
karyawan
tersebut.
Metode
ini
cenderung
menggambarkan prestasi kerja karyawan yang luar biasa ketimbang kinerjanya setiaphari. Penilaian ini sangat mengandalkan kemampuan penilai menulis setelah kinerjanya ditinjau ulang, evaluasi yang positif bias menjadi negatif apabila penilai tidak dapat menuliskannya dengan baik. 11. Metode Distribusi yang Dipaksakan (Forced Distribution) Dalam metode ini diasumsikan bahwa karyawannya dapat dikelompokkan, misalnya ke dalam lima kategori, seperti kategori paling baik (10%), baik (20%), cukup (40%), buruk (20%), dan sisanya (10%). Kelemahan metode ini adalah apabila hampir semua karyawan dalam bagiannya mempunyai kinerja yang sangat memuaskan maka akan sangat sulit untuk membaginya ke dalam lima kategori tersebut, begitu pula jika yang terjadi sebaliknya. 12. Metode Pemilihan yang Dipaksakan dan Laporan Pemeriksaan Kinerja Tertimbang (Forced-Choice and Weighted Checklist Performance Report) Laporan ini memerlukan penilai untuk memilih karyawan mana yang dapat mewakili kelompoknya. Faktor yang dinilai adalah perilaku karyawan dan penilai memberikan nilai positif atau nilai negatif, namun penilai tidak peduli dengan bobot penilaiannya. 13. Metode Pendekatan Management By Objective (MBO) Dalam pendekatan ini, setiap karyawan dan penyedia secara bersama-sama menentukan sasaran organisasi, tujuan individu, dan saran-saran untuk meningkatkan produktivitas organisasi.