Pengertian Teori Sastra, Kritik Sastra, dan Sejarah Sastra

Pengertian Teori Sastra, Kritik Sastra, dan Sejarah Sastra 
Teori sastra ialah cabang ilmu sastra yang mempelajari tentang prinsip-prinsip, hukum, kategori, kriteria karya sastra yang membedakannya dengan yang bukan sastra. Secara umum yang dimaksud dengan teori adalah suatu sistem ilmiah atau pengetahuan sistematik yang menerapkan pola pengaturan hubungan antara gejala-gejala yang diamati. Teori berisi konsep/ uraian tentang hukum-hukum umum suatu objek ilmu pengetahuan dari suatu titik pandang tertentu. 

Kritik sastra juga bagian dari ilmu sastra. Istilah lain yang digunakan para pengkaji sastra ialah telaah sastra, kajian sastra, analisis sastra, dan penelitian sastra. Untuk membuat suatu kritik yang baik, diperlukan kemampuan mengapresiasi sastra, pengalaman yang banyak dalam menelaah, menganalisis, mengulas karya sastra, penguasaan, dan pengalaman yang cukup dalam kehidupan yang bersifat nonliterer, serta tentunya penguasaan tentang teori sastra. Sejarah sastra bagian dari ilmu sastra yang mempelajari perkembangan sastra dari waktu ke waktu. Di dalamnya dipelajari ciri-ciri karya sastra pada masa tertentu, para sastrawan yang mengisi arena sastra, puncak-puncak karya sastra yang menghiasi dunia sastra, serta peristiwa-peristiwa yang terjadi di seputar masalah sastra. Sebagai suatu kegiatan keilmuan sastra, seorang sejarawan sastra harus mendokumentasikan karya sastra berdasarkan ciri, klasifikasi, gaya, gejala-gejala yang ada, pengaruh yang melatarbelakanginya, karakteristik isi dan tematik.

Hubungan Teori Sastra dengan Kritik Sastra dan Sejarah Sastra 
Pada hakikatnya, teori sastra membahas secara rinci aspek-aspek yang terdapat di dalam karya sastra, baik konvensi bahasa yang meliputi makna, gaya, struktur, pilihan kata, maupun konvensi sastra yang meliputi tema, tokoh, penokohan, alur, latar, dan lainnya yang membangun keutuhan sebuah karya sastra. Di sisi lain, kritik sastra merupakan ilmu sastra yang mengkaji, menelaah, mengulas, memberi pertimbangan, serta memberikan penilaian tentang keunggulan dan kelemahan atau kekurangan karya sastra. Sasaran kerja kritikus sastra adalah penulis karya sastra dan sekaligus pembaca karya sastra. Untuk memberikan pertimbangan atas karya sastra kritikus sastra bekerja sesuai dengan konvensi bahasa dan konvensi sastra yang melingkupi karya sastra. Demikian juga terjadi hubungan antara teori sastra dengan sejarah sastra. Sejarah sastra adalah bagian dari ilmu sastra yang mempelajari perkembangan sastra dari waktu ke waktu, periode ke periode sebagai bagian dari pemahaman terhadap budaya bangsa. Perkembangan sejarah sastra suatu bangsa, suatu daerah, suatu kebudayaan, diperoleh dari penelitian karya sastra yang dihasilkan para peneliti sastra yang menunjukkan terjadinya perbedaan-perbedaan atau persamaan-persamaan karya sastra pada periode-periode tertentu. Secara keseluruhan dalam pengkajian karya sastra, antara teori sastra, sejarah sastra dan kritik sastra terjalin keterkaitan.

Teori, Kritik, Dan Sejarah Sastra
Dalam studi sastra, perlu dipahami antara teori, kritik dan sejarah sastra. Setiap teori, kritik, dan sejarah sastra sudah banyak ilmuwan yang menggeluti ilmu tersebut. Seperti Aristoteles selaku teoretikus sastra, Sainte-Beuve yang menonjol sebagai kritikus, dan Frederick A. Pottle, yang mempelajari sejarah sastra. Teori, kritik, dan sejarah sastra tidak dapat dipisahkan satu sama lain. Ketiganya saling berhubungan. Untuk mempelajarinya, kita harus memilah perbedaan sudut pandang yang mendasar. 

Kesusastraan dapat dilihat sebagai deretan karya yang sejajar, atau yang tersusun secara kronologis dan merupakan bagian dari proses sejarah. Teori sastra adalah studi prinsip, kategori, dan kriteria, sedangkan kritik sastra dan sejarah sastra merupakan studi karya-karya kongkret. Ada yang berusaha memisahkan pemahaman dari teori, kritik, dan sejarah sastra. Bagaimana dapat disimpulkan bahwa ketiga hal itu dapat dikaji satu persatu sementara di dalam buku teori sastra saja sudah termasuk di dalamnya kritik dan sejarah sastra. Sehingga, tak mungkin dapat disusun teori sastra tanpa kritik sastra atau sejarah sastra, sejarah sastra tanpa kritik sastra dan teori sastra, dan kritik sastra tanpa teori sastra dan sejarah sastra. 

Teori sastra dapat disusun berdasarkan studi langsung terhadap karya sastra dan itu secara otomatis perlu mengakaji sejarah serta kritik-kritik mengenai suatu pendapat tentang sastra. Sebaliknya, kritik sastra dan sejarah sastra tidak mungkin dikaji tanpa satu set pertanyaan, suatu sistem pemikiran, acuan dan generalisasi.

Mengenai kritik dan sejarah sastra, ada yang berusaha untuk memisahkannya. Berawal dari pendapat bahwa sejarah sastra mempunya kriteria dan standarnya sendiri, yaitu kriteria dan nilai zaman yang sudah lalu. Sehingga perlu menelusuri alam pikiran dan sikap orang-orang dari zaman yang dipelajari. Pandangan sejarah semacam ini menuntut kemampuan imajinasi, empati dengan masa silam dan selera masa silam mengenai rekonstruksi sikap hidup, kebudayaan dan sebagainya. Hal ini dapat diasumsikan bahwa pengarang bermaksud untuk menggambarkan keadaan zaman lampau. Sehingga maksud pengarang tersebut menjadikan tugas zaman dan karyanya tidak perlu diulas lagi dan kritik sastra pun sudah selesai. Jika hanya menjabarkan makna dan kehidupan zaman lampau yang digambarkan oleh pengarang berarti pembaca hanya bisa menoleh ke zaman pengarang tersebut. Tidak melihat ke masa kini. Sementara zaman lampau sangat berbeda dengan zaman sekarang. Pembaca tentu memiliki imajinasi dan interpretasi sendiri yang jauh berbeda dengan yang mengalami masa lampau itu. 

Contohnya drama Hamlet. Jika direkonstruksi oleh kritikus sekarang justru dapat menghilangkan makna drama tersebut. Sebaiknya sejarawan sastra bisa menyoroti karya sastra dengan sudut pandang zaman yang berbeda antara zaman pengaran dan kritikusnya atau melihat keseluruhan sejarah interpretasi dan kritik pada karya untuk memperoleh makna yang lebih menyeluruh. Jadi, sejarah sastra sangat penting untuk kritik sastra. Kalau seorang kritikus yang tidak peduli pada hubungan sejarah tentu penilaiannya akan meleset. Ia tidak akan tahu status karya itu asli atau palsu dan ia cenderung memberikan penilaian yang sembrono. Sehingga dapat disimpulkan bahwa pemisahan kritik sastra dan sejarah sastra sangat merugikan keduanya.

Menjelaskan Keamanan Aplikasi Web

Menjelaskan Keamanan Aplikasi Web 
Aplikasi web merupakan suatu lingkungan yang terstruktur dalam bentuk program komputer yang memungkinkan pengunjung website memasukkan dan menampilkan data dari dan ke suatu database server melalui internet dengan menggunakan web browser. Kemudian data ditampilkan ke pengguna sebagai informasi yang dihasilkan secara dinamis oleh aplikasi web melalui web server. 

Ciri dan Sifat Aplikasi Web
Menurut Roger S. Pressman dalam bukunya Software Engineering A Practitioner’s Approach dikatakan suatu aplikasi web memiliki perbedaan dengan aplikasi lainnya, karena memiliki sifat dan ciri-ciri sebagai berikut:

1. Network Intensive
Network intensive Sifat dasar dari suatu aplikasi web adalah terletak pada suatu jaringan (internet, intranet atau extranet) dimana aplikasi web harus melayani bermacam-macam kebutuhan dari penggunanya.

Network intensive Sifat dasar dari suatu aplikasi web adalah terletak pada suatu jaringan (internet, intranet atau extranet) dimana aplikasi web harus melayani bermacam-macam kebutuhan dari penggunanya.

2. Content Driven
Fungsi utama dari aplikasi web adalah untuk menampilkan informasi berupa teks, gambar, audio, dan video kepada para penggunanya.

3. Continuous Evolution
Aplikasi web mengalami perubahan secara terus-menerus (continuous evolution), terutama pada bagian isi (informasi) dari aplikasi tersebut.

4. Document-Oriented
Halaman-halaman web yang bersifat statis akan tetap ada meskipun telah terdapat teknik pemrograman web dengan menggunakan bahasa pemrograman java atau yang lainnya.

5. Immediacy 
Aplikasi web memiliki karakteristik kesiapan (immediacy), yang berarti aplikasi web tersebut harus sudah siap dan lengkap untuk ditampilkan ke publik dalam jarak waktu beberapa hari atau minggu saja, dan hal ini tidak ditemukan pada perangkat lunak lainnya.

6. Security
Berkembangnya aplikasi web dan Internet menyebabkan pergerakan sistem informasi untuk menggunakannya sebagai basis. Banyak sistem yang tidak terhubung ke Internet tetapi tetap menggunakan basis aplikasi web sebagai basis untuk sistem informasinya yang dipasang di jaringan Intranet. Untuk itu, keamanan sistem informasi yang berbasis aplikasi web dan teknologi Internet bergantung kepada keamanan sistem aplikasi web tersebut.

Keamanan dibutuhkan untuk melindungi isi dari aplikasi web yang sensitif dan menyediakan proses pengiriman data yang aman, oleh karena itu keamanan aplikasi harus diterapkan pada seluruh infrastruktur yang mendukung web aplikasi, termasuk juga web aplikasi itu sendiri.

Arsitektur sistem aplikasi web terdiri dari dua sisi: server dan klien. Keduanya dihubungkan dengan jaringan komputer (computer network). Selain menyajikan data-data dalam bentuk statis, aplikasi dapat menyajikan data dalam bentuk dinamis dengan menjalankan program. Program ini dapat dijalankan di server (misal dengan CGI, servlet) dan di klien (applet, Javascript).

7. Aesthetics
Selain sisi teknis, estetis juga merupakan suatu hal yang harus diperhatikan dalam sebuah aplikasi web, karena tampilan dan keindahan adalah salah satu hal yang utama, yang digunakan sebagai daya tarik pengunjung.

Kualitas Aplikasi Web
Kualitas yang baik dari suatu aplikasi web dapat diukur melalui beberapa karakteristik, diantaranya, usability, functionality, reliability, efficiency, dan maintainability [6]. Gambar 2 menunjukkan faktor-faktor yang membantu pengembang dalam merancang dan membangun aplikasi web yang dapat diterima dan memenuhi kebutuhan penggunanya yang begitu beragam.

Gambar Faktor Kualitas Aplikasi Web

Arsitektur Aplikasi Web
Menurut Krutchen sebuah arsitektur aplikasi web dibangun berdasarkan pada empat buah tinjauan, yaitu Logical, Process, Physical dan Development View, masing-masing tinjauan tersebut memiliki pengertian yang berbeda dan semua tinjauan tersebut harus diperiksa untuk memperoleh pemahaman yang baik mengenai aplikasi web secara keseluruhan. Untuk menambahkan sebuah kebutuhan khusus pada aplikasi web, seperti keamanan dapat ditambahkan tinjauan lainnya pada arsitektur aplikasi web.

Gambar Logical View pada Aplikasi Web

1. Logical View 
Ditinjau secara logis, aplikasi web merupakan abstraksi dari sebuah sistem yang memiliki domain masalah tertentu. Sebuah aplikasi digambarkan sebagai interaksi antara komponen-komponen yang berbeda. Pada level arsitektur, sebuah aplikasi web dapat digolongkan ke dalam bentuk 2-tier atau sebagai 3-tier (seperti yang ditunjukkan pada Gambar)

Gambar Tinjauan Model Arsitektur 4+1

Presentation Logic tier bertanggung jawab untuk melakukan interaksi antara komponen-komponen untuk menghasilkan tampilan user. Komponen pada bagian ini hanya berinteraksi dengan komponen yang berada pada Business Logic tier. Komponen yang terdapat pada Business Logic tier berisi semua pengetahuan yang dibutuhkan untuk melakukan proses modifikasi komponen data yang terdapat pada Databases tier. Databases tier berisi semua komponen data yang digunakan untuk menyediakan penyimpanan data untuk data dan informasi dari suatu aplikasi web.

Arsitektur 3-tierd menyediakan perhatian lebih terhadap pembagian permasalahan. Pada arsitektur 2-tierd bagian business logic dan databases disatukan. Keuntungan dari arsitektur 3-tierd adalah sistem database dapat dengan mudah dilakukan perubahan tanpa mempengaruhi bagian business logic.

2. Development View
Development view berfokus pada pemetaan antara konsep komponen logical view ke implementasi sebenarnya. Development view pada suatu aplikasi web terdiri dari:
a. Struktur link dari halaman aplikasi 
b. Teknik user session management
c. Teknologi halaman aplikasi web 

3. Physical View
Physical view menggambarkan pemetaan antara komponen yang terdapat pada development view ke lingkungan aplikasi web diletakkan. Aplikasi web mempunyai lingkungan yang sangat kompleks, yang terdiri dari komponen-komponen sebagai berikut:
a. Web browsers
b. Web servers
c. Application servers
d. Database
e. Object terdistribusi (seperti, Java Beans)

