7 BAB II
LANDASAN TEORI
Bab ini akan menjelaskan tentang landasan teori yang menjadi dasar dalam pelaksanaan kegiatan tugas akhir.
2.1 Knowledge
Knowledge adalah informasi yang mengubah sesuatu atau seseorang, hal itu terjadi ketika informasi tersebut menjadi dasar untuk bertindak, atau ketika informasi tersebut memampukan seseorang atau institusi untuk mengambil tindakan yang berbeda atau tindakan yang lebih efektif dari tindakan sebelumnya.[1]
Knowledge dapat diartikan sebagai actionable information atau informasi yang dapat ditindaklanjuti atau informasi yang dapat digunakan sebagai dasar untuk bertindak, untuk mengambil keputusan dan untuk menempuh arah atau strategi tertentu.[1]
Dari dua pengertian di atas penulis dapat menyimpulkan bahwa pengertian knowledge adalah informasi yang dapat mengubah sesuatu dan dapat ditindaklanjuti sebagai dasar untuk mengambil keputusan yang lebih efektif dari sebelumnya.
Untuk memahami manajemen pengetahuan dengan baik, penting pula diketahui perbedaan antara data, informasi, dan pengetahuan. Mengingat antara data, informasi, dan pengetahuan merupakan satu kesatuan yang tidak terpisahkan. Pemahaman antara data, informasi, dan pengetahuan lebih mudah diperoleh bila dilihat dari nilai hierarkinya. Data pada dasarnya berupa simbol-simbol, fakta-fakta, angka-angka, grafik, peta atau hasil observasi. Sementara itu informasi adalah data yang telah ditambahkan makna tertentu. Data berubah menjadi informasi ketika data tersebut telah melalui penyaringan atau
penyusunan. Adapun pengetahuan yaitu informasi yang telah dievaluasi, disusun dan dikelola serta telah diberi tujuan. [2]
Proses tranformasi informasi menjadi knowledge menurut Davenport dan Prusak [3] juga melalui empat tahapan yang dimulai dengan huruf C, yaitu :
1. Comparison: membandingkan informasi pada situasi tertentu dengan situasi-situasi yang lain yang telah diketahui.
2. Consequences: menemukan implikasi-implikasi dari informasi yang bermanfaat untuk pengembilan keputusan dan tindakan.
3. Connections: menemukan hubungan-hubungan bagian-bagian kecil dari informasi dengan hal-hal lainnya.
4. Conversations: membicarakan pandangan, pendapat serta tindakan orang lain terkait informasi tersebut.
Polanyi seorang ahli kimia merupakan orang pertama yang memperkenalkan bahwa knowledge terdiri dari dua jenis yaitu tacit knowledge dan explicit knowledge.
a. Tacit Knowledge merupakan knowledge yang diam dalam benak manusia dalam bentuk intuisi, judgment, skill, values, dan belief yang sangat sulit diformalisasikan dan share dengan orang lain.
b. Explicit knowledge adalah knowledge yang dapat atau sudah terkodifikasi dalam bentuk dokumen atau bentuk berwujud lainnya sehingga dapat dengan mudah ditransfer dan didistribusikan dengan menggunakan berbagai media. Explicit knowledge dapat berupa formula, kaset/cd video dan audio, spesifikasi produk atau manual. Kedua jenis knowledge tersebut, oleh Nonaka dan Takeuchi Hirotaka [4] dapat dikonversi melalui empat jenis proses konversi, yaitu : sosialisasi, eksternalisasi, kombinasi, dan internalisasi. Keempat jenis proses konversi ini disebut SECI process (S:Socialization, E:Externalization, C:Combination, dan I:Internalization) yang memiliki pengertian sebagai berikut :
1. Sosialisasi merupakan proses sharing dan penciptaan tacit knowledge melalui interaksi dan pengalaman langsung.
2. Eksternalisasi merupakan pengartikulasian tacit knowledge menjadi explicit knowledge melalui proses dialog dan refleksi.
3. Kombinasi merupakan proses konversi tacit knowledge menjadi explicit knowledge yang baru melalui sistemisasi dan pengaplikasian explicit knowledge dan informasi.
4. Internalisasi merupakan proses pembelajaran dan akuisasi knowledge yang dilakukan oleh anggota organisasi terhadap explicit knowledge yang disebarkan ke seluruh organisasi melalui pengalaman sendiri sehingga menjadi tacit knowledge anggota organisasi. Misalnya dengan seseorang membaca buku dan kemudian mempraktekkan teori-teori yang ada di dalam buku tadi, maka orang tersebut akan mengembangkan pengetahuannya sendiri.
2.2 Knowledge Management
Menurut pendapat Batgerson dalam Nawawi [5], manajemen pengetahuan merupakan suatu pendekatan yang sistematik untuk mengelola aset intelektual dan informasi lain sehingga memberikan keunggulan bersaing bagi perusahaan. Pendapat lain dikemukakan oleh Davidson dan Philip Voss dalam Nawawi [5], Manajemen pengetahuan sebagai sistem yang memungkinkan perusahaan menyerap pengetahuan, pengalaman dan kreativitas para stafnya untuk perbaikan perusahaan.
Dalam memperkaya pemahaman, Tannebaum [6] memberikan definisi dengan berbagai formulasi untuk memberikan pemahaman terhadap manajemen pengetahuan sebagai berikut.
a. Manajemen pengetahuan mencakup pengumpulan, penyusunan, penyimpanan, dan pengaksesan informasi untuk membangun pengetahuan, pemanfaatan dengan tepat teknologi informasi, seperti computer yang dapat mendukung manajemen pengetahuan.
b. Manajemen pengetahuan mencakup berbagai pengetahuan (sharing knowledge). Tanpa berbagi pengetahuan, upaya manajemen pengetahuan akan gagal kultur perusahaan, dinamika dan praktik, seperti sistem
pengkajian dapat berpengaruh berbagai pengetahuan. Kultur dan aspek social dari manajemen pengetahuan merupakan tantangan yang signifikan.
c. Manajemen pengerahuan terkait dengan pengetahuan orang. Pada suatu saat, organisasi membutuhkan orang yang kompeten memahami dan memanfaatkan informasi dengan efektif. Organisasi terkait dengan individu untuk melakukan inovasi dan memberi petunjuk kepada organisasi. Organisasi juga terkait dengan persoalan keahlian yang menyediakan input untuk menerapkan manajemen pengetahuan. Oleh karena itu, organisasi mesti mempertimbangkan bagaimana menarik, mengembangkan, dan mempertahankan pengetahuan anggota sebagai bagian dari domain manajemen pengetahuan.
d. Manajemen pengetahuan terkait dengan peningkatan efektivitas organisasi. Kita berkonsentrasi dengan manajemen pengetahuan karena dipercaya bahwa manajemen pengetahuan dapat memberikan kontribusi kepada vitalitas dan kesuksesan perusahaan. Upaya untuk mengukur modal intelektual dan untuk menilai efektivitas manajemen pengetahuan harus dapat membantu kita memahami secara luas pengelolaan pengetahuan yang telah dilakukan.
2.3 Peranan Teknologi Terhadap Knowledge Management
Teknologi adalah salah satu komponen utama yang membentuk arsitektur operasi knowledge management, bersama-sama dengan komponen proses dan organisasi. Teknologi khususnya teknologi informasi merupakan salah satu pendorong yang memunculkan knowledge management. Fokus pada teknologi dan infrastruktur ini dapat terjadi sebagai jalan pintas dari upaya unit knowledge management untuk menampilkan “wujud yang nyata” dari knowledge management itu sendiri. Adanya aplikasi untuk knowledge sharing diharapkan dapat mengakomodir keinginan banyak pihak yang ingin merasakan sensasi dan melihat secara nyata wujud dari knowledge management itu sendiri. Fungsi utama
infrastruktur knowledge management atau knowledge management Tool adalah untuk memfasilitasi knowledge sharing dan untuk menyimpan explicit knowledge yang sudah dalam format digital ke dalam knowledge repository perusahaan (yang menjadi salah satu fitur dari knowledge management tool). Knowledge repository ini dapat diakses melalui internet dan intranet. Sementara untuk transfer tacit knowledge adalah lebih efektif dilakukan melalui interaksi personal, kalaupun itu tetap dilakukan secara online, maka tacit knowledge harus dikonversi lebih dahulu menjadi explicit knowledge dalam bentuk data digital kemudian baru dapat dibagikan melalui media dan jaringan yang tersedia. [1]
2.4 Siklus Hidup Pengembangan Perangkat Lunak
Siklus hidup pengembangan perangkat lunak atau software development life cycle (SDLC) adalah tahapan yang umum dilakukan dalam pembuatan atau perbaikan / penggantian sebuah sistem /software, dan mengacu juga pada metodologi yang digunakan orang untuk mengembangkan software. [7]
Konsep SDLC menjelaskan urutan-urutan fase, aktivitas dan keluaran setiap fase terkait dengan pengembangan perangkat lunak. Setiap fase pada SDLC menggunakan hasil dari fase sebelumnya. Hingga saat ini terdapat, terdapat banyak model SDLC yang sudah dipublikasikan oleh peneliti, misalnya waterfall, fountain, spiral, build and fix, rapid prototyping, incremental dan sebagainya.
Waterfall merupakan model SDLC yang tertua dan paling populer. Pada SDLC waterfall, terdapat beberapa urutan aktivitas sebagai berikut :
1. Requirements and definition: Mengumpulkan kebutuhan secara lengkap kemudian di analisis dan difenisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun.
2. System and software design: Design dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap.
3. Implementation and unit testing: Desain program diterjemahkan kedalam kode-kode dengan menggunakan bahasa pemrograman yang
sudah ditentukan. Program yang dibangun langsung diuji baik secara unit.
4. Integration and system testing: Penyatuan unit-unit program kemudian diuji secara keseluruhan (system testing).
5. Operation and maintenance: Mengoperasikan program dan melakukan pemeliharaan seperti penyesuaian / perubahan karena adaptasi dengan situasi sebenarnya.
Gambar 2.1 Waterfall Model [7] 2.5 Pengujian Sistem
Pengujian sistem merupakan proses mengeksekusi sistem perangkat lunak untuk menentukan apakah perangkat lunak tersebut cocok dan berjalan sesuai dengan spesifikasi sistem yang telah dirancang sebelumnya. Menemukan dan menghilangkan ketidaksempurnaan ini disebut dengan debugging. Kesalahan sistem perangkat lunak sangat bervariasi, dimulai dari output yang tidak sesuai, sistem yang crash, sampai dengan sistem yang menggunakan memori terlalu banyak atau sistem yang berjalan terlalu lamban. Bug seperti ini terjadi karena kode program yang diekseskusi belum diuji, urutan program yang dieksekusi belum diuji, kombinasi dari nilai input yang belum diuji, atau lingkungan pemrograman yang belum diuji.[9]
2.5.1 Metode Pengujian
Beberapa test-case harus dilaksanakan dengan beberapa perbedaan strategi transaksi, query, atau jalur navigasi yang mewakili penggunaan sistem yang
tipikal, kritis, atau abnormal. Isu kunci pada pengembangan sistem adalah pemilihan sekelompok test-case yang cocok, sekecil dan secepat mungkin, untuk meyakinkan prilaku sistem secara detail. Pengujian harus mencangkup unit testing, yang memeriksa validasi dari prosedur dan fungsi-fungsi secara independen dari komponen sistem lain. Kemudian modul testing harus menyusul dilakukan untuk mengetahui apakah penggabungan beberapa unit dalam satu modul sudah berjalan dengan baik, termasuk eksekusi dari beberapa modul yang saling berelasi, apakah sudah berjalan sesuai dengan karakteristik sistem yang diinginkan. [9]
2.5.2 Unit Testing
Pengujian unit digunakan untuk menguji setiap modul untuk menjamin setiap modul menjalankan fungsinya dengan baik. Ada 2 metode untuk melakukan unit testing, yaitu:
1. Black-Box Testing
Terfokus pada apakah unit program memenuhi kebutuhan (requirement) yang disebutkan dalam spesifikasi. Pada black boxtesting, cara pengujian hanya dilakukan dengan menjalankan atau mengeksekusi unit atau modul, kemudian diamati apakah hasil unit tersebut sesuai dengan proses bisnis yang diinginkan atau tidak. Jika ada unit yang tidak sesuai outputnya maka untuk me-nyelesaikannya, diteruskan pada pengujian kedua yaitu white box testing. [9] 2. White-Box Testing
White box testing adalah cara pengujian dengan melihat ke dalam modul untuk meneliti kode-kode program yang ada, dan menganalisis apakah ada kesalahan atau tidak. Jika ada modul yang menghasilkan output tidak sesuai dengan proses bisnis, maka baris-baris program, variabel, dan parameter yang terlibat pada unit tersebut akan diperiksa satu per satu dan diperbaiki, kemudian di-compile ulang. [9]
2.6 PHP Web Programming
PHP adalah bahasa scripting yang menyatu dengan HTML dan dijalankan pada serverside. Artinya semua sintaks yang diberikan akan sepenuhnya dijalankan pada server sedangkan yang dikirimkan ke browser hanya hasilnya saja. Ketika seorang pengguna internet membuka suatu situs yang menggunakan fasilitas server side scripting PHP, maka terlebih dahulu server bersangkutan akan memproses semua perintah PHP di server lalu mengirimkan hasilnya dalam format HTML ke web server pengguna internet tadi. Sehingga kode asli yang ditulis PHP tidak terlihat di browser pengguna.
PHP tidak bisa bekerja dan digunakan secara mandiri, diperlukan beberapa perangkat lunak tambahan yang harus di install. Adapun perangkat lunak pendukung yang harus di install antara lain:
1. Apache Server
Merupakan web server yang digunakan oleh PHP, berfungsi menampilkan hasil prose script PHP ke komputer browser dalam bentuk tag HTML. 2. MySQL
Merupakan database server yang paling sering digunakan dalam pemrograman PHP. Berfungsi menyimpan data dalam database dan memanipulasi data-data yang diperlukan.
3. PHPMyAdmin
Merupakan kakas untuk pengelolaan database yang berrbasis web. PHPMyAdmin bukan merupakan suatu keharusan,manipulasi data yang bisa juga digantikan dengan kakas yang lain , misalnya MySQL console (berbasis teks). Namun dengan PHPMyAdmin pengelolaan atau manipulasi database menjadi lebih mudah.
Setiap platform yang berbeda memiliki distribusi perangkat lunak pendukung yang berbeda pula. Misalnya, untuk platform Windows maka Apache, MySQL yang akan di install harus dipilih yang mendukung platform Windows[10].