BAB II LANDASAN TEORI 2.1 Pengertian Sistem Suatu sistem dapat terdiri dari beberapa subsistem atau sistem bagian. Komponen atau subsistem dalam suatu sistem tidak dapat berdiri lepas sendiri sendiri. Komponen atau subsistem saling berinteraksi dan saling berhubungan membentuk satu kesatuan sehingga tujuan atau sasaran dapat tercapai. Menurut Jogianto (2005:1) “ Sistem adalah kumpulan dari elemen – elemen yang berinteraksi untuk mencapai suatu tujuan tertentu.” Dan menurut komponen yang Djon Irwanto (2007:2) “ Sistem adalah sekumpulan mengimplementasikan model dan fungsionalitas yang dibutuhkan, komponen tersebut saling berinteraksi di dalam sistem guna mentrans-formasikan input yang diberikan kepada sistem tersebut menjadi output yang berguna dan bernilai bagi actor-nya.” Dengan demikian, secara sederhana sistem dapat diartikan sebagai suatu kumpulan dari variabel yang saling terorganisasi, saling berinteraksi, dan saling bergantung sama lain. Gambar 2.1 Model Sistem ( Jogiyanto (2005:1)) Gambar di atas menunjukan bahwa sistem harus mempunyai beberapa komponen, yakni masukan, pengolahan, keluaran, dan balikan atau kontrol. 6 7 2.2 Karakteristik Sistem Untuk memahami atau mengembangkan suatu sistem, maka perlu membedakan unsur dari sistem yang membentuknya. Berikut adalah karakteristik sistem yang dapat membedakan suatu sistem dengan sistem lainya: 1. Batas sistem Batas sistem (boundary) merupakan daerah yang membatasi antara suatu sistem dengan sistem lainnya atau dengan lingkungan luarnya. 2. Lingkungan Luar Sistem Lingkungan luar (environment) dari suatu sistem adalah apapun di luar batas dari sistem yang mempengaruhi operasi sistem.Lingkungan luar sistem dapat bersifat menguntungkan dan dapat juga merugikan sistem tersebut. 3. Penghubung Sistem Penghubung (interface) merupakan media penghubung antara satu subsistem dengan subsistem lainnya. 4. Masukan Sistem Masukan (input) adalah energi yang dimasukkan kedalam sistem. Masukan dapat berupa masukan perawatan (maintenance input) dan masukan sinyal. 5. Keluaran Sistem Keluaran (output) adalah hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan. 6. Pengolah Sistem Suatu sistem dapat mempunyai suatu bagian pengolah yang akan merubah masukan menjadi keluaran. 7. Sasaran Sistem Suatu sistem pasti menjadi suatu tujuan (goal) atau sasaran (objective).Kalau suatu sistem tidak mempunyai suatu sasaran. 8 Gambar 2.2 Karakteristik suatu sistem ( Jogiyanto, 2005:6) 2.3 Pengertian Informasi Menurut Jogiyanto (2005:8) “ Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi penggunanya. Informasi dapat juga diartikan sebagai data yang telah diolah menjadi bentuk yang mempunyai arti dan menfaat bagi manusia.” Data adalah aliran fakta mentah yang menunjukan peristiwa yang telah terjadi dalam organisasi dan lingkungan fisik sebelum diorganisir dan ditata menjadi suatu bentuk yang bisa dipahami dan digunakan. Kualitas Informasi Kualitas informasi (quality of information) tergantung dari 3 hal yaitu informasi harus akurat, tepat pada waktunya dan relevan. Dari 3 pilar tersebut yaitu : 1. Relevan Informasi harus mempunyai manfaat untuk pemakainnya. Relefansi informasi untuk tiap-tiap orang satu dengan lainnya berbeda. 2. Akurat Informasi harus bebas dari kesalahan - kesalahan dan menyesatkan, akurat juga berarti informasi harus jelas mencerminkan maksudnya. 9 3. Tepat Waktu Informasi yang datang pada penerima tidak boleh terlambat, karena informasi merupakan landasan dalam pengambilan keputusan. 2.4 Pengertian Sistem Informasi Sistem informasi adalah suatu sistem didalam suatu organisasi yang mempertemukan kebutuhan pengolahan informasi harian, mendukung operasi bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan diperlukan. Menurut jogiyanto (2005:11) “ Sistem informasi adalah suatu sistem di dalam orgnisasi yang mempertemukan kebutuhan pengelolahan transaksi harian, mendukung operasi, bersifat manajerial dan kegiatan strategis di dalam suatu organisasi dan menyedikan pihak luar tertentu dengan laporan - laporan yang diperlukan.” 1. Komponen Sistem Informasi Komponen sistem informasi terdiri dari enam blok tersebut masing-masing saling berinteraksi satu dengan yang lainya membentuk satu kesatuan untuk mencapai sasarannya. a. Blok Masukan Input mewakili data yang masuk ke dalam sistem informasi. b. Blok Model Model ini terdiri dari kombinasi prosedur, logika, dan matematika yang akan memanipulasi data input dan data yang tersimpan di dalam basis data dengan cara yang sudah tertentu untuk menghasilkan keluaran yang diinginkan c. Blok Keluaran Produk dari sistem informasi adalah keluaran yang merupakan informasi yang berkualitas dan berguna. d. Blok Teknologi Teknologi merupakan alat dari sistem informasi, digunakan untuk menerima input, menjalankan model, menyimpan dan mengakses data, 10 menghasilkan dan mengirim keluaran dan membantu pengendalian sistem secara keseluruhan. e. Blok Basis Data Basis data (database) merupakan kumpulan dari data yang saling berhubungan satu dengan yang lainnya, tersimpan di perangkat keras komputer dan digunakan perangkat lunak untuk memenipulasinya. f. Blok Kendali Pengendalian perlu dirancang dan diterapkan untuk meyakinkan bahwa hal-hal yang dapat merusak sistem dapat dicegah ataupun bila terlanjur terjadi kesalahan-kesalahan dapat langsung cepat diatasi. 2.5 Analisa sistem Analisa sistem merupakan penguraian dari suatu sistem informasi yang utuh kedalam bagian-bagian komponennya dengan maksud untuk Mengidentifikasikan dan mengevaluasi permasalahan-permasalahan, kesempatankesempatan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikannya. Analisis sistem dilakukan untuk mengetahui masalah apa yang sedang dihadapi oleh suatu perusahaan yang berguna untuk membandingkan dan membuat alternatif-alternatif yang diberikan pada sistem baru. Menurut Jogiyanto (2001:129), analisis sistem adalah : “Penguraian dari suatu sistem informasi yang utuh kedalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi permasalahan-permasalahan, kesempatan-kesempatan, hambatan-hambatan yang terjadi dan kebutuhan yang diharapkan sehingga dapat diusulkan perbaikanperbaikannya”. Dari definisi diatas, maka analisa sistem adalah suatu perencanaan sekaligus pembuatan sketsa dari elemen yang terpisah namun saling berintegrasi ke dalam suatu kesatuan yang utuh dan berfungsi. 11 2.6 Metode Waterfall Dalam bukunya Rekayasa Perangkat Lunak, Jogiyanto (2005:41) “ Metode waterfall merupakan suatu bentuk pengembangan sistem yang di gunakan untuk menggambarkan tahapan utama dan langkah – langkah di tahapan tersebut dalam proses pengembangannya.” Metode waterfall juga disebut dengan classic life cycle. Metode ini membutuhkan pendekatan dalam pengembangan perangkat lunak, dimulai dari tingkat sistem dan kemajuan melalui Sistem Engineering, Analisis kebutuhan software, desain (design), pemrograman (coding), uji coba (testing), dan pemeliharaan (maintenance). Fase model Waterfall 1. Sistem Engineering 2. Analisis kebutuhan software 3. Design 4. Coding 5. Testing 6. maintenance Gambar 2.3 Metode Waterfall (http://www.cs.ui.ac.id/ 7 September 2005) 12 1. Sistem Engineering Karena software merupakan bagian terbesar dari sistem, maka pekerjaan dimulai dengan cara menerapkan kebutuhan semua elemen sistem dan mengalokasikan sebagian kebutuhan tersebut ke software. Pandangan terhadap sistem adalah penting, terutama pada saat software harus berhubungan dengan elemen lain, seperti Hardware, Software, dan Database. 2. Analisis kebutuhan software Suatu proses pengumpulan kebutuhan software untuk mengerti sifat-sifat program yang dibentuk software engineering, atau analis harus mengerti fungsi software yang diinginkan, performance dan interface terhadap elemen lainnya. Hasil dari analisis ini didokumentasikan dan di review atau dibahas atau ditinjau bersama-sama customer. 3. Design Proses desain menterjemahkan kebutuhan ke dalam representasi software yang dapat diukur kualitasnya sebelum mulai coding.Hasil dari desain ini didokumentasikan dan menjadi bagian dari konfigurasi software. 4. Coding Bentuk rancangan diubah menjadi suatu bahasa pemrograman yang dapat dimengerti oleh mesin komputer. 5. Testing Segera sesudah objek program dihasilkan, pengetesan program dimulai. Proses testing difokuskan pada logika internal software. Jaminan bahwa semua pernyataan atau statements sudah dites dan lingkungan external menjamin bahwa definisi input akan menghasilkan output yang diinginkan. 6. Maintenance Software yang sudah dikirim ke customer data berubah karena a. Software mengalami error b. Software harus diadaptasi untuk menyesuaikan dengan lingkungan external, misalnya adanya sistem operasi baru atau peripheral baru. 13 2.7 UML (Unified Modelling Language) Menurut Martin Fowler (2004:1)“ Unified Modeling Language (UML) adalah keluarga notasi grafis yang di dukung oleh meta – model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang di bangun menggunakan pemrograman berorientasi objek.” Menurut Whitten, Bentley dan Dittman (2004:407) “ Unified Modeling Language adalah satu kumpulan konversi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek”. Berdasarkan beberapa pendapat yang dikemukakan diatas dapat ditarik kesimpulan bahwa “Unified Modeling Language (UML) adalah sebuah bahasa yang berdasarkan grafik atau gambar untuk menvisualisasikan, menspesifikasikan, membangun dan mendokumentasikan dari sebuah sistem pengembangan perangkat lunak berbasis OO (Object Oriented)”. Gambar 2.4 Model 4 + 1 View (http://lecturer.ukdw.ac.id / 6 September 2006 ) Kelima view tersebut tidak berhubungan dengan diagram yang dideskripsikan di UML. Setiap view berhubungan dengan perspektif tertentu dimana sistem akan di uji. View yang berbeda akan menekankan pada aspek yang berbeda dari sistem yang mewakili ketertarikan sekelompok stakeholder tertentu. 2.8 Use Case Diagram Use case adalah deskripsi fungsi dari sebuah sistem dari perspektif pengguna. Use case bekerja dengan cara mendeskripsikan tipikal interaksi antara 14 user (pengguna) sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai. Urutan langkah yang menerangkan antara pengguna dan sistem disebut scenario. Setiap scenario mendeskripsikan urutan kejadian. Setiap kejadian di inisialisasi oleh orang, sistem yang lain, perangkat keras atau urutan waktu. Dengan demikian secara singkat bisa dikatakan use case adalah serangkaian scenario yang digabungkan bersama - sama oleh tujuan umum pengguna. Dalam pembicaraan tentang use case, pengguna biasanya disebut actor. Actor adalah sebuah peran yang bisa dimainkan oleh pengguna dalam interaksinya dengan sistem. Notasi Use case, diagram use case menunjukan 3 aspek dari sistem yaitu : actor, use case dan sistem / subsistem boundary. Actor mewakili peran orang, sistem yang lain atau alat ketika berkomunikasi dengan use case. Gambar 2.5 mengilustrasikan actor, use case dan boundary. Tabel 2.1 Simbol Use Case Diagram Simbol Nama Simbol Aktor Keterangan Seseorang atau sesuatu yang berinteraksi dengan sistem. Use Case Menggambarkan bagaimana seseorang akan menggunakan sistem. Aliran Event Untuk mendokumentasikan aliran-aliran logika dalam setiap Use Case. Include dan Include memungkinkan Use Case untuk Extends menggunakan fungsional yang di sediakan oleh Use Case lainnya. Extends memungkinkan suatu Use Case memiliki kemungkinan memperluas fungsionalitas yang di sediakan oleh Use Case lainnya. 15 Generalisasi Digunakan untuk memperlihatkan bahwa beberapa aktor atau usecase memiliki sesuatu yang bersifat umum. Gambar 2.5 Use Case Model (http://lecturer.ukdw.ac.id / 6 September 2006) 2.9 Sequence Diagram Sequance diagram digunakan untuk menggambarkan perilaku scenario. Diagram ini menunjukan sejumlah contoh objek dengan message (pesan) yang diletakkan diantara objek - objek ini didalam use case. Komponen utama sequence diagram terdiri atas objek yang dituliskan dengan kotak segi empat bernama. Massage diwakili oleh garis dengan tanda panah dan waktu yang ditunjukkan dengan progress vertical. Gambar 2.6 menunjukan esensi simbol dari sequence diagram dan simbol kerjanya secara bersama-sama. 16 Gambar 2.6 Sequence Diagram (http://lecturer.ukdw.ac.id / 6 September 2006) Tabel 2.2 Sequence diagram Simbol Nama Simbol Object LifeLine Keterangan Partisipan Form merupakan sebuah focus dari control Activation Message Message (Call) Message pada suatu waktu. Pesan yang mengambarkan komunikasi yang terjadi antar objek. Pesan yang mengambarkan Pemanggilan yang terjadi antar objek. Pesan yang dikirim untuk diri sendiri. (return) Message Pesan yang dikirim untuk diri sendiri. (return) Menambahkan pemulaan dan Lifetime menghentikan titik dari suatu object 17 2.10 Activity Diagram Activity diagram adalah teknik untuk menggambarkan logika prosedurial, proses bisnis dan aliran kerja dalam berbagai kasus. Dalam berbagai hal diagram ini memainkan peran seperti diagram alir atau seperti halnya flowchart, akan tetapi perbedaanya dengan flowchart adalah activity diagram bisa mendukung prilaku parallel sedangkan flowchart tidak bisa. Simbol berikut adalah simbol yang sering digunakan pada saat pembuatan activity diagram. Tabel 2.3 Simbol Activity Diagram. Simbol Keterangan Titik awal Titik akhir Activity pilihan untuk pengambilan keputusan fork : digunakan untuk menunjukan kegiatan yang dilakukan secara parallel atau untuk meggabungkan dua kegiatan parallel menjadi satu tanda pengiriman tanda penerimaan 18 2.11 Class Diagram Class Diagram adalah jenis-jenis objek dalam sistem dan berbagai macam hubungan statis yang terdapat di antara mereka. Class diagram tidak hanya digunakan secara luas tetapi juga memiliki banyak konsep permodelan, meskipun elemen-elemen dasar dibutuhkan oleh setiap orang. Tabel 2.4 Simbol Class Diagram Simbol Nama Simbol Keterangan mengambarkan sesuatu yang meng-kapsulkan Class informasi di class menampung nama class, atribut dan method Digunakan untuk mengelompokan kelas-kelas Package 1, 1…*, 0…1 Asosiasi Boundary class yang mempunyai persamaan. Asosiasi yang menghubungkan class dengan class Multiplycity. Boundary class, mengambarkan class yang menjadi antar muka actors dengan system. Control Class, mengabarkan class yang menjadi Control Class control atau perantara antar class dengan database. Aggregation mengambarkan suatu class terdiri Aggregation dari class lain atau suatu class adalah bagian dari class lain. Generalization merupakan sebuah taxonomic relationship antara class yang lebih umum dengan class yang lebih khusus. 2.12 Perancangan Berorientasi Objek Perancangan berorientasi objek merupakan tahap lanjutan setelah analisa sistem yang merupakan proses spesifikasi yang terperinci atau pendefinisian dari 19 kebutuhan - kebutuhan fungsional dan persiapan untuk rancang bangun implementasi yang menggambarkan bagaimana suatu sistem dibentuk. Pemrograman berorientasi objek (object oriented programming) merupakan paradigma pemrograman yang berorientasikan kepada objek.Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas – kelas atau objek.Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Untuk mengembangkan suatu sistem baru dilakukan dengan menguraikan hubungan proses - proses dalam bentuk diagram. Fokus dari desain objek adalah perancangan struktur data dan algoritma yang diperlukan untuk implementasi setiap kelas. Perancangan berorientasi objek bertujuan untuk : a. Sistematika proses desain b. Menghasilkan pendesainan model diagram. Konsep dasar dari Pemrograman Berorientasi Objek Pemrograman orientasi-objek menekankan konsep berikut: 1. kelas kumpulan atas definisi data dan fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebuah class adalah dasar dari modularitas dan struktur OOP. 2. 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. 3. Abstraksi Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. 20 4. 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 administrasi. 5. 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 di mana pesan tersebut dikirim. 2.13 Model Basis data Berorientasi Objek (OODBMS) Model Basis data berorientasi oobjek (OODBMS) menggunakan konsep- konsep pendekatan berorientasi objek yang tidak hanya menyimpan data tapi juga operasi operasi terhadap data yang membentuk objek apa yang dapat dilakukan pada data yang dikandungnya. Pengembangan Basis data berorientasi objek dipengaruhi peningkatan popularitas bahasa berorientasi objek dan realisasi untuk mengatasi keterbatasan basis data relasional. ODBMS ( Bambang, 2004) adalah perluasan bahasa pemograman menjadi bahasa versi persitens. Bahasa versi persistens ini memungkinkan pemrogram memanipulasi data secara langsung dari bahasa pemograman tanpa perlu melalui bahasa memanipulasi data seperti SQL. Dengan cara ini maka terdapat integrasi lebih erat pada bahasa pemrograman dengan basis data dibanding melalui embedded SQL. Perluasan ini berkehendak dapat memberi transparasi antara konsep-konsep kelas dan objek dibahasa pemograman tanpa mempedulikan keberadaan di memori atau di disket. Manifesto OODBMS adalah : • Mendukung objek objek kompleks • Mendukung identitas objek • Memungkinkan objek dikapsulkan • Mendukung tipe atau kelas 21 • Mendukung pewarisan • Menghindari tehnik binding yang dini • Dapat mengingat lokasi data Kelemahan OODBMS : • Kemungkinan korupsi basis data • Kekurangan dan perluasan logik • OODB lebih sulit dimengerti. Dibutuhkan orang yang benar – benar menguasai OODB. Keunggulan OODBMS: • Fitur fitur lanjut • Sistem tipe yang seragam • Dapat menyimpan kelas dengan jumlah banyak • Dapat mengatasi data yang interrelated dan kompleks • Adanya kelas yang hirarki • Tidak memerlukan query language • Tidak ada ganguan mismach • Tidak ada primary key • Adanya inheritance • Menghasilkan sistem yang dibangun diatas bentuk-bentuk antara yang stabil dan dengan demikiaan lebih mampu untuk mengikuti perubahan 2.14 Visual Basic.Net 2008 Visual Basic.Net 2008 adalah salah satu bahasa pemrograman komputer. Bahasa pemrograman adalah perintah- perintah yang dimengerti oleh komputer untuk melakukan tugas –tugas tertentu 48). Visual Basic.Net 2008 merupakan salah satu Development Tool yaitu alat bantu untuk membuat berbagai macam program komputer, khususnya yang 22 menggunakan sistem operasi Windows. Visual Basic.Net 2008 merupakan salah satu bahasa pemrograman komputer yang mendukung pemrograman berorientasi objek (Object Orinted Programming, OOP)8). Visual Basic.Net 2008 merupakan rilis keempat dari perbaikan besarbesaran bahasa VB. Secara internal dikenal sebagai VB versi 9.0 dan dengan pembaruan parallel di Framework.Net versi 3.5. 9) Gambar 2.7 Tampilan Interface VB.NET 2.15 Microsoft SQL Server Microsoft SQL Server merupakan sebuah sistem manajemen basis data relasional (RDBMS) produk Microsoft. Bahasa kueri utamanya adalah TransactSQL yang merupakan implementasi dari SQL standar ANSI/ISO yang digunakan oleh Microsoft dan Sybase. Umumnya SQL Server digunakan di dunia bisnis yang memiliki basis data berskala kecil sampai dengan menengah, tetapi kemudian berkembang dengan digunakannya SQL Server pada basis data besar. Dan pengertian SQL Server secara umum adalah sistem manajemen database relasional (DBMS) yang dirancang untuk aplikasi dengan arsitektur client/server. Istilah client, server, dan client/server dapat digunakan untuk menuju kepada konsep yang sangat umum atau hal yang spesifik dari perangkat keras atau perangkat lunak. Pada level yang sangat umum, sebuah client adalah setiap komponen dari 23 sebuah sistem yang meminta layanan atau sumber daya (resource) dari komponen sistem lainnya. Sedangkan sebuah server adalah setiap komponen sistem yang menyediakan layanan atau sumber daya ke komponen sistem lainnya. Sistem client/server adalah dirancang untuk memisah layanan basisdata dari client, dengan penghubungnya menggunakan jalur komunikasi data. Layanan basisdata diimplementasikan pada sebuah komputer yang berdaya guna, yang memungkinkan management tersentralisasi, keamanan, dan berbagai sumber daya. Oleh karena itu, server dalam client/server adalah basisdata dan layanannya. Aplikasi-aplikasi client diimplementasikan pada berbagai flatform, menggunakan berbagai kakas pemrograman. Gambar 2.8 Tampilan Program Microsoft SQL Server 2.16 Metode Pengujian White Box Menurut Roger S. Pressman. (2002:533) “White Box atau juga di sebut pengujian glass box adalah metode desain test case yang menggunakan struktur control procedural untuk memperoleh test cast. Dengan menggunakan metode white box, akan dapat diperoleh : 24 1. Menjamin seluruh independent path di dalam modul yang dikerjakan sekurang-kurangnya sekali. 2. Mengerjakan seluruh keputusan secara logical. 3. Mengerjakan seluruh loop yang sesuai dengan batasannya. 4. Mengerjakan seluruh struktur data internal yang menjamin validitas. 2.17 Metode Pengujian Black Box Roger S. Pressman. (2002:551), metode black Box testing yaitu pengujian untuk menemukan kesalahan dalam lingkup kategori sebagai berikut: 1. Fungsi-fungsi yang salah atau hilang 2. Kesalahan interface 3. Kesalahan dalam struktur data atau akses database eksternal 4. Kesalahan kinerja 5. kesalahan inisialisasi dan terminasi Pengujian program aplikasi aplikasi ini dilakukan dengan Metode Black Box Testing. Metode Black Box Testing ini merupakan pengujian berdasarkan fungsi dari program. Tujuan dari metode Black Box Testing ini adalah untuk menemukan kesalahan fungsi pada program. 2.18 Definisi Outsourcing Dalam pengertian umum, istilah outsourcing adalah contract (work) out seperti yang tercantum dalam Concise Oxford Dictionary, sementara mengenai kontrak itu sendiri diartikan sebagai berikut:“ Contract to enter into or make a contract. From the latin contractus, the past participle of contrahere, to draw together, bring about or enter into an agreement.” (Webster’s English Dictionary), Pengertian outsourcing secara khusus didefinisikan oleh Maurice F Greaver II, pada bukunya Strategic Outsourcing, A Structured Approach to Outsourcing: Decisions and Initiatives, dijabarkan sebagai berikut :“Strategic use of outside parties to perform activities, traditionally handled by internal staff and respurces.” 25 Menurut definisi Maurice Greaver, Outsourcing dipandang sebagai tindakan mengalihkan beberapa aktivitas perusahaan dan hak pengambilan keputusannya kepada pihak lain (outside provider), dimana tindakan ini terikat dalam suatu kontrak kerjasamaBeberapa pakar serta praktisi outsourcing dari Indonesia juga memberikan definisi mengenai outsourcing, antara lain menyebutkan bahwa outsourcing dalam bahasa Indonesia disebut sebagai alih daya, adalah pendelegasian operasi dan manajemen harian dari suatu proses bisnis kepada pihak luar (perusahaan jasa outsourcing). Secara definitive, Outsourcing diartikan sebagai pemindahan atau pendelegasian beberapa proses bisnis kepada suatu badan penyedia jasa, dimana badan penyedia jasa tersebut melakukan proses administrasi dan manajemen berdasarkan definisi serta kriteria yang telah disepakati oleh para pihak. Istilah Outsourcing ini juga sering disebut juga system kerja kontrak. Definisi lainnya dari outsourcing atau alih daya merupakan proses pemindahan tanggung jawab tenaga kerja dari perusahaan induk ke perusahaan lain diluar perusahaan induk. Perusahaan diluar perusahaan induk bisa berupa vendor, koperasi ataupun instansi lain yang diatur dalam suatu kesepakatan tertentu. Outsourcing dalam regulasi ketenagakerjaan bisa hanya mencakup tenaga kerja pada proses pendukung (non– core business unit) atau secara praktek semua lini kerja bisa dialihkan sebagai unit outsourcing.