Pengguna aplikasi web menggunakan web browser sebagai interface untuk dapat mengakses fungsi dari suatu aplikasi web. Sebuah browser mengirimkan permintaan (request) ke web server, mengirim-nya dengan menggunakan protokol HTTP. Sebuah web server memberikan permintaan tersebut jika permintaan tersebut dapat dipenuhi secara langsung, dengan melibatkan proses yang terdapat pada application server. 

Seperti yang terlihat pada Gambar, apabila pengguna ingin mengambil data yang terdapat pada databases, maka application server harus dilibatkan. Akhirnya web server dengan hasil yang telah diperoleh dari application server menghasilkan halaman HTML dan mengembalikannya kepada pengguna aplikasi web.

Gambar Physical View dari Aplikasi Web

Protokol Web
Penetration testing merupakan teknik pengujian yang memanfaatkan kemampuan protokol di web, untuk itu perlu pengenalan terhadap protokol yang digunakan pada aplikasi web. Aplikasi-aplikasi berbasis web, umumnya menggunakan protokol: HTTP (Hyper Text Transfer Protocol) atau HTTPS (HTTP over Socket Secure Layer), dengan port yang biasa digunakan adalah port 80 (HTTP) dan port 443 (HTTPS). 

HTTP
Setiap browser web dan server harus berkomunikasi melalui protokol ini,. Ada tiga versi protokol HTTP ini, dimana ketiganya memiliki kesamaan struktur dasar. HTTP merupakan protokol yang berkerja dengan metode request dan respon, yang dapat ditunjukan pada pada Gambar.

Gambar Metode Request & Respon HTTP

Untuk mengenal lebih mendalam, terdapat beberapa metode yang dapat dilakukan sebagai request dalam protocol HTTP. Metode tersebut antara lain: connect, delete, get, head, option, post, put, dan trace. Metode di atas difasilitasi oleh protokol HTTP 1.1. Untuk lebih jelas dapat dilihat dalam Tabel.

Respon HTTP
Sebuah permintaan HTTP dari sebuah klien ditangani oleh server dan direspon oleh server tersebut. Untuk merespon, server akan mengirimkan kembali serangkaian komponen pesan yang dapat dikategorikan sebagai berikut : 
a. Kode respon— Angka yang bertalian pada sebuah tipe asosiasi respon.
b. Lokasi awal (Header fields)—informasi tambahan tentang respon. 
c. Data—Isi dari respon. 

Melalui tiga komponen tersebut, sebuah browser klien dapat memahami respon dari server dan berinteraksi dengan server tersebut. 

Serangan Keamanan Aplikasi Web
Dunia internet saat ini mengenal banyak jenis serangan yang dilakukan dan sering merugikan. Jenis-jenis serangan terjadi selama ini dapat dikategorikan dalam empat kategori berdasarkan kriteria target serangan yaitu:
1. Interruption: serangan atas ketersediaan informasi. Penyerang mengganggu dengan melakukan penghentian aliran informasi kepada klien.
2. Interception: serangan atas kerahasiaan. Mengakses informasi yang bukan menjadi haknya adalah tujuan dari serangan ini. Informasi dapat digunakan untuk hal-hal yang merugikan pihak lain.
3. Modification: serangan atas integrasi suatu informasi. Mengakses informasi dan dapat juga mengubah isi informasi menjadi sasaran serangan ini.
4. Fabrication: serangan terhadap proses autentifikasi. Membangkitkan objek palsu yang dikenal sebagai bagian dari sistem merupakan tujuan dari serangan jenis. 

Gambar Jenis – jenis Serangan

Dari sisi motif tindakan, serangan yang terjadi dapat dikategorikan berdasarkan jenis tindakan yang dilakukan, dan dikelompokkan menjadi sebagai berikut:

A. Ancaman Pasif
Serangan yang dilakukan lebih bersifat mengamati perilaku sasaran, pada tahap ini penyerang berusaha mengenali setiap bagian sasaran. Tindakan yang dilakukan antara lain:
a. Melepaskan serangkaian pesan ke target untuk mengetahui respon target, dan mendapatkan informasi awal tentang target. Deteksi port merupakan salah satu contohnya.
b. Analisa trafik, dilakukan untuk mengetahui pola trafik data pada target.

B. Ancaman aktif
Serangan yang dilakukan telah ditujukan untuk berdampak langsung pada target. Beberapa tindakan serangan yang banyak dikenal merugikan merupakan contoh dari tindakan ini. Berikut beberapa diantaranya: 
a. Masquerade, penyerangan dikenali sebagai bagian dari alias identitas yang berwenang.
b. Reply
c. Modifikasi isi pesan (Mengubah pesan layanan yang diberikan oleh sistem)
d. Denial of service (Menghilangkan kemampuan sistem untuk memberikan layanan).

Aplikasi Web Joomla
Joomla merupakan salah satu Content Management System (CMS) yang paling populer tersedia, mudah digunakan, sehingga memiliki keuntungan, yaitu pengguna-nya tidak membutuhkan keterampilan dan kemampuan teknis yang tinggi untuk mengolah dan mengatur aplikasi web tersebut. Selain itu aplikasi web Joomla merupakan sebuah CMS yang memiliki banyak fitur, dan hal inilah yang mengakibatkan aplikasi web Joomla banyak digunakan sebagai website suatu perusahaan atau organisasi, baik yang digunakan untuk keperluan bisnis maupun pendidikan.

Joomla berdasarkan pada CMS yang bebas dan terbuka (free open source) ditulis dengan menggunakan bahasa pemrograman PHP dan basis data MySQL, untuk keperluan di internet maupun intranet. Joomla pertamakali dirilis dengan versi 1.0.0. Fitur-fitur utama Joomla diantaranya adalah manajemen pengguna, manajemen konten, layanan web (web services) dan lain sebagainya. Joomla juga menggunakan lisensi GNU General Public License (GPL).

Gambar Model View Controller (MVC) Joomla

Secara garis besar Joomla terdiri dari tiga elemen dasar, yaitu server web (web server), skrip PHP dan basis data MySQL. Server web diasumsikan terhubung dengan Internet/Intranet yang berfungsi sebagai penyedia layanan aplikasi web. Skrip PHP terdiri dari kode program dalam bahasa PHP, dan basis data merupakan tempat penyimpanan konten. Joomla menggunakan Apache dan Microsoft IIS sebagai server web, dan MySQL untuk basis datanya. Paket Joomla terdiri dari beberapa bagian yang terpisah dan dalam bentuk modul yang sangat fleksibel, yang dapat dengan mudah dikembangkan dan diintegrasikan. Gambar 8 merupakan MVC dari aplikasi web Joomla.

Threat Modeling 
Threat Modeling merupakan teknik yang cukup populer digunakan untuk membantu desainer sistem mengetahui ancaman keamanan yang mungkin timbul pada suatu sistem atau aplikasi web-nya. Oleh karena itu pemodelan ancaman dapat dijadikan sebuah ukuran untuk memperkirakan resiko yang mungkin terjadi pada sebuah aplikasi web. Dalam kenyataannya pemodelan ancaman memungkinkan desainer dalam mengembangkan strategi untuk mengatasi masalah pada bagian dari aplikasi yang mudah diserang (vulnerabilities) dan membantu desainer agar tetap fokus pada pengerjaan kebutuhan sistem aplikasi web yang terbatas oleh sumber daya, dimana aplikasi web tersebut dituntut segera terselesaikan.

Selain itu terdapat pula kelebihan dan kekurangan yang dimiliki oleh teknik pengujian aplikasi web yang dilakukan dengan mengunakan teknik pemodelan ancaman, adalah sebagai berikut:

A. Kelebihan 
a. Merupakan teknik yang dilihat dari perspektif seorang penyerang (attacker) sistem aplikasi web.
b. Fleksibel 
c. Dilakukan pada permulaan SDLC

B. Kekurangan 
a. Relatif merupakan teknik baru 
b. Pemodelan ancaman yang baik tidak dilakukan secara otomatis oleh perangkat lunak

Selain itu pemodelan ancaman merupakan suatu metode yang digunakan untuk mengenali atau mengetahui ancaman (Vulnerability), serangan (attack), dan kelemahan (vulnerabilities) yang berhubungan dengan aplikasi web. Pembentukan pemodelan ancaman dibagi ke dalam beberapa tahap:

Identify Security Objectives
Tahap ke-1: identify security objectives, dilakukan untuk mengetahui tujuan/kebutuhan keamanan aplikasi web, hal ini digunakan untuk membantu menentukan aktivitas pemodelan ancaman, dan untuk menentukan berapa banyak usaha pengujian yang perlu dilakukan. 

Create Application Overview
Tahap ke-2: Create Application Overview, dilakukan untuk mengetahui karakteristik dan aktor pada aplikasi web, hal ini digunakan untuk membantu mengenali ancaman yang ada. 

Decompose Application
Tahap ke-3: Decompose Application, dilakukan untuk mengetahui mekanisme aplikasi web secara detail, hal ini juga digunakan untuk membantu mengenali ancaman yang ada. 

Identify Threats 
Tahap Ke-4: Identify Threat, dilakukan untuk mengenali ancaman yang ada, yaitu dengan menggunakan tahap ke-2 dan ke-3. 

Identify Vulnerabilities
Tahap Ke-5 Identify Vulnerabilities, dilakukan untuk mengetahui kelemahan yang terdapat pada aplikasi web, hal ini digunakan untuk membantu mengenali area yang terjadi kesalahan.

Gambar Proses Pembentukan Threat Modeling

Metodologi OWASP
Open Web Application Security Project (OWASP) adalah metodologi yang digunakan untuk membantu melakukan pengukuran (assessment), audit atau penetration testing terhadap aplikasi Web. Metodologi OWASP memiliki banyak keunggulan, karena dalam perkembangannya OWASP selalu mengikuti perkembangan keamanan dari aplikasi web itu sendiri. Selain itu OWASP tidak terfokus hanya kepada perangkat bantu, sehingga memberikan kesempatan kepada pengguna untuk think out side of the box.

OWASP Testing Framework
Menurut OWASP untuk membangun aplikasi web yang aman harus dilakukan proses pengujian pada setiap tahap pengembangan perangkat lunak atau software development live cycle (SDLC) [4], yang terdiri dari:
a. Sebelum pengembangan 
b. Selama tahap definisi dan desain 
c. Selama pembangunan 
d. Selama deployment 
e. Ketika pemeliharaan dan operasional 

Tahap 1: Sebelum Pengembangan
Sebelum proses pembangunan aplikasi web dimulai maka harus dilakukan hal berikut:
a. Pengujian standar, prosedur dan kebijakan keamanan yang akan digunakan selama pengembangan aplikasi web.
b. Membuat metrik dan kriteria pengukuran 
c. Meninjau proses SDLC

Tahap 1A: Tinjauan Kebijakan dan Standar 
Pada tahap ini pastikan bahwa kebijakan, standar dan dokumentasi yang digunakan tepat. Dokumentasi merupakan hal yang sangat penting, karena memberikan panduan kepada tim pengembang selama melakukan proses pembangunan aplikasi web.

Standar dan kebijakan yang akan digunakan tergantung pada teknologi yang akan digunakan, karena tidak ada standar dan kebijakan yang dapat menanggulangi setiap situasi pengembangan aplikasi web. Sebagai contoh, apabila aplikasi yang akan dibangun menggunakan teknologi java, maka diperlukan dokumentasi mengenai standar keamanan untuk pengkodean bahasa pemrograman java. Jika aplikasi menggunakan kriptografi maka diperlukan dokumentasi mengenai standar kriptografi. 

Tahap1B: Membuat Ukuran dan Kriteria Metrik 
Sebelum pembangunan aplikasi web dimulai, maka harus ditentukan dan direncanakan ukuran program. Penentuan ukuran kriteria bermanfaat untuk menentukan kualitas aplikasi web yang dibuat, dan juga dapat diprediksi dampak yang mungkin terjadi pada proses dan produk yang dihasilkan, sehingga dapat segera dibuat keputusan mengenai perubahan proses untuk meminimalkan terjadinya kerusakan yang terjadi. 

Tahap 2: Selama Definisi dan Desain 
Tahap 2A: Tinjauan Kebutuhan Keamanan
Kebutuhan keamanan adalah keperluan aplikasi web yang ditinjau dari perspektif keamanan. Pengujian terhadap kebutuhan keamanan sangat diperlukan untuk melihat apakah terdapat hal yang belum terpenuhi antara kebutuhan keamanan standar dengan definisi kebutuhan yang telah dibuat. Sebagai contoh kebutuhan keamanan pada aplikasi web adalah, pengunjung diharuskan terdaftar sebelum mereka dapat mengakses informasi-informasi yang tersimpan pada aplikasi web tersebut. Menurut OWASP mekanisme kebutuhan sistem keamanan pada aplikasi web terdiri dari:

a. User Management
Aspek keamanan pada aplikasi web yang mengatur pengguna dalam melakukan manajemen atau pengaturan terhadap fasilitas yang tersedia.

b. Authentication
Aspek ini berhubungan dengan metoda untuk menyatakan bahwa informasi betul-betul asli, orang yang mengakses atau memberikan informasi adalah betul-betul orang yang dimaksud, atau server yang dihubungi adalah betul-betul server yang asli.

c. Authorization 
Konsep keamanan dari aplikasi web yang memperbolehkan pengguna menggunakan sumber daya (resources) jika telah diizinkan oleh pemilik resources tersebut. Salah satu bagian dari otorisasi adalah akses kontrol. Aspek ini berhubungan dengan cara pengaturan akses kepada informasi. Hal ini biasanya berhubungan dengan klasifikasi data (public, private, confidential, top secret) & pengguna (guest, admin, top manager, dan sebagainya), mekanisme autentikasi dan juga privacy. Access control seringkali dilakukan dengan menggunakan kombinasi user id/password atau dengan menggunakan mekanisme lain (seperti kartu, biometrics).

d. Data Confidentiality dan Privacy
Inti utama aspek privacy atau confidentiality adalah usaha untuk menjaga informasi dari orang yang tidak berhak mengakses. Privacy lebih ke arah data-data yang sifatnya pribadi sedangkan confidentiality biasanya berhubungan dengan data yang diberikan ke pihak lain untuk keperluan tertentu (misalnya sebagai bagian dari pendaftaran sebuah layanan) dan hanya diperbolehkan untuk keperluan tertentu tersebut. Contoh hal yang berhubungan dengan privacy adalah e-mail seorang pengguna tidak boleh dibaca oleh administrator. Contoh informasi confidential adalah data-data yang sifatnya pribadi (seperti nama, tempat tanggal lahir, number keamanan, agama, status perkawinan, penyakit yang pernah diderita, nomor kartu kredit, dan sebagainya) merupakan data-data yang ingin di proteksi penggunaan dan penyebaran-nya. Contoh lain dari confidentiality adalah daftar pelanggan dari sebuah Internet Service Provider (ISP).

Serangan terhadap aspek privacy misalnya adalah usaha untuk melakukan penyadapan (dengan program sniffer). Usaha-usaha yang dapat dilakukan untuk meningkatkan privacy dan confidentiality adalah dengan menggunakan teknologi kriptografi (dengan enkripsi dan dekripsi). Informasi mengenai privacy yang lebih rinci dapat diperoleh dari situs Electronic Privacy Information Center (EPIC) dan Electronic Frontier Foundation (EFF).

e. Integrity 
Aspek ini menekankan bahwa informasi tidak boleh diubah tanpa se-izin pemilik informasi. Adanya virus, Trojan horse, atau pemakai lain yang mengubah informasi tanpa ijin merupakan contoh masalah yang harus dihadapi. Sebuah e-mail dapat saja ditangkap (intercept) di tengah jalan, diubah isinya (altered, tampered, modified), kemudian diteruskan ke alamat yang dituju. Dengan kata lain, integritas dari informasi sudah tidak terjaga. Penggunaan enkripsi dan digital signature, misalnya, dapat mengatasi masalah ini.

f. Accountability
Aspek keamanan pada aplikasi web yang menekankan apakah fasilitas yang diberikan telah sesuai dengan kebutuhan pengguna.

g. Session Management
Konsep keamanan aplikasi web yang mengatasi semua masalah yang berhubungan dengan pengguna mulai dari proses autentikasi sampai dengan pengguna meninggalkan aplikasi web.

h. Transport Security 
Konsep keamanan pada aplikasi web yang diterapkan untuk mengatasi masalah yang berhubungan dengan pengangkutan (transport) data yang sensitif yang disediakan oleh aplikasi web, seperti session ID.

i. Tiered System Segregation 
Aspek keamanan pada aplikasi web yang menekankan pada keamanan pemisahan aset diantara penggunanya.

Tahap 2B: Tinjauan Desain dan Arsitektur 
Tinjauan dokumen desain dan arsitektur aplikasi web berguna untuk memastikan bahwa desain dan arsitektur yang telah dibuat telah menerapkan dengan tepat mekanisme keamanan yang telah didefinisikan.

Tahap 2C: Membuat dan Meninjau Model UML 
Setelah tahap desain dan arsitektur selesai dibuat, maka dilakukan pembuatan dan peninjauan terhadap Unified Modeling Language (UML) yang berguna untuk menggambarkan bagaimana kerja aplikasi web.

Tahap 2D: Membuat dan Meninjau Pemodelan Ancaman 
Setelah proses peninjauan desain, arsitektur dan deskripsi UML dilakukan, kemudian selanjutnya dikerjakan membuat pemodelan ancaman, dengan cara membuat skenario nyata tentang pemodelan ancaman yang mungkin terjadi pada aplikasi web, menganalisis desain dan arsitektur untuk meyakinkan apakah skenario ancaman yang dilakukan dapat ditangani oleh desain dan arsitektur yang ada, apabila tidak dapat ditanggulangi maka perlu ditinjau kembali desain dan arsitektur untuk dilakukan perubahan.

Tahap 3: Selama Pengembangan 
Pengembangan merupakan implementasi dari desain yang telah dibuat, maka pada tahap ini dilakukan proses pembuatan aplikasi berdasarkan pada desain yang ada dan panduan yang berisi informasi tentang standar, kebijakan, serta prosedur yang telah ditentukan sebelumnya.

Tahap 3A: Code Walkthroughs
Code Walkthroughs dilakukan oleh tim keamanan yang bermanfaat untuk memahami mekanisme, logika, layout dan struktur dari kode yang membentuk aplikasi web yang telah dibuat oleh tim pengembang.

Tahap 3B: Peninjauan Kode
Setelah diketahui struktur kode yang membangun aplikasi web, maka selanjutnya penguji membandingkan struktur kode tersebut dengan kode keamanan sebenarnya. Peninjauan kode secara statik dapat dilakukan dengan membandingkan kode yang telah dibuat dengan sekumpulan kriteria standar keamanan aplikasi web, diantaranya:
a. Kebutuhan bisnis untuk availability, confidentiality, dan integrity.
b. Kriteria OWASP Top 10 
c. Permasalahan khusus yang berhubungan dengan bahasa pemrograman dan framework yang digunakan. Seperti Scarlet paper untuk PHP dan Microsoft Secure untuk ASP.NET.
d. Beberapa kebutuhan spesifik industri, seperti Sarbanes-Oxley 404, COPPA, ISO 17799, APRA, HIPAA, panduan Visa Merchant atau aturan-aturan standar industri lainnya.

Tahap 4: Selama Deployment
Tahap 4A: Application Penetration Testing
Setelah melakukan pengujian terhadap requirement, menganalisis desain dan melakukan code review, maka hal terakhir yang dilakukan adalah penetrasi testing untuk memeriksa dan meyakinkan tidak ada kesalahan yang terjadi pada aplikasi web yang telah dibuat.

Tahap 4B: Configuration Management Testing
Configuration Management Testing merupakan bagian dari penetration testing yang berguna untuk memeriksa apakah infrastruktur dan desain yang ada telah di terapkan secara aman.

Tahap 5: Maintenance dan Operations
Tahap 5A: Operational Management Reviews
Pada bagian ini dilakukan proses peninjauan terhadap manajemen operasional pada bagian aplikasi dan infrastruktur.

Tahap 5B: Periodic Health Checks
Secara berkala pemeriksaan keadaan keamanan harus dilakukan pada bagian aplikasi maupun infrastruktur untuk memastikan tidak ada resiko keamanan baru yang terjadi dan untuk memastikan apakah perlu dilakukan perubahan terhadap level keamanan yang digunakan.

Tahap 5C: Ensure Change Verification 
Setelah setiap perubahan yang akan dilakukan telah disetujui, maka dilakukan verifikasi untuk memutuskan adanya perubahan terhadap level keamanan. Gambar 10 menunjukkan SDLC testing workflow menurut metodologi OWASP. 

Gambar OWASP Testing Framework Work Flow

Entrepreneurship Solusi Dari Serangan Badai Globalisasi

Entrepreneurship Solusi Dari Serangan Badai Globalisasi 
Globalisasi, dalam telaah filosofis globalisasi oleh Armada Riyanto, 2010, disebutkan sebagai badai, yaitu sebuah gelombang model relasi antarmanusia yang menerpa siapa saja dan tidak ada yang mampu mengelaknya. Pengertian globalisasi sendiri diambil dari kata global yang artinya universal. menurut wikipedia pengertian globalisasi tidak atau belum mempunya definisi yang tetap dan masih sangat luas cakupanya tergantung bagaimana pengguna menempatkan. Ada sebagian yang berpendapat bahwa globalisasi merupakan proses sosial, atau proses sejarah, atau proses alamiah yang akan membawa seluruh bangsa dan negara berada dalam ikatan yang semakin kuat untuk mewujudkan sebuah tatanan kehidupan baru yang nantinya akan menghapus batas-batas geografis, ekonomi dan budaya masyarakat. 

Begitu luasnya definisi dari globalisasi, Jan Aart Scholte yang dikutip dalam telaah filosofis globalisasi oleh Armada Riyanto, 2010, membantu mendefiniskan globalisasi kedalam lima rincian definisi. Yang pertama adalah globalisasi sebagai internasionalisasi, dimana globalisasi diartikan sebagai meningkatnya hubungan internasional. Dalam hal ini masing-masing negara tetap mempertahankan identitasnya masing-masing, namun menjadi semakin tergantung satu sama lain. Yang kedua, globalisasi sebagai liberalisasi, dimana globalisasi juga diartikan dengan semakin diturunkankan batas antar negara, misalnya hambatan tarif ekspor impor, lalu lintas devisa, maupun migrasi. Yang ketiga, globalisasi sebagai universalisasi, dimana globalisasi juga digambarkan sebagai semakin tersebarnya hal material maupun imaterial ke seluruh dunia. Pengalaman di satu lokalitas dapat menjadi pengalaman seluruh dunia. Yang keempat, globalisasi sebagai westernisasi atau McDonaldisasi, dimana westernisasi adalah semakin menyebarnya pikiran dan budaya dari barat sehingga mengglobal, seperti berhasilnya restaurant McDonald mampu menggantikan nilai-nilai dari warung tradisional pada sebuah negara. Dan yang kelima, globalisasi sebagai hubungan transplanetari dan suprateritorialitas: Arti kelima ini berbeda dengan keempat definisi di atas. Pada empat definisi pertama, masing-masing negara masih mempertahankan status ontologinya. Pada pengertian yang kelima, dunia global memiliki status ontologi sendiri, bukan sekadar gabungan negara-negara. 

Dalam telaahnya, Armada Riyanto, 2010. Menambahkan bahwa globalisasi didefinisakan sebagai dialogalisasi. Sebuah karakter dialogal dalam tatanan kehidupan manusia apabila dihilangkan, maka dapat menimbulkan sebuah kehancuran, kefatalan yang tragis. Kondisi seperti ini tergambar dengan peristiwa-peristiwa sosial seperti pembantaian bhiksu di Myanmar yang menyebabkan kutukan dan embargo internasional terhadap negara tersebut. 

Begitu tipisnya, bahkan sudah hilang, batas-batas suatu negara menjadikan pengaruh antar negera menjadi sangat besar. Sebuah kejadian pada satu daerah tertentu di sebah negara, mampu mempengaruhi negara lain secara cepat. Misalnya pergolakan politik di Mesir, sudah mempengaruhi pertumbuhan indeks dan bursa saham di Indonesia. Mampu mempengaruhi Yaman untuk melakukan hal yang sama, karena kondisi dan latar belakang pemerintahan yang sama, dan berita terakhir Kuwait siap melaksanakan hal yang sama. 

Begitupun dengan pergolakan ekonomi yang menimbulkan krisis ekonomi di Indonesia pada tahun 1998. Indonesia memasuki masa yang sangat sulit. Melemahnya nilai rupiah terhadap USD yang mencapai titik tertinggi, stabilitas politik yang gonjang-ganjing, pergantian kekuasaan dari era orde baru ke era reformasi, melemahkan seluruh aspek kehidupan berbangsa dan bernegara. Konglomerasi berguguran, muncul pengangguran. Selain itu juga produk dalam negeri yang masih kurang kuat dalam merebut benak pasar. 

Dari kejadian krisis ekonomi ada satu hal yang sangat menjanjikan yang selama ini terpinggirkan oleh sistem yang mengedepankan ekonomi konglomerasi, yaitu mampu bertahannya usaha mikro kecil menengah (UMKM) yang dilandasi jiwa kewirausahaan pada masing-masing pelakunya. Disinilah terlihat perbedaan antara wira usaha dan wira swasta dalam menghadapi krisis yang menerpa pada tahun 1998. Sosok wiraswata dan wirausaha oleh Soesarsono (2002:48) dibedakan pada konteks kecerdasan individunya. Sosok wira swastawan adalah sosok individu yang bermental baja atau dengan kata lain memiliki kecerdasan emosi dan kecerdasan adversity dalam menghadapi tantangan kehidupan. Sedangkan wira usahawan adalah sosok individu yang lebih lihai dalam bisnis atau pengelolaan uang dan memiliki kecerdasan financial yang menonjol serta didukung oleh sikap personal yang professional. Dari konteks inilah saat ini lebih dikenal wira usaha daripada wiraswasta 

Kewirausahaan (Suryana: 2003) adalah kemampuan kreatif dan inovatif yang dijadikan dasar, kiat dan sumber daya untuk mencari peluang menuju sukses. Inti dari kewirausahaan adalah kemampuan untuk menciptakan sesuatu yang baru dan berbeda (create new and different) melalui berfikir kreatif dan inovatif. 

Meredith et al.. (2002), mengemukakan nilai hakiki penting dari wirausaha adalah: 

1.Percaya diri (self confidence) 
Merupakan paduan sikap dan keyakinan seseorang dalam menghadapi tugas atau pekerjaan, yang bersifat internal, sangat relatif dan dinamis dan banyak ditentukan oleh kemampuannya untuk memulai, melaksanakan dan menyelesaikan suatu pekerjaan. Kepercayaan diri akan mempengaruhi gagasan, karsa, inisiatif, kreativitas, keberanian, ketekunan, semangat kerja, kegairahan berkarya. Kunci keberhasilan dalam bisnis adalah untuk memahami diri sendiri. Oleh karena itu wirausaha yang sukses adalah wirausaha yang mandiri dan percaya diri. 

2. Berorientasi tugas dan hasil 
Seseorang yang selalu mengutamakan tugas dan hasil, adalah orang yang selalu mengutamakan nilai-nilai motif berprestasi, berorientasi pada laba, ketekunan dan kerja keras. Dalam kewirausahaan peluang hanya diperoleh apabila ada inisiatif. Perilaku inisiatif biasanya diperoleh melalui pelatihan dan pengalaman bertahun-tahun dan pengembangannya diperoleh dengan cara disiplin diri, berpikir kritis, tanggap, bergairah dan semangat berprestasi. 

3. Keberanian mengambil risiko 
Wirausaha adalah orang yang lebih menyukai usaha-usaha yang lebih menantang untuk mencapai kesuksesan atau kegagalan daripada usaha yang kurang menantang. Wirausaha menghindari situasi risiko yang rendah karena tidak ada tantangan dan menjauhi situasi risiko yang tinggi karena ingin berhasil. Pada situasi ini ada dua alternatif yang harus dipilih yaitu alternative yang mengangung risiko dan alternatif yang konservatif. 

4. Kempemimpinan 
Seorang wirausaha harus memiliki sifat kepemimpinan, kepeloporan, keteladanan. Ia selalu menampilkan produk dan jasa-jasa baru dan berbeda sehingga ia menjadi pelopor baik dalam proses produksi maupun pemasaran. Dan selalu memanfaatkan perbedaan sebagai suatu yang menambah nilai. 

5. Berorientasi ke masa depan 
Wirausaha harus memiliki perspektif dan pandangan ke masa depan, kuncinya adalah dengan kemampuan untuk menciptakan sesuatu yang baru dan berbeda dari yang ada sekarang. 

6. Keorisinilan : Kreativitas dan Inovasi 
Wirausaha identik dengan nilai-nilai kreatifitas yang secara terus menerus berkembang dan memiliki terobosan-terobosan baik dari sisi pengelolaan perusahaan maupun jenis produk baru yang diciptakan, baik yang linier ataupun tidak. 

Wirausaha selalu memiliki komitmen dalam melakukan tugasnya sampai berhasil. Ia tidak setengah-setengah dalam melakukan pekerjaannya. Ia berani mengambil resiko terhadap pekerjaannya karena sudah diperhitungkan artinya risiko yang di ambil tidak terlalu tinggi dan tidak terlalu rendah. Keberanian menghadapi risiko yang didukung oleh komitmen yang kuat, mendorong wirausaha untuk terus berjuang mencari peluang sampai ada hasil. Hasil-hasil ini harus nyata atau jelas dan objektif dan merupakan umpan balik bagi kelancaran kegiatannya. Dengan semangat optimis yang tingggi karena ada hasil yang diperoleh, maka uang selalu dikelolah secara proaktif dan dipandang sebagai sumber daya. 

Dalam mencapai keberhasilannya, seorang wirausaha memiliki ciri-ciri tertentu pula. Dalam Enterpreneurship and Small Enterprise Development Report (1986) yang dikutip oleh M. Scarborough dan Thomas W. Zimmererr dalam bukunya Kasmir (2007:18) dikemungkinan beberapa karakteristik kewirausahaan yang berhasil, diantaranya memiliki ciri-ciri : 
1. Proaktif, yaitu berinisiatif dan tegas 
2.Berorientasi pada prestasi, yang tercermin dalam padangan dan bertindakterhadap peluang, orientasi efisiensi, mengutamakan kualitas pekerjaan, berencana, dan mengutamakan monitoring 
3. Komitmen kepada orang lain, misalnya dalam mengadakan kontrak dan hubungan bisnis. 

Menurut Zimmererr, yang dikutip oleh Kasmir (2002), untuk mengembangkan ketrampilan berfikir, seseorang menggunakan otak sebelah kanan. Sedangkan untuk belajar mengembangkan ketrampilan berpikir digunakan otak sebelah kiri, cirri-cirinya : 
1. Selalu bertanya : Apa ada cara yang lebih baik? 
2. Selalu menantang kebiasaan, tradisi dan kebiasaan rutin 
3. Mencoba untuk melihat masalah dari perspektif yang berbeda 
4. Menyadari kemungkinan banyak jawaban ketimbang satu jawaban yang benar 
5. Melihat kegagalan dan kesalahan sebagai jalan untuk mencapai sukses 
6. Mengkorelasikan ide-ide yang masih samar terhadap masalah untuk menghasilkan pemecahan inovasi 
7. Memiliki ketrampilan helicopter yaitu kemampuan untuk bangkit di atas kebiasaan rutin dan melihat permasalahan dari perspektif yang lebih luas kemudian memfokuskannnya pada kebutuhan untuk berubah. 

Dengan krisis ekonomi 1998 yang menerpa Indonesia, banyak bermunculan pengusaha-pengusaha muda yang berhasil melewati krisis ekonomi dengan gemilang. Keterpurukan ekonomi membuahkan kreatifitas dan inovasi yang akhirnya mampu mengangkat perekonomian secara makro. 

Contohnya adalah kebab turki Baba Rafi, Hendy Setiono, Presiden Direktur PT Kebab Turki yang masih sangat belia baru berusia 23 tahun ini masuk dalam jajaran 10 besar pengusaha muda di bawah 25 tahun Asia versi Majalah Business Week. Salah satu keunggulan Baba Rafi adalah pertumbuhan bisnisnya yang luar biasa cepat, keunikan makanannya, dan proyeksi balik modal (BEP) yang hanya satu sampai dua tahun. Saat ini kebab turki berhasil mendirikan 73 outlet di seluruh Indonesia, dengan omzet lebih dari Rp. 1 milyar setiap bulannya. Mengawali bisnis dengan menggunakan gerobak, bukan tanpa alasan, gerobak membuat usahanya lebih fleksibel dalam memilih pasar. 

Selain Hendy Setiono, ada pengusaha muda sukses lainnya yaitu Firmansyah Budi. Pengusaha kelahiran Jogjakarta, lulusan sarjana hukum dengan nilai cum laude lebih mengembangkan bisnis ketela. Dengan modal awal Rp. 200.000 Firmansyah membangun kerajaan bisnisnya hingga memiliki 1200 outlet di seluruh Indonesia. Tela Krezz terus berkembang dan berhasil membuat produk baru yaitu Tela Cake yang kemunculannya mampu bersanding dengan Bakpia yang telah menjadi ikon Jogjakarta. 

Masih banyak sekali pengusaha-pengusaha muda Indonesia yang mampu bahkan sukses dari gempuran badai globalisasi. Dengan semakin meningkatnya jumlah usaha mikro kecil dan menengah di Indonesia, pada tahun 2010 tercatat oleh Biro Pusat Statistik lebih dari 50 juta usahawan pada sektor UMKM, menunjukkan bahwa mereka mampu bertahan dari serbuan globalisasi. Bahkan mereka mampu ikut berperan dengan cara mengembangkan usaha dengan sistem franchise. 

Entrepreneurship menjadi salah satu solusi dari adanya badai globalisasi tidak hanya di Indonesia saja. Di Amerika ada Larry Page yang memiliki kekayaan lebih dari 12 Milyar USD, di Rusia ada Kostyantin Zhevago yang memiliki kekayaan lebih dari 3,4 Milyar USD, di China ada Xiaofeng Peng yang memiliki kekayaan 2,5 Milyar USD, di Jerman ada Albert von Thurn und Taxis yang memiliki kekayaan 2,1 Milyar USD, di India ada Shivinder Singh yang memiliki 1,8 Milyar USD, di Lebanon ada Hind Hariri yang memiliki kekayaan 1,4 Milyar USD dan masih banyak lagi entrepreneur-entrepreneur muda yang sukses dalam menghadapi globalisasi, bahkan menjadikan badai globalisasi sebagai kendaraannya untuk melesat menuju sukses pada masing-masing bidangnya. 

Globalisasi adalah badai besar yang bisa berakibat baik dan berakibat tidak baik. Entreprenership adalah salah satu solusi dari badai tersebut. Masuknya produk-produk luar negeri yang memiliki harga yang lebih bersaing dan berkualitas, membutuhkan mental dan jiwa entrepreneur untuk tetap bisa bersaing dan sukses di tengah badai globalisasi dengan pasar bebasnya.

Pengertian Dan Fanfaat Data

Pengertian Dan Fanfaat Data 
Ada banyak pengertian tentang data, secara sederhana data dapat diartikan sebagai keterangan tentang sesuatu (www.ketut.web.id). Menurut Vercellis,(2009:6) dalam risyana.wordpress.com, data menggambarkan sebuah representasi fakta yang tersusun secara terstruktur, dengan kata lain bahwa “Generally, data represent a structured codification of single primary entities, as well as of transactions involving two or more primary entities .” Sedangkan menurut Wawan dan Munir (2006:1) dalam risyana.wordpress.com bahwa “Data adalah nilai yang merepresantasikan deskripsi dari suatu objek atau kejadian.”

Dalam Kamus Besar Bahasa Indonesia, data adalah keterangan yang benar dan nyata. Data juga dapat diartikan sebagai sesuatu yang digunakan atau dibutuhkan dalam penelitian dengan menggunakan parameter tertentu yang telah ditentukan (Priyatno:2008). Dengan demikian dapat disimpulkan bahwa data merupakan suatu objek, kejadian, atau fakta yang terdokumentasikan dengan memiliki kodifikasi terstruktur untuk suatu atau beberapa entitas. 

A. JENIS-JENIS DATA
Dalam sebuah penelitian, ada dua macam jenis data (Priyatno:2008), yaitu :

1. Data Kualitatif
Data kualitatif adalah data yang dinyatakan dalam bentuk bukan angka, tetapi berbentuk kata, kalimat, gambar, atau bagan.

2. Data Kuantitatif
Data kuantitatif adalah data yang dinyatakan dalam bentuk angka. Tipe-tipe data kuantitatif adalah sebagai berikut :

a. Data Nominal
Data nominal adalah ukuran yang paling sederhana, dimana angka yang diberikan kepada objek mempunyai arti sebagai label saja, dan tidak menunjukkan tingkatan apapun (Moh. Nazir.2003). 

Ciri-ciri data nominal adalah hanya memiliki atribut, atau nama. Data nominal merupakan data kontinum dan tidak memiliki urutan. Bila objek dikelompokkan ke dalam set-set, dan kepada semua anggota set diberikan angka, set-set tersebut tidak boleh tumpang tindih dan bersisa. Misalnya tentang jenis olah raga yakni tenis, basket dan renang. Kemudian masing-masing anggota set di atas kita berikan angka, misalnya tenis (1), basket (2) dan renang (3). Jelas kelihatan bahwa angka yang diberikan tidak menunjukkan bahwa tingkat olah raga basket lebih tinggi dari tenis ataupun tingkat renang lebih tinggi dari tenis. Angka tersebut tidak memberikan arti apa-apa jika ditambahkan. Angka yang diberikan hanya berfungsi sebagai label saja. 

b. Data Ordinal
Bagian lain dati data kontimun adalah data ordinal. Data ini selain memiliki nama (atribut) juga memiliki peringkat atau urutan. Angka yang diberikan mengandung tingkatan. Ini digunakan untuk mengurutkan objek dari yang paling rendah sampai paling tinggi atau sebaliknya. Ukuran ini tidak memberikan nilai absolut terhadap objek, tetapi hanya memberikan peringkat saja. Jika kita memiliki sebuah set objek yang dinomori, dari 1 sampai n, misalnya peringkat 1, 2, 3, 4, 5 dan seterusnya, bila dinyatakan dalam skala, maka jarak antara data yang satu dengan lainnya tidak sama. Ia akan memiliki urutan mulai dari yang paling tinggi sampai paling rendah. Atau paling baik sampai ke yang paling buruk. Misalnya dalam skala Likert (Moh Nazir.2003), mulai dari sangat setuju, setuju, ragu-ragu, tidak setuju sampai sangat tidak setuju. Atau jawaban pertanyaan tentang kecenderungan masyarakat untuk menghadiri rapat umum pemilihan kepala daerah, mulai dari tidak pernah absen menghadiri, dengan kode 5, kadang-kadang saja menghadiri, dengan kode 4, kurang menghadiri, dengan kode 3, tidak pernah menghadiri, dengan kode 2 sampai tidak ingin menghadiri sama sekali, dengan kode 1. Dari hasil pengukuran dengan menggunakan skala ordinal ini akan diperoleh data ordinal.

c. Data Interval
Pemberian angka kepada set dari objek yang mempunyai sifat-sifat ukuran ordinal dan ditambah satu sifat lain, yakni jarak yang sama pada pengukuran dinamakan data interval. Data ini memperlihatkan jarak yang sama dari ciri atau sifat objek yang diukur. Akan tetapi ukuran interval tidak memberikan jumlah absolut dari objek yang diatur. Data yang diperoleh dari hasil pengukuran menggunakan skala interval dinamakan data interval. Misalnya tentang nilai ujian 6 orang mahasiswa, yakni A, B, C, D, E dan F diukur dengan ukuran interval pada skala prestasi dengan ukuran 1, 2, 3, 4, 5, dan 6, maka dapat dikatakan bahwa beda prestasi antara C dan A adalah 3 – 1 = 2. Beda prestasi antara C dan F adalah 6 – 3 = 3. Akan tetapi tidak bisa dikatakan bahwa prestasi E adalah 5 kali prestasi A ataupun prestasi F adalah 3 kali lebih baik dari prestasi B. Dari hasil pengukuran dengan menggunakan skala interval ini akan diperoleh data interval.

d. Data Rasio
Data rasio adalah data yang mempunyai rentang nilai 0 dan plus serta minus dari semua angka (Muhajir, 2007). Ukuran ratio dapat dibuat perkalian ataupun pembagian. Angka pada skala ratio dapat menunjukkan nilai sebenarnya dari objek yang diukur. Jika ada 4 orang pengemudi, A, B, C dan D mempunyai pendapatan masing-masing perhari Rp. 10.000, Rp.30.000, Rp. 40.000 dan Rp. 50.000. bila dilihat dengan ukuran ratio maka pendapatan pengemudi C adalah 4 kali pendapatan pengemudi A. Pendapatan D adalah 5 kali pendapatan A. Pendapatan C adalah 4/3 kali pendapatan B. Dengan kata lain, ratio antara C dan A adalah 4 : 1, ratio antara D dan A adalah 5 : 1, sedangkan rasio antara C dan B adalah 4 : 3. Interval pendapatan pengemudi A dan C adalah 30.000. dan pendapatan pengemudi C adalah 4 kali pendapatan pengemudi A. Contoh lainnya adalah berat badan bayi yang diukur dengan skala ratio. Bayi A memiliki berat 3 Kg. Bayi B memiliki berat 2 Kg dan bayi C memiliki berat 1 Kg. Jika diukur dengan skala Ratio, maka bayi A memiliki ratio berat badan 3 kali dari berat badan bayi C. Bayi B memiliki ratio berat badan dua kali dari berat badan bayi C, dan bayi C memiliki ratio berat badan sepertiga kali berat badan bayi A, dst. Dari hasil pengukuran dengan menggunakan skala rasio ini akan diperoleh data ratio. 

B. JENIS-JENIS METODE DAN INSTRUMEN PENGUMPULAN DATA
Dalam proses pengumpulan data tentu diperlukan sebuah alat atau instrument pengumpul data. Arti konsep instrument dalam penelitian adalah alat ukur, yaitu dengan instrument penelitian ini dapat dikumpulkan data sebagai alat untuk menyatakan besaran atau persentase serta lebih kurangnya dalam bentuk kualitatif dan kuantitatif. Sehingga dengan menggunakan instrument yang dipakai tersebut berguna sebagai alat, baik untuk mengumpulkan data maupun bagi pengukurannya. Sebelum menetapkan pemilihan dan penyusunan instrument perlu diperhatikan tentang validitas dan reliabilitas instrument yang dipakai. Sebab dikhawatirkan terjadinya penggunaan instrument yang tidak valid dan tidak reliable, untuk itu perlu diketahui validitas dan reliabilitas suatu instrument terlebih dahulu. Alat pengumpul data dapat dilakukan dengan menggunakan metode test dan metode non test.

Langkah-langkah yang perlu dilakukan dalam proses pengumpulan data adalah sebagai berikut :
a. Peneliti harus mengetahui dimana, bagaimana data itu diperoleh. Hal ini telah terpikirkan sewaktu peneliti melihat variable-variabel yang ada dalam masalah dan hipotesa penelitian.
b. Menyusun instrument sebagai alat untuk mengumpulkan data tersebut, serta telah menetapkan data mana yang betul-betul diperlukan dan data mana yang perlu diabaikan. Semuanya telah disusun oleh peneliti dalam instrument yang digunakan.
c. Sudah memikirkan siapa-siapa yang jadi responden peneliti dan bagaimana cara menghubunginya dan siapa-siapa yang dapat membantu peneliti dalam menyebarkan kuosioner atau instrument tersebut.
d. Orang yang membantu mengumpulkan data ini apakah sudah dipersiapkan dengan pengetahuan untuk itu atau dengan kata lain apakan peneliti telah melatih atau memberi petunjuk dalam melakukan tugasnya. Jika instrument peneliti adalah wawancara maka apakah pembantu peneliti ini telah dibekali dengan cara-cara yang baik untuk berwawancara dengan responden.
e. Apakah birokrasi yang perlu ditembus telah kita persiapkan dengan adanya surat-surat izin untuk meneliti seseorang atau instansi tertentu.
f. Jika semuanya telah dilakukan peneliti bertanya berapa jumlah data yang diperlukan. Apakah tidak mungkin terjadinya kekurangan jumlah yang peneliti inginkan karena ada instrument waktu pengisian tidak lengkap, tidak sempurna dan yang hilang, dan sebagainya. Untuk dapatnya data sesuai dengan yang diinginkan maka diperlukan agar peneliti memperkirakan kerusakan misalnya 10%. Untuk itu sebelum dijalankan sengaja kita tambahkan jumlahnya dengan 10% yang diperkirakan akan berkurang.
g. Setelah semua teknisnya dipenuhi, maka yang tidak kalah pentingnya adalah biaya transportasi untuk mengumpulkan data tersebut. karena kadang kala seseorang harus berkali-kali menemui seseorang utnuk wawancara atau untuk mengisi instrument yang dipakai. Oleh karena itu dalam suatu proposal, peneliti biasanya telah dapat memperkirakan berapa biaya yang diperlukan untuk biaya transportasi tersebut di samping biaya lainnya.

Untuk beberapa metode, istilah bagi instrumentnya memang sama dengan metodenya, yaitu :
1) Instrumen untuk metode tes adalah tes atau soal tes.
2) Instrumen untuk metode angket atau kuosioner adalah angket atau kuosioner.
3) Instrumen untuk metode observasi adalah check-list.
4) Instrumen untuk metode dokumentasi adalah pedoman dokumentasi atau dapat juga check list.

Untuk lebih jelasnya, maka akan dibahas metode dan instrument pengumpulan data satu per satu.

a. Pengumpulan data dengan Metode Tes
Tes adalah serentetan pertanyaan atau latihan serta alat lain yang digunakan untuk mengukur ketrampilan, pengetahuan intelegensi, kemampuan atau bakat yang di miliki oleh individu atau kelompok. Dalam membicarakan tes ini akan disampaikan sekaligus alat ukur lain yang sifatnya terstandar. Ditinjau dari sasaran atau objek yanga kan dievaluasi, maka dibedakan adanya beberapa macam tes dan alat ukur lain. 

1. Tes kepribadian atau personality tes
Yaitu tes yang digunakan untuk mengungkap kepribadian seseorang. Yang diukur bisa self konsep, kreativitas, disiplin, kemampuan khusus, dsb.

2. Tes bakat atau aptitude tes
Yaitu tes yang digunakan untuk mengukur atau mengetahui bakat seseorang. 

3. Tes intelegensi 
Yaitu tes yang digunakan untuk mengadakan estimasi atau perkiraan terhadap tingkat intelektual seseorang dengan cara memberikan tugas kepada orang yang akan diukur intelegensinya. 

4. Tes sikap atau attitude tes
Yaitu alat yang digunakan untuk mengadakan pengukuran terhadap berbagai sikap seseorang. 

5. Tes minat
Yaitu alat untuk menggali minat seseorang terhadap sesuatu. 

6. Tes prestasi atau achievement tes
Yaitu tes yang digunakan untuk mengukur pencapaian seseorang setelah mempelajari sesuatu. Berbeda dengan yang lain-lain sebelum ini, tes prestasi diberikan sesudah orang yang dimaksud mempelajari hal-hal sesuai dengan apa yang akan di teskan. 

Dalam menggunakan metode tes, peneliti menggunakan instrument berupa tes, atau soal-soal tes. Soal tes terdiri dari banyak butir tes (item) yang masing-masing mengukur satu jenis variabel.

b. Pengumpulan data dengan metode non tes
Untuk melengkapi data hasil tes akan lebih akurat hasilnya bila dipadukan dengan data-data yang dihasilkan dengan menggunakan tehnik yang berbeda, berikut disajikan alat pengumpul data dalam bentuk non tes.

1. Angket atau kuesioner
Kuesioner atau angket adalah teknik pengumpulan data melalui formulir-formulir yang berisi pertanyaan-pertanyaan yang diajukan secara tertulis pada seseorang atau sekumpulan orang untuk mendapatkan jawaban atau tanggapan dan informasi yang diperlukan oleh peneliti. Kuesioner lebih baik digunakan untuk mengumpulkan data atau informasi daripada teknik wawancara, karena dalam wawancara peneliti harus mengadakan kontak langsung. Pertemuan langsung antara responden dengan peneliti ini memerlukan waktu yang banyak, apalagi bila harus menghubungi ratusan orang. Wawancara harus dilakukan oleh orang yang mahir dalam kontak personal dan tidak bisa dilakukan oleh semua orang. Sedangkan menggunakan kuesioner dapat dilakukan oleh banyak orang untuk mengantar dan menjemput kuesioner tersebut setelah diisi oleh responden dan dapat pula dilakukan oleh peneliti secara masal dalam suatu kelas tehadap murid-murid atau mahasiswa dalam waktu yang singkat. Kuesioner bisa disusun dibelakang meja dengan tenang dan dapat direvisi setiap saat jika terjadi kesalahan. Kuesioner dapat pula dilakukan pngirimanya melalui kantor pos serta pengembaliannya dapat melalui kantor pos tersebut.

Bentuk kuesioner dapat pula berstruktur dab tidak berstruktur seperti pada persiapan wawancara, isinya sangat tergantung dari kebutuhan peneliti. Dalam menyusun kuesioner agar lebih tepat sasarannya dan lebih mudah dalam menganalisisnya perlu diperhatikan hal-hal sebagai berikut (Mardalis:1989) :
1. Kuesioner disusun sejelas mungkin, untuk menghindari salah tafsir dari responden yang bervariasi.
2. Diusahakan pertanyaannya sesingkat mungkin dan jangan berbeli-belit.
3. Setelah selesai disusun, sebelm diedarkan untuk kegiatan yang sebenarnya. Sebaiknya dilakukan uji coba dulu terhadap sebagaian responden kemudian dianalisa dan jika ditemui kelemahan dan keuranan perlu dilakukan revisi.
4. Kalimat dalam pertanyaan disusun yang dapat dimengerti dan diapahami oleh setiap responden ( peneliti harus tau terlebih dahulu, bagaimana perkiraan jawaban responden).
5. Alternative jawaban yang dikendaji dibuat selengkap mungkin. Misalnya, jika dikatakan alat tulis, apakah pensil, boolpoin, dll).
6. Hindari pertanyaan yang merendah atau menyinggung perasaan responden.
7. Setelah kuesioner dibuat peneliti mestinya sudah mengetahui bagaimana cara menghitung atau analisanya nanti. 

Dalam penyusunan instrument umumnya atau kuesioner bertitik tolak dari variable yang dikemukakan dalam hipotesa atau masalah penelitian, dari sana kemudian baru dijabarkan kedalam item-item dan dimensi-dimensi pertanyaan. Jangan sampai mengajukan dan membuat pertanyaan yang tidak ada kaitanya dengan masalah yang sedang ditelitikarena akan merugikan dan tidak ada gunanya.

Kuesioner dapat dibedakan menjadi beberapa jenis, tergantung pada sudut pandangan :

a. Dipandang dari cara menjawab, maka ada :
1. Kuesioner terbuka, yang member kesempatan kepad responden untuk menjawab dengan kalimatnya sendiri.
2. Kuesioner tertutup, yang sudah disediakan jawabannya sehingga responden tinggal memilih.

b. Dipandang dari jawaban yang diberikan, yaitu:
1. Kuesioner langsung, yaitu responden menjawab tentang dirinya.
2. Kuesioner tidak langsung, yaitu jika responden menjawab tentang orang lain.

c. Dipandang dari bentuknya, yaitu :
1. Kuesioner pilihan ganda, yang dimaksud adalah sama dengan kuesioner tertutup.
2. Kuesioner isian, yang dimaksud adalah kuesioner terbuka.
3. Check List, sebuah daftar dimana responden tinggal membubuhkan tanda cek pada kolom yang sesuai.
4. Rating-Scale (Skala Bertingkat), yaitu sebuah pernyataan yang diikuti oleh kolom-kolom yang menunjukkan tingkatan-tingkatan. Misalnya mulai dari sangat setuju sampai sangat tidak setuju

Keuntungan Kuesioner :
1. Tidak memerlukan hadirnya peneliti.
2. Dapat dibagikan secara serentak kepada banyak responden.
3. Dapat dijawab oleh responden menurut kecepatannya masing-masing, dan menurut waktu senggang responden.
4. Dapat dibuat anonym, sehingga responden bebas jujur dan tidak malu-malu menjawab.
5. Dapat dibuat terstandar sehingga bagi semua responden dapat diberi pertanyaan yang benar-benar sama.

Kelemahan Kuesioner :
1. Responden sering tidak teliti dalam menjawab sehingga ada pertanyaan yang terlewati tidak dijawab, pdahal sukar diulangi diberikan kembali kepadanya.
2. Sering kali sukar dicari validitasnya.
3. Walaupun dibuat anonym, kadang-kadang responden dengan sengaja memberikan jawaban yang tidak betul atau tidak jujur.
4. Sering kali tidak kembali, terutama jika dikirim lewat pos.
5. Waktu pengembaliannya tidak bersama-sama, bahkan kadang-kadang ada yang terlalu lama sehingga terlambat.

Contoh Angket :
a. Bentuk Skala Liert
Bentuk ini digunakan apabila peneliti menginginkan data tentang pendapat responden mengenai masalah yang diteliti. Bentuk ini dapat dilakukan untuk penilaian kuantitatif terhadap keseluruhan atau setiap responden. Cara ini dengan menetapkan bobot jawaban terhadap tiap-tiap item atau sub item yang ditetapkan, pertanyaannya berbentuk positif atau negative. 

2. Interview (Wawancara)
Wawancara adalah teknik pengumpulan data yang digunakan peneliti untuk mendapatkan keterangan-keterangan lisan melalui bercakap-cakap dan berhadap-hadapan mika dengan orang yang dapat memberikan keterangan pada sipeneliti. Wawancara ini dapat dipakai untuk melengkapi data yang diperoleh melalui observasi. Jika peneliti akan menggunakan teknik wawancara dalam penelitiannya perlu diketahui terlebih dulu: sasaran, maksud, dan masalah apa yang dibutuhkan sipeneliti sebab dalam suatu wawancara dapat diperoleh keterangan yang berlainana dan ada kalanya tidak sesuai dengan maksud si peneliti. 

Secara fisik, interview dapat dibedakan atas interview terstruktur dan tidak terstruktur. Seperti halnya kuesioner, interview terstruktur terdiri dari serenteten pertanyaan dimana pewawancara tinggal memberikan tanda cek (√) pada pilihan jawaban yang telah disiapkan. Interview terstandar kadang-kadang disembunyikan oleh pewawancara, akan tetapi tidak pula diperlihatkan kepada responden, bahkan respondenlah yang dipersilahkan memberikan tanda.

Ditinjau dari pelaksanaannya, maka dibedakan atas :
a. Interview Bebas, inguided interview, dimana pewawancara bebas menanyakan apa saja tetapi juga mengingat akan data apa yang akan dikumpulkan. Dalam pelaksanaannya pewawancara tidak membawa pedoman apa yang akan ditanyakan. Kebaikan metode ini adalah bahwa responden tidak menyadari sepenuhnya bahwa ia sedang diinterview. Kelemahannya adalah arah pertanyaan kadang-kadang kurang terkendali.
b. Interview Terpimpin (Guided Interview), yaitu interview yang dilakukan oleh pewawancara dengan membawa sederetan pertanyaan lengkap dan terperinci seperti yang dimaksud dalam interview terstruktur.
c. Interview Bebas Terpimpin, kombinasi antara interview bebas dan terpimpin. Dalam melaksanakan interview, pewawancara membawa pedoman yang hanya merupakan garis besar tentang hal-hal yang akan ditanyakan. 

Menginterview bukanlah pekerjaan yang mudah. Dalam hal ini pewawancara harus dapat menciptakan suasana santai tetapi serius. Artinya bahwa interview dilakukan dengan sungguh-sungguh, tidak main-main, tetapi tidak kaku. Suasana ini penting dijaga agar responden mau menjawab apa saja yang dikehendaki oleh pewawancara secara jujur.oleh karena sulitnya pekerjaan ini, maka perlu adanya pelatihan bagi pewawancara. Sebagai instrument interview adalah interview guide atau pedoman wawancara.

Waktu mempersiapkan wawancara dengan responden perlu diperhatikan hal-hal berikut (Mardalis:1989):
a. Responden yang akan diwawancarai sebaiknya diseleksi agar sesuai dengan data yang dibutuhkan.
b. Waktu berwawancara sedapatnya dilakukan sesuai dengan kesediaan responden.
c. Permulaan wawancara sebaiknya peneliti memperkenalkan diri dan menjelaskan maksud dan tujuan wawancara yang dilakukan.
d. Ketika bewawancara, peneliti sebaiknya berlaku seperti orang ingin tahu dan belajar dari responden dan jangan seperti orang menggurui terhadap responden. Hal ini penting untuk kelancaran wawancara.
e. Jangan sampai ada pertanyaan-pertanyaan yang tidak diinginkan oleh responden.
f. Peneliti sebaiknya menunjukkan perhatian penuh terhadap pembicaraan responden. Jika terjadi pengalihan pembicaraan oleh responden peneliti dengan hati-hati meluruskannya ke sasaran pokok.
g. Melakukan penutupan pembicaraan dengan ucapan terima kasih.

3. Observasi
Observasi sering kali diartikan sebagai suatu arti yang sempit, yakni memperhatiakn sesuatu menggunakan mata. Di dalam pengertian psikologig, observasi atau yang disebut dengan pengamatan, meliputi kegiatan penguatan perhatian terhadap sesuatu objek dengan menggunakan seluruh alat indera. Jadi, mengobservasi dapat dilakukan melalui penglihatan, penciuman, pendengaran, raba, dan pengecap. Apa yang dikatakan ini sebenarnya adalah pengamatan langsung. Di dalam artian penelitian observasi dapat dilakukan dengan tes, kuesioner, rekaman gambar, rekaman suara. 

Jika diperhatikan lebih lanjut, observasi atau pengamatan ini dapat dibedakan menjadi dua observasi, yaitu :

a. Observasi Partisipasi
Dalam melakukan observasi partisipasi pengamat ikut terlibat dalam kegiatan yang sedang diamatinya atau dapat dikatakan si pengamat ikut serta sebagai pemain. Pengamat mengamati sambil iktu berperan dalam kegiatan tersebut. yang perlu diperhatikan dalam observasi partisipasi ini adalah agar si pengamat tidak lupa tugas pokoknya, yaitu mengamati dan mencari data.

b. Observasi Simulasi
Diharapkan pengamat dapat mensimulasikan keinginannya pada responden yang dituju sehingga responden dapat memenuhi keinginan pengamat yang membutuhkan informasi atau data dari responden. 

Observasi dapat dilakukan dengan dua cara yang kemudian digunakan untuk menyebut jenis observasi yaitu:
a. Observasi non sistematis, yang dilakukan oleh pengamat dengan tidak menggunakan instrument pengamatan. 
b. Observasi sistematis, yang dilakukan oleh pengamat dengan menggunakan pedoman sebagai instrument pengamatan. 

Pedoman observasi berisi sebuah daftar jenis kegiatan yang mungkin timbul dan akan diamati. Dalam proses observasi, pengamat hanya memberikan tanda pada kolom tempat peristiwa muncul itulah sebabnya maka cara bekerja seperti ini disebut dengan sistem tanda ( sign system).

Sign system digunakan sebagai instrumen pengamatan situasi pengajaran sebagai sebuah potret sesuai pengajaran sebagai sebuah potret selintas (snap shot). Instrument tersebut berisi sederetan sub_variable misalnya: guru menerangkan, guru menulis dipapan tulis, guru bertanya pada kelompok, guru menjawab, murid bertanya, dll. Setelah pengamatan dalam satu periode tertentu misalnya 5 menit, semua kejadian yang muncul di cek. Kejadian yang muncul lebih dari satu kali dalam satu periode pengamatan, hanya di cek satu kali. Dengan demikian akan diperoleh gambar tentang apa kejadian yang muncul dalam situasi pengajaran. 

Dalam hal ini pengamat tidak dapat memperhatikan variable yang terlalu banyak. Dengan demikian pada akhir pengamatan dapat disimpulkan di kelas mana partisipasi murid terjadi paling besar.

4. Skala bertingkat (Rating) atau Rating Scale 
Rating atau skala bertingkat adalah suatu ukuran subjektif yang dibuat berskala. Walaupun bertingkat ini mengahasilkan data yang kasar, tetapi cukup memberikan informasi. Instrumen ini dapat dengan mudah memberikan gambaran penampilan, terutama penampilan di dalam orang menjalankan tugas, yang menunjukkan frekuensi munculnya sifat-sifat.

Rating-scale harus diinterpretasikan secara hati-hati karena disamping menghasilkan gambaran yang kasar juga jawaban responden tidak begitu saja mudah dipercaya. Sehubungan dengan ini Bregman dan Siegel dalam Arikunto:2006 mendaftar hal-hal yang mempengaruhi ketidakjujuran jawaban responden yaitu: 
a). persahabatan, 
b). kecepatan menerka, 
c). cepat memutuskan, 
d). jawaban kesan pertama, 
e). penampilan instrument, 
f). prasangka.

Di dalam menyusun skala, yang perlu diperhatikan adalah bagaimana menentukan variable skala. Apa yang ditanyakan harus apa yang dapat diamati responden. Misalnya seorang guru ditanya tentang jam kehadiran dan kepulangan kepala sekolah. Dia tidak akan menjawab jika dia sendiri selalu datang siang dan pulang awal.

5. Dokumentasi
Dokumentasi, dari asal katanya dokumen, yang artinya barang-barang tertulis. Di dalam melaksanakan metode dokumentasi, peneliti menyelidiki benda-benda tertulis seperti buku-buku, majalah, dokumen, peraturan-peraturan, notulen rapat, catatan harian, dsb.

Dengan menggunakan serentetan kotak-kotak seperti ini pada waktu mengumpulkan data melalui catatan-catatan yang menunjukkan keadaan karyawan atau pegawai yang menjadi subjek penelitian memberikan tanda centang pada kotak yang sesuai. Untuk merekam data dari beberapa orang karyawan, peneliti dapat menderetkan nama-nama subjek dibawah kotak-kotak tersebut yang dalam setiap aspek dijadikan sebagai judul table.

a. Check list, yaitu daftar variabel yang akan dikimpulkan datanya. Dalam hal ini peneliti tinggal memberikan tanda atau tally setiap pemunculan data yang dimaksud.

Dalam pengertian yang lebih luas, dokumen bukan hanya yang berwujud tulisan saja, tetapi dapat berupa benda-benda peninggalan seperti prasasti dan symbol-simbol. Metode dokumentasi ini dapat merupakan metode utama apabila peneliti melakukan pendekatan analisis isi . untuk penelitian dengan pendekatan lain pun metode dokumentasi juga mempunyai kedudukan penting. Jika peneliti memang cermat dan mencari bukti-bukti dari landasan hukum dan peraturan atau ketentuan, maka penggunaan metode dokumentasi menjadi tidak terhindarkan. 

Pengertian Dan Manfaat Data Mining Email

Pengertian Dan Manfaat Data Mining Email
Database saat ini boleh jadi berkembang menjadi sangat besar secara cepat ke dalam ukuran terabyte. Di dalam tumpukan data tersebut mungkin terdapat informasi-informasi tersembunyi yang sangat penting atau menjadi penting pada saat dibutuhkan. Akan tetapi bagaimana caranya kita menemukan sebuah jarum dalam tumpukan jerami? Dalam hal ini dapat kita katakan bahwa semua data belum berarti informasi.

Kita telah mengetahui bahwa data mentah (raw data) tidak terlalu berguna karena ukurannya yang begitu besar sehingga tidak mungkin dianalisa. Kita perlu mengekstrak pola dari data mentah tersebut. Jawabannya adalah dengan data mining. Banyak organisasi di dunia telah menggunakan data mining untuk mencari dan menarik kesimpulan dari data yang mereka miliki. Berikut beberapa contoh aplikasi data mining:
  • Perusahaan pemasaran menggunakan data sejarah respon pembelian terhadap suatu tawaran produk untuk membangun model untuk memperkirakan pelanggan potensial yang akan di raih dengan metode penawaran tertentu.
  • Agen pemerintah menyaring data transaksi keuangan untuk mendeteksi money laundering dan penyelundupan obat terlarang.
  • Dalam tahapan diagnosis, para fisikawan membangun expert system berdasarkan banyak percobaan yang telah dilakukan.
Secara definisi data mining adalah ekstraksi informasi potensial yang sebelumnya tak diketahui atau implisit, suatu kelas dari aplikasi database yang mencari pola tersembunyi dalam suatu kelompok data. Atau, data mining bisa juga didefinisikan sebagai suatu proses yang menggunakan berbagai perangkat analisis data untuk menemukan pola dan relasi data agar dapat digunakan untuk membuat prediksi dengan tepat.

Dari tinjauan keamanan sistem informasi, data mining memang bagai pisau bermata ganda. Di satu sisi bisa berguna bagi pihak pemilik data untuk hal-hal yang telah disebutkan di atas, namun bisa jadi illegal jika data-data tersebut disalahgunakan untuk hal-hal yang bersifat melanggar privasi orang lain atau bahkan jika pengumpulan data tersebut dilakukan secara tidak etis dan tanpa sepengetahuan pihak yang memiliki informasi.

Makalah ini hanya akan membahas apa itu data mining, kemungkinan aplikasinya dalam mencari pola dalam email, dan sedikit demonstrasi sederhana dengan menggunakan aplikasi jadi seperti outlook dan Access untuk parsing email ke database, serta software open source Weka (Waikato Environment for Knowledge Analysis) yang dikembangkan di Universitas Waikato. Software ini telah memiliki beberapa library dasar untuk melakukan data mining.

Aplikasi data mining sendiri bukanlah suatu aplikasi sederhana. Ia melibatkan algorithma machine learning yang membutuhkan algoritma kecerdasan buatan yang cukup kompleks dan berada di luar cakupan makalah ini.

1. Data Mining
Data mining adalah proses yang menggunakan berbagai perangkat analisis data untuk menemukan pola dan hubungan dalam data yang mungkin dapat digunakan untuk membuat prediksi yang valid.

Langkah pertama dan paling sederhana dalam data mining yaitu menggambarkan data – menyimpulkan atribut statistik (seperti rata-rata dan standar deviasi), mereview secara visual menggunakan diagram dan grafik, serta mencari relasi berarti yang potensial antar variabel (misalnya nilai yang sering muncul bersamaan). Mengumpulkan, mengeksplor, dan memilih data yang tepat adalah sangat penting.

Pada dasarnya ada empat langkah utama dalam melakukan data mining:
1. Mendeskripsikan data, yakni menyimpulkan atribut statistik (seperti rata-rata dan standard deviasi), mereview secara visual menggunakan grafik dan diagram, serta mencari hubungan-hubungan potensial antar variabel (seperti misalnya, nilai-nilai yang seringkali keluar bersamaan). 

2. Membangun model perkiraan (predictive model) berdasarkan pada pola-pola yang ditemukan pada langkah sebelumnya. 

3. Menguji model di luar sampel asli. Sebuah model yang baik tidak harus sama persis dengan kenyataan sebenarnya (seperti peta bukanlah representasi sempurna dari jalan yang sebenarnya), akan tetapi bisa menjadi panduan yang berguna untuk mengerti bisnis kita. 

4. Memverifikasi/menguji model. Misalnya, dari suatu database pelanggan yang telah merespon tawaran yang pernah diiklankan kepada mereka, kita membangun sebuah model perkiraan yang memiliki prospek akan mendapat respon yang sama dari pelanggan dengan tipikal tersebut tersebut. Tapi bisakah kita benar-benar bergantung pada perkiraan kita tersebut? Kita perlu membuktikan model perkiraan kita tersebut ke sample pelanggan yang lain dan melihat hasil yang kita dapatkan.

Untuk melakukan hal tersebut diatas maka setidaknya dibutuhkan suatu program yang dapat menampilkan (kalau tidak mendeteksi) pola dan keteraturan dalam data sehingga pola-pola yang kuat atau sangat jelas terlihat dapat digunakan untuk melakukan prediksi. 

Keterbatasan Data Mining
Data mining hanyalah sebuah alat, bukan tongkat ajaib. Data mining tidak secara otomatis mengamati apa yang terjadi pada database lalu mengirimkan laporan ketika terdapat pola-pola menarik. Penggunaan data mining tetap saja mengharuskan kita untuk mengerti data kita dan mengerti metode-metode analisis data. Data mining membantu analis untuk menemukan pola dan relasi data akan tetapi tidak secara langsung mengatakan nilai dari pola tersebut. Lebih jauh lagi, pola-pola yang tidak diketemukan melalui data mining harus diverifikasi kembali dalam dunia nyata.

Perlu diingat bahwa hubungan prediktif yang ditemukan melalui data mining tidak selalu merupakan sebab dari suatu prilaku atau tindakan. Misalnya, datamining bisa jadi menemukan bahwa pria dengan pendapatan Rp. 5 – 10 juta per bulan adalah pelanggan dari majalah-majalah tertentu dan kemungkinan besar merupakan pembeli dari suatu produk. Suatu perusahaan bisa saja mengambil keuntungan dari pola ini dengan menargetkan pemasaran kepada orang-orang yang memenuhi pola tersebut. Tapi tetap saja perusahaan tersebut tidak boleh mengasumsikan bahwa hanya faktor inilah yang menyebabkan mereka membeli produk perusahaan tersebut.

Model dan Algoritma Data Mining
Dalam bagian ini akan dibahas suatu model dan algoritma yang sering digunakan dalam melakukan data mining. Yang harus diperhatikan adalah bahwa model atau algoritma ini bukan merupakan satu-satunya yang ada dan tidak harus digunakan secara eksklusif. Pemilihan model tentu saja sangat bergantung pada tujuan yang ingin dicapai dalam melakukan data mining dan data yang akan dihadapi.

Neural Network
Neural Network biasa digunakan dalam masalah klasifikasi (di mana outputnya adalah variabel kategoris) atau regresi (outputnya kontinyu). Neural network dimulai dengan layer input, dimana tiap simpul berkorespondensi dengan variabel prediktor. Simpul-simpul input ini terhubung ke beberapa simpul dalam hidden layer. Tiap simpul input terhubung dengan tiap simpul dalam hidden layer. Simpul dalam hidden layer bisa jadi terhubung ke simpul lain dalam hidden layer, atau ke output layer. Output layer terdiri dari satu atau beberapa variabel respon.

Gambar Neural network dengan satu hidden layer

Setelah layer input, tiap simpul mengambil satu himpunan input, mengalikan input-input tersebut dengan bobot Wxy (misalnya, bobot dari simpul 1 ke 3 adalah W13 – lihat gambar), menambahkan kedua bobot, menerapkan fungsi (biasa dipanggil fungsi aktivasi atau squashing), dan melewatkan outputnya ke simpul dalam layer berikutnya. Misalnya, nilai yang dilewatkan dari node 4 ke node 6 adalah:

Activation function applied to ([W14 * value of node 1] + [W24 * value of node 2])

Gambar Wxy adalah bobot dari simpul x ke simpul y

Tiap simpul bisa dilihat sebagai variabel prediktor (dalam hal ini simpul 1 dan 2) atau sebagai kombinasi dari variabel prediktor (simpul 3 sampai 6). Simpul 6 adalah kombiasi non linear dari nilai simpul 1 dan 2, karena fungsi aktivasi terhadap nilai penjumlahan di simpul-simpul tersembunyi. Jika terdapat fungsi aktivasi tanpa hidden layer, jaringan saraf akan ekivalen dengan regresi linear; dan dengan fungsi aktivasi non-linear tertentu, jaringan saraf akan ekivalen dengan regresi logistik. 

Bobot koneksi (W) adalah parameter tidak diketahui yang diestimasi dengan metode training. Awalnya, metode training yang umum adalah backpropagation; metode-metode yang baru lalu bermunculan seperti gradien konjugasi, quasi-Newton, Levenberg-Marquardt, dan algoritma genetic. Tiap metode training memiliki satu himpunan parameter yang mengatur berbagai aspek dari training seperti misalnya menghindari local optima atau mengatur kecepatan konversi. 

Arsitektur (atau topologi) dari jaringan saraf adalah jumlah dari simpul dan layer-layer tersembunyi, dan bagaimana mereka saling berhubungan. Dalam merancang jaringan saraf, baik user maupun software harus memilih jumlah simpul dan layer tersembunyi, fungsi aktivasi, dan batasan-batasan bobot. Meskipun terdapat aturan umum, kita biasanya tetap harus bereksperimen dengan parameter-parameter tersebut.

Tipe yang paling umum dari jaringan saraf adalah jaringan feed forward backpropagation. Untuk kesederhanaan bahasan, kita akan membahas jaringan dengan satu hidden layer.

Training Backpropagation hanyalah salah satu versi dari gradien descent, suatu jenis algoritma yang mencoba untuk mengurangi nilai target (error, dalam kasus jaringan saraf) dalam tiap langkah. Algoritma ini bekerja seperti berikut:

Feed forward: Nilai dari simpul output dihitung berdasarkan nilai simpul input dan bobot-bobot awal. Nilai-nilai dari simpul input ini dikombinasikan dalam hidden layers, dan nilai dari simpul-simpul di hidden layer digabungkan untuk menghitung nilai output.

Backpropagation: Error dalam output dihitung dengan mencari beda antara output terhitung dan output yang diinginkan. Kemudian, error dari output dimasukkan kembali ke hidden layer secara proporsional, sesuai dengan bobotnya. Hal ini akan membuat error dihitung untuk tiap simpul output dan simpul tersembunyi dalam jaringan. Akhirnya, error di tiap simpul tersembunyi dan simpul output digunakan oleh algoritma untuk mengatur bobot yang masuk ke simpul untuk mengurangi error.

Proses ini berulang untuk tiap baris dalam himpunan traininng. Tiap lewatan terhadap tiap baris dalam himpunan traininng disebut epoch. Himpunan training ini akan digunakan berulang kali, sampai error yang dihasilkan tidak lagi berkurang. Pada titik tersebut jaringan saraf dianggap teah terlatih untuk menemukan pola dalam himpunan test. Karena banyak sekali parameter yang mungkin ada dalam jaringan tersembunyi, suatu jaringan saraf dengan simpul-simpul tersembunyi yang cukup akan selalu menyelesaikan training set jika dibiarkan berjalan cukup lama. Tapi seberapa baikkah jaringan saraf tersebut untuk data yang lain? Untuk menghiondari jaringan saraf yang overfitted yang akan hanya bekerja dengan baik pada data training, kita harus tahu kapan harus berhenti melakukan training. Beberapa implementasi akan mengevaluasi jaringan saraf pada data penguji secara periodik selama latihan. Selama error rate dalam hipunan penguji terus menurun, training akan terus dilakukan. Jika error rate bertambah, meskipun error rate pada data traininng terus menurun, maka jaringan saraf mungkin mengalami overfitting. Grafik dalam gambar mengilustrasikan bagaimana himpunan data penguji dapat menolong kita menghindari overfitting. Kita dapat melihat bahwa error rate terus menurun pada tiap lewatan jariingan saraf terhadap data (garis titik-titik), akan tetapi error rate untuk data penguji mengalami kenaikan. Karena tujuan dari data mining adalah untuk membuat prediksi pada data yang bukan himpunan traininng, maka kita tentu saja harus menggunakan jaringan saraf yang akan meminimalisasi error pada data penguji, bukan data training.

Gambar Error rate sebagai fungsi jumlah epoch dalam jaringan saraf

Jaringan saraf berbeda secara filosofis dari banyak metode statistik pada beberapa hal. Pertama, jaringan saraf biasanya memiliki lebih banyak parameter. Misalnya, terdapat tiga belas parameter (9 bobot dan 4 bias) dalam jaringan saraf pada gambar 4. Karena banyaknya parameter, dan kombinasi dari parameter menghasilkan prediksi yang similar, parameter menjadi uninterpretable dan jaringan bertindak sebagai prediktor “black box”. Pada kenyataannya, suatu hasil bisa diasosiasikan dengan beberapa himpunan bobot yang berbeda. Oleh karena itu, bobot network secara umum tidak membantu dalam usaha untuk mengerti proses yang menghasilkan prediksi. Akan tetapi hal ini dapat diterima dalam banyak aplikasi. Suatu bank hanya ingin mengenali secara otomatis suatu tanda tangan, akan tetapi tidak peduli bentuk relasi fungsional antara pixel dan karakter yang diwakilinya. Beberapa aplikasi yang memiliki ratusan variabel sebagai input ke dalam model dengan ribuan parameter (bobot simpul) meliputi pabrik kimia, robot dan pasar keuangan, serta masalah-masalah pengenalan pola seperti suara, vision dan karakter.

Satu keuntungan dari model jaringan saraf adalah jaringan saraf mudah untuk diimplementasikan untuk dijalankan pada paralel komputer dengan tiap node menjalankan kalkulasinya sendiri-sendiri secara simultan.

Pengguna harus sadar terhadap beberapa fakta tentang jaringan saraf: pertama, jaringan saraf tidak mudah untuk ditafsirkan. Tidak ada penjelasan rasional yang eksplisit tentang bagaimana suatu jaringan saraf melakukan keputusan atau prediksi. Kedua, jaringan saraf cenderung mengalami overfit data training kecuali pengukuran yang sangat ketat, untuk acakan bobot atau validasi silang dilakukan secara hati-hati.Ketiga, jaringan saraf membutuhkan waktu lama untuk melakukan training kecuali masalahnyas sangat kecil. Setelah ditrain, jaringan saraf bisa melakukan prediksi dengan cukup cepat. Keempat, jaringan saraf membutuhkan persiapan data yang banyak. Implementasi yang sukses dari jaringan saraf membutuhkan pemililihan dan preprocessing data yang baik. Misalnya, jaringan saraf mensyaratkan semua variabel harus numerik. Oleh karena itu, data kategoris seperti “propinsi” biasanya dipecah menjadi variabel dikotomis (misalnya “jawa barat”, “jawa timur”), masing-masing dengan nilai “1” (yes) atau “0” (no). Akhirnya, jaringan saraf akan bekerja dengan baik jika set data yang digunakan cukup besar dan rasio sinyal terhadap noise cukup tingggi.

Decision trees
Decision tree adalah cara merepresentasikan kumpulan aturan yang mengacu ke suatu nilai atau kelas. Misalnya kita bisa mengklasifikasikan suatu proposal pinjaman uang memiliki resiko baik atau buruk. Gambar ? memperlihatkan decision tree sederhana: decision node, branches and leaves.

Gambar Classification tree sederhana

Komponen pertama adalah simpul top decision, atau simpul root, yang menentukan test yang akan dijalankan. Simpul root dalam contoh ini adalah “income > $40.000”. Hasil dari tes ini menyebabkan tree terpecah menjadi dua cabang, dengan tiap cabang meepresentasikan satu dari jawaban yang mungkin. Dalam kasus ini, jawabannya adalah “ya” dan “tidak”, sehingga kita mendapatkan dua cabang.

Bergantung pada algoritma yang digunakan. Tiap simpul bisa memiliki dua atau lebih cabang. Misalnya, CART akan menggenerate hanya dua cabang pada tiap simpul. Tree seperti ini disebut binary tree. Ketika lebih dari dua cabang diperbolehkan maka disebut sebagai multiway tree.

Tiap cabang akan memiliki simpul node yang lain atau dasar tree, yang disebut leaf. Dengan mengikuti decision tree kita bisa memberikan nilai pada suatu kasus dengan memutuskan cabang mana yang akan diambil, dimulai dari simpul root dan bergerak ke bawah sampai leaf. Dengan menggunakan metode ini, seorang petugas yang bertanggung jawab untuk memutuskan pemberian pinjaman terhadap nasabah bisa menentukan apakah seorang nasabah memiliki resiko kredit yang baik atau buruk.

Model decision tree umum digunakan dalam data mining untuk menelaah data dan menginduksi tree dan aturan yang akan digunakan untuk membuat prediksi. Sejumlah algoritma yang berbeda bisa digunakan untuk membangun tree di antara nya adalah CHAID (Chi squared Automatic Interactin Detection), CART (Classification and Regression Trees), Quest dan C5.0.

Decision tree berkembang melalui pemecahan iteratif dari data ke dalam grup-grup diskrit, yang tujuannya adalah untuk memaksimalkan “jarak” antara grup pada tiap pemecahan. 

Contoh yang kita gunakan sampai saat ini sangatlah sederhana. Tree ini sangat mudah untuk dimengerti dan diinterpretasikan. Akan tetapi, tree bisa menjadi sangat kompleks. Bisa dibayangkan kompleksitas suatu tree yang diturunkan dari database dengan ratusan atribut dan variabel respon dengan lusinan kelas input. Tree sperti ini akan sangat sulit untuk dimengerti, meskipuntiap path dari tree biasanya dapat dimengerti. Dalam hal ini decision tree bisa menjelaskan prediksinya, yang merupakan keuntungan penting.

Akan tetapi, kejelasan ini bisa jadi menyesatkan. Misalnya, percabangan dari suatu decision tree mengimplikasikan suatu presisi yang jarang ditemui dalam dunia nyata. (Kenapa seseorang yang gajinya $40.001 akan menjadi nasabah dengan resiko kredit yang baik sedangkan seseorang dengan gaji $40.000 tidak?)

Selain dua buah algoritma yang dibahas di atas, masih banyak lagi algoritma lain seperti Multivariate Adaptive Regression Splines (MARS), Rule induction, K-nearest neighbor and memory-based reasoning (MBR), Logistic regression, Discriminant analysis, Generalized Additive Models (GAM), Boosting, dan Genetic algorithms.

2. Implementasi Data Mining Email
Mengenali suatu pendekatan yang sistematis merupakan hal yang sangat penting agar kita dapat melakukan data mining dengan sukses. Banyak vendor dan organisasi konsultan telah menentukan urutan langkah yang akan menghasilkan hasil yang memuaskan. 

Langkah-langkah dasar dalam data mining adalah sebagai berikut: 
1. Define business problem
2. Build data mining database
3. Explore data
4. Prepare data for modeling
5. Build model
6. Evaluate model
7. Deploy model and results

Mengikuti langkah-langkah di atas, maka pertama kali kita harus menentukan dulu masalah yang hendak dipecahkan. Dalam hal ini tujuan kita melakukan data mining email harus terlebih dahulu didefinisikan. Dalam kasus email, data mining biasanya dilakukan untuk mengetahui prilaku pelanggan dari order yang masuk via email, atau bisa juga mengetahui prilaku konsumsi seseorang. Suatu contoh nyata, Google melakukan data mining email untuk mengetahui iklan yang relevan untuk ditampilkan ke web interface layanan email mereka. 

Tujuan yang berbeda membutuhkan pemodelan database dan data yang berbeda pula.
Pada makalah ini akan didemonstrasikan bagaimana suatu data bisa diambil dari aplikasi email client seperti outlook untuk kemudian diparse ke database. Setelah data terkumpul dalam database kemudian dilakukan data analisis dengan menggunakan software open source Weka (Weikato Environment for Knowledge Analysis).

Karena kesulitan dalam mengumpulkan data yang baik (dalam hal ini email yang representatif) maka digunakan data fiktif yang kiranya akan menarik untuk dianalisis. Walaupun begitu, tetap akan didemonstrasikan bagaimana email penulis diparse ke dalam database Access.

Aplikasi Pendukung
Pada bagian ini akan dibahas aplikasi-aplikasi atau bahasa pendukung yang digunakan untuk membangun aplikasi data mining email dalam makalah ini, yaitu Outlook Express, Visual Basic for Application, dan Microsoft Access.

Outlook Express
Outlook Express adalah salah satu aplikasi email client yang bekerja pada platform Windows selain Eudora, Mozilla ThunderBird, Pegasus Mail, dan masih banyak lagi yang lainnya.

Alasan penggunaan Outlook dalam makalah ini adalah karena interoperabilitasnya yang sangat baik dengan sistem aplikasi Ms Office lainnya (dalam hal ini kita akan menggunakan relational database Ms Access) dan biasanya sudah terpaket dalam Windows yang kita gunakan. Akan tetapi selain itu, Outlook juga memiliki kemampuan pengorganisasian email yang cukup baik (virtual folders, versatile searching) dan penyaringan spam yang cukup solid. 

Berikut adalah beberapa fitur dasar dari Outlook Email Client:
  • Kemampuan mengelola banyak account email dan newsgroup
  • Kemudahan dalam mengeksplorasi pesan/email masuk
  • Memiliki addressbook untuk menyimpan dan melihat alamat-alamat email
  • Kemampuan mendownload email/newsgroup untuk dibaca secara offline
  • Mengirim dan menerima pesan secara aman dengan enkripsi
Microsoft Access
Pada dasarnya Access adalah suatu Database Management System (DBMS). Seperti halnya produk lain dalam kategori ini, Access meyimpan dan memanggil informasi/data, mempresentasikan data yang diminta, dan mengotomasi repetitive tasks. Dengan akses kita bisa membuat form masukan yang mudah digunakan seperti diperlihatkan pada gambar ?

Gambar Screenshot form pada Access

Akses juga merupakan aplikasi database windows yang cukup powerful. Karena baik Windows maupun Access adalah produk Microsoft, kedua produk tersebut bekerjasama dengan sangat baik. Access berjalan di semua versi windows.

Dengan menggunakan OLE (Object Linking Embedding) di Windows dan produk Ms Office (Excel, Word, Power Point dan Outlook) kita bisa mengembangkan kemampuan Access. OLE memungkinkan produk yang satu dengan lainnya saling bertukar informasi dengan mudah.

Berikut beberapa fitur yang ditawarkan Access:
  • Database management system yang benar-benar relasional
  • Wizard yang mudah digunakan
  • Importing, exporting, dan linking tabel
  • Form dan laporan dengan fitur WYSIWYG
  • Multiple table queries and relationships
  • Business graph and chart
  • Kemampuan DDE dan OLE
  • True Client/server
  • Dukungan modul VBA
Gambar ? mengilustrasikan kemampuan Access pada banyak level

Gambar Kemampuan Access pada banyak level

VBA Pada Access
Access memiliki banyak tool yang cukup baik yang memungkinkan kita bekerja dengan database serta tabel, queries, form, dan report yang dimilikinya tanpa menulis satu baris kode pun. Akan tetapi, pada kasus-kasus tertentu, kita mungkin membutuhkan pengembangan aplikasi yang lebih rumit seperti misalnya validasi input yang lebih ekstensif atau error handling yang lebih baik.

Untuk situasi-situasi seperti ini, kita membutuhkan suatu bahasa tingkat tinggi. Access menyediakan bahasa pemrograman yang disebut Visual Basic for Application (VBA) yang mampu meningkatkan kemampuan dari Access dan melebihi kemampuan yang ditawarkan oleh Macro.

Visual Basic telah menjadi bahasa umum untuk semua aplikasi Microsoft. Visual Basic ada di semua aplikasi Ms Office XP, termasuk Excel, Word, Power Point, dan outlook. Visual Basic adalah bahasa pemrograman terstruktur yang menawarkan bnyak struktur pemrograman yang telah biasa digunakan oleh programmer seperti If .. Then … Else, Select Case, dan seterusnya. Visual Basic memungkinkan seorang programmer bekerja dengan fungsi dan subrutin di dalam bahasa yang hampir seperti layaknya bahasa Inggris. Bahasa ini juga sangat ekstensibel (mampu memanggil rutin Windows API) dan bisa berinteraksi melalui ADO (Active Data Objects) atau DAO (Data Access Objects) dengan semua tipe data Access atau Visual Basic. 

Weka
Weka adalah koleksi algoritma data mining untuk tugas-tugas data mining. Algoritma ini bisa diterapkan secara langsung ke dalam dataset atau bisa juga dipanggil dari kode java kita sendiri. Weka memiliki tools untuk data pre-processing, classification, regression, clustering, association rules, dan visualization. Weka juga cocok untuk digunakan dalam pengembangan skema baru learning machine. Weka adalah software open source yang diterbitkan dibawah lisensi GNU General Public License.

Perancangan dan Implementasi
Tujuan dari aplikasi ini adalah untuk men data-mine email yang berada dalam mailbox Outlook. Kita akan mengekstrak informasi email dan memasukkan informasi tersebut ke dalam relational database sehingga kemudian kita bisa menganalisanya dengan beberapa algoritma data mining. 

Jadi langkah perancangan pertama kali adalah dengan merancang program pengekstrak data email Outlook untuk kemudian di ekspor ke Access. Selanjutnya membangun model data mining berdasarkan data mentah yang telah kita masukkan ke database tersebut. 

Secara garis besar model dari aplikasi data mining ini dapat diilustrasikan sebagai berikut:

Gambar Alur proses data mining

Program Pengekstrak dan Pengimpor Data Email
Sebenarnya kita bisa menghubungkan Outlook dengan Access tanpa melakukan pemrograman sedikitpun. Yakni dengan menggunakan driver yang telah terpasang secara built-in pada Office 2000. Sayangnya metode ini memiliki kekurangan dalam hal kesulitan dalam kustomisasi database. Untuk pertimbangan kemudahan kita hanya akan menggunakan import wizard dari Access yang akan mengimport semua data email yang ada pada inbox outlook. Untuk membuat database yang lebih baik, mungkin kita dapat mendesign sendiri struktur database yang baik dan kemudian menulis script sederhana menggunakan visual basic editor di outlook agar setiap email yang diterima akan langsung dimasukkan ke database. Berikut program sederhana berbentuk modul di Microsoft Access untuk mengimport email dari outlook dengan menggunakan bahasa Visual Basic for Application.

Option Compare Database 
  • Dim ol As New Outlook.Application 
  • Dim PublicFolder As MAPIFolder 
  • Dim OldTaskItems As Items 
  • Dim itm As Outlook.TaskItem 
  • Dim AppPath As String 
Sub ImportItems() 
Set PublicFolder = ol.GetNamespace("MAPI").Folders("Public Folders").Folders("All Public Folders").Folders("PT").Folders("Help Desk Application").Folders("Tarefas Antigas") 

Set OldTaskItems = PublicFolder.Items.Restrict("[Subject] > ''") 

Dim nmritens As Integer 
nmritens = OldTaskItems.Count ' 
' If nmritens = 0 Then 
' MsgBox "Tidak ada item baru" 
' Else 
' MsgBox " Terdapat" & nmritens & " untuk diimport" 
' End If 

For Each itm In OldTaskItems 
If nmritens > 1 Then 
Set appAccess = CreateObject("Access.Application") 
strAccessPath = appAccess.SysCmd(9) 
strDBName = "c:/documents and Settings/doni/my Documents/mdb/" & "importoutlook.mdb" 'strAccessPath & "email.mdb" 
Set dbe = CreateObject("DAO.DBEngine.36") 
Set wks = dbe.Workspaces(0) 
Set dbs = wks.OpenDatabase(strDBName) 
Set rst = dbs.OpenRecordset("tblHdrs") 
rst.AddNew 
rst.remetente = itm.UserProperties("Behalf") 
rst.assunto = itm.UserProperties("Subject") 
rst.recebido = itm.UserProperties("Received Date") 
rst.fechado = itm.UserProperties("Close Date") 
rst.Update 
rst.Close 
dbs.Close 
End If 
Next 
End Sub 

Hal yang sama bisa kita lakukan jika kita lebih memilih menggunakan server seperti MSSQL, MySQL, atau PostGreSQL. 

Berikut adalah data yang mungkin dihasilkan:

Gambar Tabel import dari outlook

Bisa dilihat data diatas tidak terlalu menarik untuk dianalisis, karena sifatnya yang terlalu luas dan tidak spesifik. Beberapa hal yang bisa dianalisis mungkin untuk menemukan kata terbanyak yang muncul sehingga bisa dipakai untuk menentukan ketertarikan sang empunya email, atau siapa pengirim email terbanyak. Dalam bagian berikutnya kita akan mensimulasikan data yang lebih menarik untuk disimulasikan namun tidak terlalu besar.

Analisis Data
Misalkan suatu pasangan orang tua yang sibuk memiliki account email yang dipakai untuk menerima email berisi laporan cuaca tiap hari dan kegiatan bermain anak dari sang baby sitter. Template email telah diatur sedemikian rupa sehingga menghasilkan data sebagai berikut: 

Gambar Data cuaca dan kegiatan bermain anak

Data tersebut akan disimulasikan dengan menggunakan Weka. Dalam manualnya software Weka hanya menerima format file ARFF. Walaupun kita bisa saja langsung menggunakan format file Access dengan mengubah kode atau membuat kode kita sendiri dengan memanfaatkan library yang telah ada dalam Weka.

Berikut adalah isi file weather.arff yang merupakan hasil konversi dari tabel email dalam database Access.
@relation weather
@attribute outlook {sunny, overcast, rainy}
@attribute temperature real
@attribute humidity real
@attribute windy {TRUE, FALSE}
@attribute play {yes, no}
@data
sunny,85,85,FALSE,no
sunny,80,90,TRUE,no
overcast,83,86,FALSE,yes
rainy,70,96,FALSE,yes
rainy,68,80,FALSE,yes
rainy,65,70,TRUE,no
overcast,64,65,TRUE,yes
sunny,72,95,FALSE,no
sunny,69,70,FALSE,yes
rainy,75,80,FALSE,yes
sunny,75,70,TRUE,yes
overcast,72,90,TRUE,yes
overcast,81,75,FALSE,yes
rainy,71,91,TRUE,no

Sekarang kita bisa memulai menganalisa data tersebut dengan menggunakan algoritma yang telah disediakan. Untuk memperlihatkan apa yang dapat dilakukan decision tree learner pada data tersebut, kita dapat menggunakan algoritma j4.8, yang merupakan implementasi Weka untuk decision tree learner. Kita dapat mengetik:

java weka.classifiers.j48.J48 -t weather.arff
Pada command line. Atau menggunakan Graphical User Interface yang tersedia.

Berikut output yang kita dapatkan:
J48 pruned tree
outlook = sunny
humidity <= 75: yes (2.0)
humidity > 75: no (3.0)
outlook = overcast: yes (4.0)
outlook = rainy
windy = TRUE: no (2.0)
windy = FALSE: yes (3.0)
Number of Leaves : 5
Size of the tree : 8

=== Error on training data ===
Correctly Classified Instances 14 100 %
Incorrectly Classified Instances 0 0 %
Mean absolute error 0
Root mean squared error 0
Total Number of Instances 14

=== Confusion Matrix ===
a b <-- as="" classified="" o:p="">
9 0 | a = yes
0 5 | b = no

=== Stratified cross-validation ===
Correctly Classified Instances 9 64.2857 %
Incorrectly Classified Instances 5 35.7143 %
Mean absolute error 0.3036
Root mean squared error 0.4813
Total Number of Instances 14

=== Confusion Matrix ===
a b <-- as="" classified="" o:p="">
7 2 | a = yes
3 2 | b = no

Bagian pertama adalah decision tree dalam bentuk teks. Seperti dapat kita lihat, percabangan pertama adalah dalam atribut outlook, dan kemudian pada level selanjutnya, percabangan terjadi masing-masing pada humidity dan windy. Dalam struktur pohon, titik dua merepresentasikan label kelas yang telah diberikan ke leaf tertentu, diikuti dengan nomor yang merepresentasikan jumlah instans yang memenuhi persyaratan tersebut. 

Dibawah struktur pohon, jumlah leaf dicetak, kemudian total jumlah simpul dalam pohon (size of the tree).
Bagian kedua output memperlihatkan kesalahan yang terjadi dalam data trining. Dalam kasus ini, semua 14 data telah diklasifikasi dengan benar, dan tak satupun yang dibiarkan tak terklasifikasi. Suatu instans bisa tidak diklasifikasi jika skema pembelajaran menahan pemberian suatu kelas label ke instans tersebut.

Kesimpulan dari data training dapat dilihat pada confusion
matrix, yang memperlihatkan berapa banyak instans dari tiap kelas telah diassign ke tiap kelas. Dalam kasus ini, hanya elemen diagonal dari matriks yang non-zero karena semua instans telah diklasifikasikan secara benar. 

Bagian terakhir dari output memperlihatkan hasil yang didapat dari stratified ten-fold cross-validation. Modul evaluasi secara otomatis melakukan ten-fold cross-validation jika tidak diberikan file test. Seperti dapat kita lihat, lebih dari 30% instans (5 dari 14) telah diklasifikasikan secara salah dalam validasi silang. Hal ini mengindikasikan bahwa hasil yang didapatakan dari training data dangat optimistik dibandingkan dengan apa yang mungkin didapat dari himpunan tes yang independen dari source yang sama. Dari confusion matrix kita dapat melihat bahwa 2 instans kelas yes telah dikelompokkan ke kelas no, dan tiga kelas no diassign ke kelas yes.
 

Kumpulan Artikel News Copyright © 2011-2012 | Powered by Blogger