Kamis, 01 Desember 2011

Ne Kampoes Gua YanG pEnuH iNspirasi N mAsa dEpaN

Informasi STMIK

Sejarah Yayasan Pendidikan Pelita Nusantara

Pada tahun 1995, diawali dengan pendirian sebuah lembaga kursus komputer Terra Computer System Kediri yang berlokasi di kota Kediri. Karena kegigihan dalam membuka dan menciptakan peluang pasar serta ketahanannya dalam menghadapi berbagai rintangan Terra Computer System Kediri berhasil tumbuh dan berkembang. Disamping itu, karena mutu dan kualitas pendidikannya masyarakat mempercayakan kepada Terra Computer System Kediri dalam hal pendidikan serta pelatihan komputer.

Bermula dari itulah, Bapak Sugiyanto Sutikno selaku Direktur Terra Computer System Kediri sekaligus pendiri Yayasan Pendidikan Pelita Nusantara mempunyai keinginan lebih meningkatkan dan mengembangkan Lembaga tersebut. Maka pada tanggal 05 Pebruari 2000 didirikan Yayasan Pendidikan Pelita Nusantara yang mana diharapkan dengan adanya Yayasan Pendidikan Pelita Nusantara akan lebih terarah dalam mengembangkan lembaga tersebut.

Yayasan Pendidikan Pelita Nusantara disahkan oleh Notaris Paulus Bingadiputra, S.H. notaris kabupaten Kediri. Dengan akta nomor 08 tanggal 05 Pebruari 2000, akta perubahan terakhir nomor 85 tanggal 28 Agustus 2000.
Pengurus
No Jabatan Nama Pengurus
1 Ketua Sugiyanto Sutikno
2 Sekretaris Cahyono Yanto Sutikno
3 Bendahara Surja Sutikno


BPH Yayasan Pendidikan Pelita Nusantara
No Jabatan Nama Pengurus
1 Ketua Drs. Bambang Sumarsono, M.M
2 Sekretaris dr. Ekawati Sutikno
3 Anggota Cahyono Yanto Sutikno
Jie Mei Chun

Sekolah Tinggi Manajemen Informatika dan Komputer KADIRI

Dalam upaya meningkatkan dan mengembangkan lembaga pendidikan yang ada di bawah naungan Yayasan Pendidikan Pelita Nusantara maka mulai tahun 2000 Pengurus Yayasan membentuk Panitia usulan pendirian Sekolah Tinggi Manajemen Informatika (STMIK) Kadiri.

Adapun landasan filosofis didirikannya STMIK KADIRI adalah upaya membangun manusia dengan meningkatkan kesejahteraan umum dan mencerdaskan kehidupan bangsa Indonesia.

Pendirian STMIK KADIRI diharapkan akan memberikan sumbangan kepada pengembangan teknologi di Indonesia serta menyelesaikan masalah-masalah teknologi yang ada.

Berdasarkan SK Mendikbud No. 64/D/0/2001 tanggal 5 Juli 2001 Yayasan Pendidikan Pelita Nusantara diperkenankan menyelenggarakan Sekolah Tinggi Manajemen Informatika Dan Komputer Kadiri. STMIK Kadiri berada di lokasi Balowerti II No. 26 30 Kediri.

Dengan berdirinya STMIK KADIRI juga mendapat sambutan yang sangat menggembirakan dari masyarakat terutama masyarakat Kediri dan Sekitarnya. Hal ini dibuktikan dari tahun ketahun mahasiswa baru yang diperoleh STMIK KADIRI selalu meningkat.

STMIK KADIRI membuka dua program studi yaitu Strata Satu Sistem Informasi dan Diploma Tiga Manajemen informatika.

Rabu, 26 Oktober 2011

Proposal Proyek Perangkat Lunak “Sistem Gudang On-Line

(Contoh) Proposal Proyek Perangkat Lunak “Sistem Gudang On-Line”
A. LATAR BELAKANG
PT. Rahayu Scaffoldings merupakan sebuah perusahaan yang bergerak dalam persewaan peralatan tangga-tangga besi (scaffolding) untuk mendukung pembangunan, perbaikan maupun renovasi rumah-rumah dan gedung-gedung. Setidaknya ada 18 jenis item barang yang direntalkan oleh PT. Rahayu Scaffoldings, seperti pipe support (TS-70, TS-90), main frame (t-190, t-170), stair, cat walk, jack base (t-60, t-40), U-Head (t-60, t-40), cross brace (p-200, p-193), join pin, leader frame (90, 60), swimple clamp, horry beam dan pipe 6 meter. Mengingat banyaknya item yang harus dikelola oleh bagian gudang (inventory), berkaitan dengan keluar-masuknya barang akibat transaksi peminjaman, pengembalian, penambahan item baru, pengurangan barang akibat rusak maupun hilang, maka perlu kiranya dibuat sistem kontrol barang “on-line” sehingga kondisi terbaru (terakhir) mulai dari jumlah barang tersisa, jumlah barang tersewa, jumlah barang rusak maupun tambahan barang baru bisa diketahui secara cepat dan akurat.
B. PERMASALAHAN
PT. Rahayu Scaffolding sebenarnya telah memiliki sistem inventory yang belum on-line. Namun seiring dengan perkembangan bisnisnya yang kian maju, menyebabkan volume transaksi bisnisnya kian meningkat, sehingga pihak pemilik (owner) memandang perlu untuk mengubah sistem inventory yang ada menjadi sistem yang bersifat “on-line” dengan kemampuan sebagai berikut :
• Mendapatkan laporan (report) yang dikehendaki secara on-line
• Menampilkan inventaris barang-barang secara on-line
• Menampilkan deskripsi barang-barang secara on-line
• File maintenance secara on-line.
C. TUJUAN
Proyek perangkat lunak “Sistem Gudang On-Line” ini dimaksudkan :
1. Menghasilkan perangkat lunak untuk aplikasi Sistem Gudang On-Line yang memiliki fitur-fitur standar seperti menambah barang, menghapus barang, menampilkan inventarisasi barang dan pembuatan laporan dan sebagainya.
2. Memudahkan pekerjaan administrator gudang, karena bisa mendapatkan informasi barang secara cepat dan akurat..
3. Memudahkan pekerjaan up-date barang, karena ada penambahan barang baru dan pengurangan barang akibat rusak maupun hilang.
D. RUANG LINGKUP
Mengingat kendala berbagai macam media penyimpanan (storage), kinerja (performance) dan waktu responnya (time response), master file barang yang sudah ada tidak akan digunakan dalam sistem on-line yang baru. Namun sistem lama tersebut masih dipakai dalam batch system. Sebagai gantinya, beberapa bagian file tersebut disimpan dalam File Pilihan Barang. Barang-barang yang terdapat dalam file ini akan dipilih dari master file barang dan biasanya sering diakses.

Gambar 1. Diagram Alir Sistem Gudang On-Line
Dalam sistem gudang on-line yang akan dibuat, pengguna dapat mengetahui informasi barang yang ada seperti persediaan barang tertentu, jumlah barang dipesan, tanggal dipesan dsb. Juga tersedia fasilitas untuk menambahkan barang baru maupun menghapus barang yang sudah tidak dikehendaki ke File Pilihan Barang. Kedua operasi terakhir dilakukan melalui Tabel Pilihan Barang yang menghubungkan item-item yang ada di File Pilihan Barang ke master dan mengontrol suatu perhitungan record terakhir. Suatu Laporan Inventory Barang bisa disajikan dalam sistem gudang on-line ini. Laporan ini bisa diminta melalui terminal operator. Laporan ini minimal terdiri dari header dan rincian yang. memuat daftar barang persediaan dan yang dipesan. Laporan Kontrol Pilihan juga bisa diberikan untuk membuat daftar semua perubahan pada File Pilihan Barang akibat transaksi bisnis yang terjadi. Laporan ini terdiri dari bagian rincian dan ringkasan. Bagian rincian berisi penambahan barang, penghapusan barang dan jumlah permintaan yang salah. Sedangkan bagian ringkasan berisi rekapitulasi jumlah barang yang ditambahkan maupun dihapus, laporan ukuran dan status terakhirnya.
E. METODOLOGI
Metodologi merupakan elemen yang paling mendasar dari suatu proses bisnis. Berikut ini adalah suatu metodologi untuk merealisasikan proyek perangkat lunak “Sistem Gudang On-Line” pada PT. Rahayu Scaffoldings, akan ditempuh langkah-langkah sebagai berikut :
1. Studi Kelayakan (feasibility study)
Mempelajari proses bisnis yang berlangsung di PT. Rahayu Scaffoldings, mengidentifikasi fungsi-fungsi bisnis yang diperlukan sehingga bisa disimpulkan kebutuhan aplikasi perangkat lunak secara pasti.
2. Desain Fungsi (Design Function)
Melakukan desain sistem secara detail, mulai dari Context Diagram (Use Case), Data Flow Diagram (DFD), ERD, desain file, desain tabel, relasi tabel dsb sehingga membentuk sistem lengkap sesuai dengan fungsi-fungsi bisnis yang dikehendaki.
3. Pemrograman (Programming)
Melakukan coding untuk merealisasikan desain fungsi yang telah dibuat. Jumlah baris coding ini turut menentukan besar-kecilnya harga perangkat lunak yang dibuat.
4. Pengujian (Testing)
Dilakukan untuk mengetahui apakah pekerjaan pemrograman telah dilakukan secara benar sehingga bisa menghasilkan fungsi-fungsi yang dikehendaki. Pengujian juga dimaksudkan untuk mengetahui keterbatasan dan kelemahan program aplikasi yang dibuat untuk sebisa mungkin dilakukan penyempurnaan.
5. Pelatihan (Training)
Sebelum diserahterimakan ke user, pihak developer proyek perangkat lunak bertanggung jawab melatih user atau operator PT. Rahayu Scaffoldings yang hendak mengoperasikan program aplikasi yang telah dibuat. Pihak pengembang juga berkewajiban memberikan informasi yang benar dan terbuka sehingga tidak menyulitkan para pengguna di kemudian hari.
6. Pemeliharan (Maintenance)
Proyek perangkat lunak tidak bisa selesai begitu saja setelah diserahterimakan, tetapi masih berlanjut hingga tenggat waktu yang cukup untuk memastikan bahwa produk perangkat lunak yang telah diserahkan tersebut bisa beroperasi dengan baik dan tidak ada kendala yang berarti.
7. Dokumentasi (Dokumentation)
Dalam sebuah proyek bisa terdiri dari beberapa dokumen. Dokumen dibuat untuk melihat kemajuan proyek yang sedang dikembangkan, sebagai referensi untuk troubleshooting bila terjadi kendala, sebagai pedoman operasional dsb.
F. JADWAL PROYEK
Untuk merealisasikan pekerjaan proyek perangkat lunak “Sistem Gudang On-Line” kurang lebih memerlukan waktu 3 bulan dengan pengaturan wakturti berikut ini :

Catatan :
• Pada setiap awal kegiatan, jadwal yang lebih rinci akan didiskusikan di antara para anggota tim.
• Pada setiap akhir kegiatan, laporan kemajuan akan disiapkan oleh pimpinan tim untuk memberikan gambaran tentang status proyek kepada pihak-pihak yang berkepentingan

G. SUMBER DAYA MANUSIA
Untuk melaksanakan proyek perangkat lunak “Sistem Gudang On-Line” disiapkan SDM 4 orang dengan peran rangkap seperti dalam tabel di bawah ini.

Biaya untuk implementasi “Sistem Gudang On-Line” diperkirakan sebagai berikut:
No Kegiatan Jumlah (Rp)
1 Studi Kelayakan 300.000
2 Desain Fungsi 750.000
3 Pemrograman 2000.000
4 Pengujian 250.000
5 Pelatihan 500.000
6 Pemeliharaan 600.000
7 Dokumentasi (50 hal) 100.000
Jumlah Total 4.500.000

SISTEM PAKAR

SISTEM PAKAR
A. Pendahuluan
Ketika hendak membuat suatu keputusan yang komplek atau memecahkan masalah, seringkali kita meminta nasehat atau berkonsultasi dengan seorang pakar atau ahli. Seorang pakar adalah seseorang yang mempunyai pengetahuan dan pengalaman spesifik dalam suatu bidang; misalnya pakar komputer, pakar uji tak merusak, pakar politik dan lain-lain. Semakin tidak terstruktur situasinya, semakin mengkhusus (dan mahal) konsultasi yang dibutuhkan.

Sistem Pakar (Expert System) adalah usaha untuk menirukan seorang pakar. Biasanya Sistem Pakar berupa perangkat lunak pengambil keputusan yang mampu mencapai tingkat performa yang sebanding seorang pakar dalam bidang problem yang khusus dan sempit. Ide dasarnya adalah: kepakaran ditransfer dari seorang pakar (atau sumber kepakaran yang lain) ke komputer, pengetahuan yang ada disimpan dalam komputer, dan pengguna dapat berkonsultasi pada komputer itu untuk suatu nasehat, lalu komputer dapat mengambil inferensi (menyimpulkan, mendeduksi, dll.) seperti layaknya seorang pakar, kemudian menjelaskannya ke pengguna tersebut, bila perlu dengan alasan-alasannya. Sistem Pakar malahan terkadang lebih baik unjuk kerjanya daripada seorang pakar manusia!

Kepakaran (expertise) adalah pengetahuan yang ekstensif (meluas) dan spesifik yang diperoleh melalui rangkaian pelatihan, membaca, dan pengalaman. Pengetahuan membuat pakar dapat mengambil keputusan secara lebih baik dan lebih cepat daripada non-pakar dalam memecahkan problem yang kompleks. Kepakaran mempunyai sifat berjenjang, pakar top memiliki pengetahuan lebih banyak daripada pakar yunior.
Tujuan Sistem Pakar adalah untuk mentransfer kepakaran dari seorang pakar ke komputer, kemudian ke orang lain (yang bukan pakar). Proses ini tercakup dalam rekayasa pengetahuan (knowledge engineering) yang akan dibahas kemudian.
B. Manfaat dan Keterbatasan Sistem Pakar
1. Manfaat Sistem Pakar
Mengapa Sistem Pakar menjadi sangat populer? Hal ini disebabkan oleh sangat banyaknya kemampuan dan manfaat yang diberikan oleh Sistem Pakar, di antaranya:

Diktat Mata Kuliah Kecerdasan Buatan Ir. Balza Achmad, M.Sc.E. 8
a. Meningkatkan output dan produktivitas, karena Sistem Pakar dapat bekerja lebih cepat dari manusia.
b. Meningkatkan kualitas, dengan memberi nasehat yang konsisten dan mengurangi kesalahan.
c. Mampu menangkap kepakaran yang sangat terbatas.
d. Dapat beroperasi di lingkungan yang berbahaya.
e. Memudahkan akses ke pengetahuan.
f. Handal. Sistem Pakar tidak pernah menjadi bosan dan kelelahan atau sakit. Sistem Pakar juga secara konsisten melihat semua detil dan tidak akan melewatkan informasi yang relevan dan solusi yang potensial.
g. Meningkatkan kapabilitas sistem terkomputerisasi yang lain. Integrasi Sistem Pakar dengan sistem komputer lain membuat lebih efektif, dan mencakup lebih banyak aplikasi .
h. Mampu bekerja dengan informasi yang tidak lengkap atau tidak pasti. Berbeda dengan sistem komputer konvensional, Sistem Pakar dapat bekerja dengan inofrmasi yang tidak lengkap. Pengguna dapat merespon dengan: “tidak tahu” atau “tidak yakin” pada satu atau lebih pertanyaan selama konsultasi, dan Sistem Pakar tetap akan memberikan jawabannya.
i. Mampu menyediakan pelatihan. Pengguna pemula yang bekerja dengan Sistem Pakar akan menjadi lebih berpengalaman. Fasilitas penjelas dapat berfungsi sebagai guru.
j. Meningkatkan kemampuan problem solving, karena mengambil sumber pengetahuan dari banyak pakar.
k. Meniadakan kebutuhan perangkat yang mahal.
l. Fleksibel.

2. Keterbatasan Sistem Pakar
Metodologi Sistem Pakar yang ada tidak selalu mudah, sederhana dan efektif. Berikut adalah keterbatasan yang menghambat perkembangan Sistem Pakar:
a. Pengetahuan yang hendak diambil tidak selalu tersedia.
b. Kepakaran sangat sulit diekstrak dari manusia.
c. Pendekatan oleh setiap pakar untuk suatu situasi atau problem bisa berbeda-beda, meskipun sama-sama benar.
d. Adalah sangat sulit bagi seorang pakar untuk mengabstraksi atau menjelaskan langkah mereka dalam menangani masalah
e. Pengguna Sistem Pakar mempunyai batas kognitif alami, sehingga mungkin tidak bisa memanfaatkan sistem secara maksimal.
f. Sistem Pakar bekerja baik untuk suatu bidang yang sempit.
g. Banyak pakar yang tidak mempunyai jalan untuk mencek apakah kesimpulan mereka benar dan masuk akal.
h. Istilah dan jargon yang dipakai oleh pakar dalam mengekspresikan fakta seringkali terbatas dan tidak mudah dimengerti oleh orang lain.
i. Pengembangan Sistem Pakar seringkali membutuhkan perekayasa pengetahuan (knowledge engineer) yang langka dan mahal.
j. Kurangnya rasa percaya pengguna menghalangi pemakaian Sistem Pakar.
k. Transfer pengetahuan dapat bersifat subyektif dan bias.
C. Komponen Sistem Pakar
Secara umum, Sistem Pakar biasanya terdiri atas beberapa komponen yang masing-masing berhubungan seperti terlihat pada Gambar II-1.
Basis Pengetahuan, berisi pengetahuan yang dibutuhkan untuk memahami, memformulasi, dan memecahkan masalah. Basis pengetahuan tersusun atas 2 elemen dasar:
1. Fakta, misalnya: situasi, kondisi, dan kenyataan dari permasalahan yang ada, serta teori dalam bidang itu
2. Aturan, yang mengarahkan penggunaan pengetahuan untuk memecahkan masalah yang spesifik dalam bidang yang khusus
Mesin Inferensi (Inference Engine), merupakan otak dari Sistem Pakar. Juga dikenal sebagai penerjemah aturan (rule interpreter). Komponen ini berupa program komputer yang menyediakan suatu metodologi untuk memikirkan (reasoning) dan memformulasi kesimpulan. Kerja mesin inferensi meliputi:
1. Menentukan aturan mana akan dipakai
2. Menyajikan pertanyaan kepada pemakai, ketika diperlukan.
3. Menambahkan jawaban ke dalam memori Sistem Pakar.
4. Menyimpulkan fakta baru dari sebuah aturan
5. Menambahkan fakta tadi ke dalam memori.


Gambar II-1. Struktur skematis sebuah Sistem Pakar
Papan Tulis (Blackboard/Workplace), adalah memori/lokasi untuk bekerja dan menyimpan hasil sementara. Biasanya berupa sebuah basis data.
Antarmuka Pemakai (User Interface). Sistem Pakar mengatur komunikasi antara pengguna dan komputer. Komunikasi ini paling baik berupa bahasa alami, biasanya disajikan dalam bentuk tanya-jawab dan kadang ditampilkan dalam bentuk gambar/grafik. Antarmuka yang lebih canggih dilengkapi dengan percakapan (voice communication).
Subsistem Penjelasan (Explanation Facility). Kemampuan untuk menjejak (tracing) bagaimana suatu kesimpulan dapat diambil merupakan hal yang sangat penting untuk transfer pengetahuan dan pemecahan masalah. Komponen subsistem penjelasan harus dapat menyediakannya yang secara interaktif menjawab pertanyaan pengguna, misalnya:
1. “Mengapa pertanyaan tersebut anda tanyakan?”
2. “Seberapa yakin kesimpulan tersebut diambil?”
3. “Mengapa alternatif tersebut ditolak?”
4. “Apa yang akan dilakukan untuk mengambil suatu kesimpulan?”
5. “Fakta apalagi yang diperlukan untuk mengambil kesimpulan akhir?”
Sistem Penghalusan Pengetahuan (Knowledge Refining System). Seorang pakar mempunyai sistem penghalusan pengetahuan, artinya, mereka bisa menganalisa sendiri performa mereka, belajar dari pengalaman, serta meningkatkan pengetahuannya untuk konsultasi berikutnya. Pada Sistem Pakar, swa-evaluasi ini penting sehingga dapat menganalisa alasan keberhasilan atau kegagalan pengambilan kesimpulan, serta memperbaiki basis pengetahuannya.
D. Pembangunan Sebuah Sistem Pakar
Mengembangkan Sistem Pakar dapat dilakukan dengan 2 cara:
1. Membangun sendiri semua komponen di atas, atau
2. Memakai semua komponen yang sudah ada kecuali isi basis pengetahuan.
Yang kedua disebut sebagai membangun Sistem Pakar dengan shell, yakni semua komponen Sistem Pakar, kecuali basis pengetahuan, bersifat generik; sehingga dapat dipakai untuk bidang yang berlainan. Membangun Sistem Pakar dengan shell dapat dilakukan dengan lebih cepat dan lebih sedikit keterampilan memprogram, namun berkurang fleksibilitasnya karena harus mengikuti kemampuan dari shell tersebut. Salah satu shell Sistem Pakar yang populer dipakai adalah CLIPS (C Language Integrated Production System) yang dapat didownload dari internet.
1. Pemilihan Masalah
Pembuatan Sistem Pakar membutuhkan waktu dan biaya yang banyak. Untuk menghindari kegagalan yang memalukan dan kerugian yang besar, maka dibuat beberapa pedoman untuk menentukan apakah Sistem Pakar cocok untuk memecahkan suatu problem:
a. Biaya yang diperlukan untuk pembangunan Sistem Pakar ditentukan oleh kebutuhan untuk memperoleh solusi. Sehingga harus ada perhitungan yang realistis untuk cost and benefit.
b. Pakar manusia tidak mudah ditemui untuk semua situasi di mana dia dibutuhkan. Jika pakar pengetahuan tersebut terdapat di mana saja dan kapan saja, maka pembangunan Sistem Pakar menjadi kurang berharga.
c. Problem yang ada dapat diselesaikan dengan teknik penalaran simbolik, dan tidak membutuhkan kemampuan fisik.
d. Problem tersebut harus terstruktur dengan baik dan tidak membutuhkan terlalu banyak pengetahuan awam (common sense), yang terkenal sulit untuk diakuisisi dan dideskripsikan, dan lebih banyak berhubungan dengan bidang yang teknis.
e. Problem tersebut tidak mudah diselesaikan dengan metode komputasi yang lebih tradisionil. Jika ada penyelesaian algoritmis yang bagus untuk problem tersebut, maka kita tidak perlu memakai Sistem Pakar.

f. Ada pakar yang mampu memberikan penjelasan tentang kepakarannya serta mau bekerjasama. Adalah sangat penting bahwa pakar yang dihubungi benar-benar mempunyai kemauan kuat untuk ikut berpartisipasi serta tidak merasa pekerjaannya akan menjadi terancam.
g. Problem tersebut mempunyai sekup yang tepat. Biasanya merupakan problem yang membutuhkan kepakaran yang sangat khusus namun hanya membutuhkan seorang pakar untuk dapat menyelesaikannya dalam waktu yang relatif singkat (misalnya paling lama 1 jam).
2. Rekayasa Pengetahuan (Knowledge Engineering)
Proses dalam rekayasa pengetahuan meliputi (Gambar II-2):
a. Akuisisi pengetahuan, yaitu bagaimana memperoleh pengetahuan dari pakar atau sumber lain (sumber terdokumentasi, buku, sensor, file komputer, dll.).
b. Validasi pengetahuan, untuk menjaga kualitasnya misalnya dengan uji kasus.
c. Representasi pengetahuan, yaitu bagaimana mengorganisasi pengetahuan yang diperoleh, mengkodekan dan menyimpannya dalam suatu basis pengetahuan.
d. Penyimpulan pengetahuan, menggunakan mesin inferensi yang mengakses basis pengetahuan dan kemudian melakukan penyimpulan.
e. Transfer pengetahuan (penjelasan). Hasil inferensi berupa nasehat, rekomendasi, atau jawaban, kemudian dijelaskan ke pengguna oleh subsistem penjelas.

Gambar II-2. Proses dalam rekayasa pengetahuan
3. Partisipan Dalam Proses Pengembangan
Pakar, yaitu seseorang yang mempunyai pengetahuan, pengalaman, dan metode khusus, serta mampu menerapkannya untuk memecahkan masalah atau memberi nasehat. Pakar menyediakan pengetahuan tentang bagaimana nantinya Sistem Pakar bekerja.
Perekayasa pengetahuan (knowledge engineer), yang membantu pakar untuk menyusun area permasalahan dengan menerjemahkan dan mengintegrasikan jawaban pakar terhadap pertanyaan-pertanyaan dari klien, menarik analogi, serta memberikan contoh-contoh yang berlawanan, kemudian menyusun basis pengetahuan.
Pengguna, yang mungkin meliputi: seorang klien non-pakar yang sedang membutuhkan nasehat (Sistem Pakar sebagai konsultan atau advisor), seorang siswa yang sedang belajar (Sistem Pakar sebagai instruktur), seorang pembuat Sistem Pakar yang hendak meningkatkan basis pengetahuan (Sistem Pakar sebagai partner), seorang pakar (Sistem Pakar sebagai kolega atau asisten, yang dapat memberikan opini kedua).
Partisipan lain, dapat meliputi: pembangun sistem (system builder), tool builder, staf administrasi dsb.

4. Akuisisi Pengetahuan
Dalam proses akuisisi pengetahuan, seorang perekayasa pengetahuan menjembatani antara pakar dengan basis pengetahuan. Perekayasa pengetahuan mendapatkan pengetahuan dari pakar, mengolahnya bersama pakar tersebut, dan menaruhnya dalam basis pengetahuan, dengan format tertentu. Pengambilan pengetahuan dari pakar dapat dilakukan secara (Gambar II-3):
Manual, di mana perekayasa pengetahuan mendapatkan pengetahuan dari pakar (melalui wawancara) dan/atau sumber lain, kemudian mengkodekannya dalam basis pengetahuan. Proses ini biasanya berlangsung lambat, mahal, serta kadangkala tidak akurat.
Semi-otomatik, di mana terdapat peran komputer untuk: (1) mendukung pakar dengan mengijinkannya membangun basis pengetahuan tanpa (atau dengan sedikit) bantuan dari perekayasa pengetahuan, atau (2) membantu perekayasa pengetahuan sehingga kerjanya menjadi lebih efisien dan efektif.
Otomatik, di mana peran pakar, perekayasa pengetahuan, dan pembangun basis pengetahuan (system builder) digabung. Misalnya dapat dilakukan oleh seorang system analyst seperti pada metode induksi.


Gambar II-3. Metode akuisisi pengetahuan (a) manual (b) akuisisi terkendali-pakar (c) induksi
E. Representasi Pengetahuan
Setelah pengetahuan berhasil diakuisisi, mereka harus diorganisasi dan diatur dalam suatu konfigurasi dengan suatu format/representasi tertentu. Metode representasi pengetahuan yang populer adalah aturan produk dan bingkai.
1. Aturan Produk (Production Rules)
Di sini pengetahuan disajikan dalam aturan-aturan yang berbentuk pasangan keadaan-aksi (condition-action): “JIKA keadaan terpenuhi atau terjadi MAKA suatu aksi akan terjadi”. Sistem Pakar yang basis pengetahuannya melulu disajikan dalam bentuk aturan produk disebut sistem berbasis-aturan (rule-based system). Kondisi dapat terdiri atas banyak bagian, demikian pula dengan aksi. Urutan keduanya juga dapat dipertukarkan letaknya. Contohnya:
a. JIKA suhu berada di bawah 20ºC MAKA udara terasa dingin.
b. Udara terasa dingin JIKA suhu berada di bawah 20ºC.
c. JIKA suhu berada di bawah 20ºC ATAU suhu berada di antara 20-25ºC DAN angin bertiup cukup kencang MAKA udara terasa dingin.
d. Contoh dari MYCIN, Sistem Pakar untuk mendiagnosis dan merekomendasikan perlakuan yang tepat untuk infeksi darah tertentu:


IF the infection is pimary-bacteremia
AND the site of the culture is one of the sterile sites
AND the suspected portal of entry is the gastrointestinal tract
THEN there is suggestive evidence (0.7) that infection is bacteroid.
2. Bingkai (frame)
Bingkai adalah struktur data yang mengandung semua informasi/pengetahuan yang relevan dari suatu obyek. Pengetahuan ini diorganisasi dalam struktur hirarkis khusus yang memungkinkan pemrosesan pengetahuan. Bingkai merupakan aplikasi dari pemrograman berorientasi obyek dalam AI dan Sistem Pakar. Pengetahuan dalam bingkai dibagi-bagi ke dalam slot atau atribut yang dapat mendeskripsikan pengetahuan secara deklaratif ataupun prosedural. Contoh frame untuk menggambarkan sebuah mobil diberikan dalam Gambar II-4 berikut ini.

Gambar II-4. Bingkai pengetahuan untuk sebuah mobil
F. Bagaimana Sistem Pakar Melakukan Inferensi?
1. Sistem Perantaian Maju (Forward Chaining Systems)
Pada sistem perantaian maju, fakta-fakta dalam dalam sistem disimpan dalam memori kerja dan secara kontinyu diperbarui. Aturan dalam sistem merepresentasikan aksi-aksi yang harus diambil apabila terdapat suatu kondisi khusus pada item-item dalam memori kerja, sering disebut aturan kondisi-aksi. Kondisi biasanya berupa pola yang cocok dengan item yang ada di dalam memori kerja, sementara aksi biasanya berupa penambahan atau penghapusan item dalam memori kerja.
Aktivitas sistem dilakukan berdasarkan siklus mengenal-beraksi (recognise-act). Mula-mula, sistem mencari semua aturan yang kondisinya terdapat di memori kerja, kemudian memilih salah satunya dan menjalankan aksi yang bersesuaian dengan aturan tersebut. Pemilihan aturan yang akan dijalankan (fire) berdasarkan strategi tetap yang disebut strategi penyelesain konflik. Aksi tersebut menghasilkan memori kerja baru, dan siklus diulangi lagi sampai tidak ada aturan yang dapat dipicu (fire), atau goal (tujuan) yang dikehendaki sudah terpenuhi.
Sebagai contoh, lihat pada sekumpulan aturan sederhana berikut (Di sini kita memakai kata yang diawali huruf kapital untuk menyatakan suatu variabel. Pada sistem lain, mungkin dipakai cara lain, misalnya menggunakan awalan ? atau ^):

1. JIKA (mengajar X) DAN (mengoreksi_tugas X) MAKA TAMBAH (terlalu_banyak_bekerja X)
2. JIKA (bulan maret) MAKA TAMBAH (mengajar balza)
3. JIKA (bulan maret) MAKA TAMBAH (mengoreksi_tugas balza)
4. JIKA (terlalu_banyak_bekerja X) ATAU (kurang_tidur X) MAKA TAMBAH (mood_kurang_baik X)
5. JIKA (mood_kurang_baik X) MAKA HAPUS (bahagia X)
6. JIKA (mengajar X) MAKA HAPUS (meneliti X)
Kita asumsikan, pada awalnya kita mempunyai memori kerja yang berisi fakta berikut:
(bulan maret)
(bahagia balza)
(meneliti balza)
Sistem Pakar mula-mula akan memeriksa semua aturan yang ada untuk mengenali aturan manakah yang dapat memicu aksi, dalam hal ini aturan 2 dan 3. Sistem kemudian memilih
salah satu di antara kedua aturan tersebut dengan strategi penyelesaian konflik. Katakanlah aturan 2 yang terpilih, maka fakta (mengajar balza) akan ditambahkan ke dalam memori kerja. Keadaan memori kerja sekarang menjadi:
(mengajar balza)
(bulan maret)
(bahagia balza)
(meneliti balza)
Sekarang siklus dimulai lagi, dan kali ini aturan 3 dan 6 yang kondisinya terpenuhi. Katakanlah aturan 3 yang terpilih dan terpicu, maka fakta (mengoreksi_tugas balza) akan ditambahkan ke dalam memori kerja. Lantas pada siklus ketiga, aturan 1 terpicu, sehingga variabel X akan berisi (bound to) balza, dan fakta (terlalu_banyak_bekerja balza) ditambahkan, sehingga isi memori kerja menjadi:




(terlalu_banyak_bekerja balza)
(mengoreksi_tugas balza)
(mengajar balza)
(bulan maret)
(bahagia balza)
(meneliti balza)
Aturan 4 dan 6 dapat diterapkan. Misalkan aturan 4 yang terpicu, sehingga fakta (mood_kurang_baik balza) ditambahkan. Pada siklus berikutnya, aturan 5 terpilih dan dipicu, sehingga fakta (bahagia balza) dihapus dari memori kerja. Kemudian aturan 6 akan terpicu dan fakta (meneliti balza) dihapus pula dari memori kerja menjadi:
(mood_kurang_baik balza)
(terlalu_banyak_bekerja balza)
(mengoreksi_tugas balza)
(mengajar balza)
(bulan maret)
Urutan aturan yang dipicu bisa jadi sangat vital, terutama di mana aturan-aturan yang ada dapat mengakibatkan terhapusnya item dari memori kerja. Tinjau kasus berikut: andaikan terdapat tambahan aturan pada kumpulan aturan di atas, yaitu:
7. JIKA (bahagia X) MAKA TAMBAH (memberi_nilai_bagus X)
Jika aturan 7 ini terpicu sebelum (bahagia balza) dihapus dari memori, maka Sistem Pakar akan berkesimpulan bahwa saya akan memberi nilai bagus. Namun jika aturan 5 terpicu dahulu, maka aturan 7 tidak akan dijalankan (artinya saya tidak akan memberi nilai bagus).
2. Strategi penyelesaian konflik (conflict resolution strategy)
Strategi penyelesaian konflik dilakukan untuk memilih aturan yang akan diterapkan apabila terdapat lebih dari 1 aturan yang cocok dengan fakta yang terdapat dalam memori kerja. Di antaranya adalah:
a. No duplication. Jangan memicu sebuah aturan dua kali menggunakan fakta/data yang sama, agar tidak ada fakta yang ditambahkan ke memori kerja lebih dari sekali.
b. Recency. Pilih aturan yang menggunakan fakta yang paling baru dalam memori kerja. Hal ini akan membuat sistem dapat melakukan penalaran dengan mengikuti rantai tunggal ketimbang selalu menarik kesimpulan baru menggunakan fakta lama.
c. Specificity. Picu aturan dengan fakta prakondisi yang lebih spesifik (khusus) sebelum aturan yang mengunakan prakondisi lebih umum. Contohnya: jika kita mempunyai aturan “JIKA (burung X) MAKA TAMBAH (dapat_terbang X)” dan “JIKA (burung X) DAN (pinguin X) MAKA TAMBAH (dapat_berenang X)” serta fakta bahwa tweety adalah seekor pinguin, maka lebih baik memicu aturan kedua dan menarik kesimpulan bahwa tweety dapat berenang.
d. Operation priority. Pilih aturan dengan prioritas yang lebih tinggi. Misalnya ada fakta (bertemu kambing), (ternak kambing), (bertemu macan), dan (binatang_buas macan), serta dua aturan: “JIKA (bertemu X) DAN (ternak X) MAKA TAMBAH (memberi_makan X)” dan “JIKA (bertemu X) DAN (binatang_buas X) MAKA TAMBAH (melarikan_diri)”, maka kita akan memilih aturan kedua karena lebih tinggi prioritasnya.
3. Sistem Perantaian Balik (Backward Chaining Systems)
Sejauh ini kita telah melihat bagaimana sistem berbasis aturan dapat digunakan untuk menarik kesimpulan baru dari data yang ada, menambah kesimpulan ini ke dalam memori kerja. Pendekatan ini berguna ketika kita mengetahui semua fakta awalnya, namun tidak dapat menebak konklusi apa yang bisa diambil. Jika kita tahu kesimpulan apa yang seharusnya, atau mempunyai beberapa hipotesis yang spesifik, maka perantaian maju di atas menjadi tidak efisien. Sebagai contoh, jika kita ingin mengetahui apakah saya dalam keadaan mempunyai mood yang baik sekarang, kemungkinan kita akan berulangkali memicu aturan-aturan dan memperbarui memori kerja untuk mengambil kesimpulan apa yang terjadi pada bulan Maret, atau apa yang terjadi jika saya mengajar, yang sebenarnya perlu terlalu kita ambil pusing. Dalam hal ini yang diperlukan adalah bagaimana dapat menarik kesimpulan yang relevan dengan tujuan atau goal.
Hal ini dapat dikerjakan dengan perantaian balik dari pernyataan goal (atau hipotesis yang menarik bagi kita). Jika diberikan sebuah goal yang hendak dibuktikan, maka mula-mula sistem akan memeriksa apakah goal tersebut cocok dengan fakta-fakta awal yang dimiliki. Jika ya, maka goal terbukti atau terpenuhi. Jika tidak, maka sistem akan mencari aturan-aturan yang konklusinya (aksinya) cocok dengan goal. Salah satu aturan tersebut akan dipilih, dan sistem kemudian akan mencoba membuktikan fakta-fakta prakondisi aturan tersebut menggunakan prosedur yang sama, yaitu dengan menset prakondisi tersebut sebagai goal baru yang harus dibuktikan.
Perhatikan bahwa pada perantaian balik, sistem tidak perlu memperbarui memori kerja, namun perlu untuk mencatat goal-goal apa saja yang dibuktikan untuk membuktikan goal utama (hipotesis).
Secara prinsip, kita dapat menggunakan aturan-aturan yang sama untuk perantaian maju dan balik. Namun, dalam prakteknya, harus sedikit dimodifikasi. Pada perantaian balik, bagian MAKA dalam aturan biasanya tidak diekspresikan sebagai suatu aksi untuk dijalankan (misalnya TAMBAH atau HAPUS), tetapi suatu keadaan yang bernilai benar jika premisnya (bagian JIKA) bernilai benar. Jadi aturan-aturan di atas diubah menjadi:
1. JIKA (mengajar X) DAN (mengoreksi_tugas X) MAKA (terlalu_banyak_bekerja X)
2. JIKA (bulan maret) MAKA (mengajar balza)
3. JIKA (bulan maret) MAKA (mengoreksi_tugas balza)
4. JIKA (terlalu_banyak_bekerja X) ATAU (kurang_tidur X) MAKA (mood_kurang_baik X)
5. JIKA (mood_kurang_baik X) MAKA TIDAK BENAR (bahagia X)
dengan fakta awal:
(bulan maret)
(meneliti balza)
Misalkan kita hendak membuktikan apakah mood sedang kurang baik. Mula-mula kita periksa apakah goal cocok dengan fakta awal. Ternyata tidak ada fakta awal yang menyatakan demikian, sehingga langkah kedua yaitu mencari aturan mana yang mempunyai konklusi (mood_kurang_baik balza). Dalam hal ini aturan yang cocok adalah aturan 4 dengan variabel X diisi dengan (bound to) balza. Dengan demikian kita harus membuktikan bahwa prakondisi aturan ini, (terlalu_banyak_bekerja balza) atau (kurang_tidur balza), salah satunya adalah benar (karena memakai ATAU). Lalu diperiksa aturan mana yang dapat membuktikan bahwa adalah (terlalu_banyak_bekerja balza) benar, ternyata aturan 1, sehingga prakondisinya, (mengajar X) dan (mengoreksi_tugas X), dua-duanya adalah benar (karena memakai DAN). Ternyata menurut aturan 2 dan 3, keduanya bernilai bernilai benar jika (bulan maret) adalah benar. Karena ini sesuai dengan fakta awal, maka keduanya bernilai benar. Karena semua goal sudah terpenuhi maka goal utama (hipotesis) bahwa mood saya sedang kurang baik adalah benar (terpenuhi).
Untuk mencatat goal-goal yang harus dipenuhi/dibuktikan, dapat digunakan stack (tumpukan). Setiap kali ada aturan yang konklusinya cocok dengan goal yang sedang dibuktikan, maka fakta-fakta prakondisi dari aturan tersebut ditaruh (push) ke dalam stack sebagai goal baru. Dan setiap kali goal pada tumpukan teratas terpenuhi atau dapat dibuktikan, maka goal tersebut diambil (pop) dari tumpukan. Demikian seterusnya sampai tidak ada goal lagi di dalam stack, atau dengan kata lain goal utama (yang terdapat pada tumpukan terbawah) sudah terpenuhi.
4. Pemilihan Sistem Inferensi
Secara umum kita dapat memakai panduan berikut untuk menentukan apakah kita hendak memilih perantaian maju atau balik untuk Sistem Pakar yang kita bangun. Panduan tersebut tercantum dalam Tabel II-1 berikut ini.

Tabel II-1. Panduan untuk memilih sistem inferensi

5. Ketidakpastian dalam Aturan
Sejauh ini kita menggunakan nilai kebenaran tegas dalam fakta dan aturan yang dipakai, misalnya: jika terlalu banyak bekerja maka pasti mood kurang baik. Pada kenyataanya, seringkali kita tidak bisa membuat aturan yang absolut untuk mengambil kesimpulan secara pasti, misalnya: jika terlalu banyak bekerja maka kemungkinan besar mood kurang baik. Untuk itu, seringkali aturan yang dipakai memiliki nilai kepastian (certainty value). Contohnya: jika terlalu banyak bekerja maka pasti mood kurang baik (kepastian 0,75).
G. Contoh Aplikasi Sistem Pakar
1. Aplikasi Sederhana: Sistem Pakar Bengkel Mobil
Ini adalah contoh Sistem Pakar sederhana, yang bertujuan untuk mencari apa yang salah sehingga mesin mobil pelanggan yang tidak mau hidup, dengan memberikan gejala-gejala yang teramati. Anggap Sistem Pakar kita memiliki aturan-aturan berikut:
1. JIKA mesin_mendapatkan_bensin DAN starter_dapat_dihidupkan MAKA ada_masalah_dengan_pengapian
2. JIKA TIDAK BENAR starter_dapat_dihidupkan DAN TIDAK BENAR lampu_menyala MAKA ada_masalah_dengan_aki
3. JIKA TIDAK BENAR starter_dapat_dihidupkan DAN lampu_menyala MAKA ada_masalah_dengan_starter
4. JIKA ada_bensin_dalam_tangki_bahan_bakar MAKA mesin_mendapatkan_bensin
Terdapat 3 masalah yang mungkin, yaitu: ada_masalah_dengan_pengapian, ada_masalah_dengan_aki dan ada_masalah_dengan_starter. Dengan sistem terarah-tujuan (goal-driven), kita hendak membuktikan keberadaan setiap masalah tadi.
Pertama, Sistem Pakar berusaha untuk membuktikan kebenaran ada_masalah_dengan_pengapian. Di sini, aturan 1 dapat digunakan, sehingga Sistem Pakar akan menset goal baru untuk membuktikan apakah mesin_mendapatkan_bensin serta starter_dapat_dihidupkan. Untuk membuktikannya, aturan 4 dapat digunakan, dengan goal baru untuk membuktikan mesin_mendapatkan_bensin. Karena tidak ada aturan lain yang dapat digunakan menyimpulkannya, sedangkan sistem belum memperoleh solusinya, maka Sistem Pakar kemudian bertanya kepada pelanggan: “Apakah ada bensin dalam tangki bahan bakar?”. Sekarang, katakanlah jawaban klien adalah “Ya”, jawaban ini kemudian dicatat, sehingga klien tidak akan ditanyai lagi dengan pertanyaan yang sama.
Nah, karena sistem sekarang sudah dapat membuktikan bahwa mesin mendapatkan bensin, maka sistem sekarang berusaha mengetahui apakah starter_dapat_dihidupkan. Karena sistem belum tahu mengenai hal ini, sementara tidak ada aturan lagi yang dapat menyimpulkannya, maka Sistem Pakar bertanya lagi ke klien: “Apakah starter dapat dihidupkan?”. Misalkan jawabannya adalah “Tidak”, maka tidak ada lagi aturan yang dapat membuktikan ada_masalah_dengan_pengapian, sehingga Sistem Pakar berkesimpulan bahwa hal ini bukanlah solusi dari problem yang ada, dan kemudian melihat hipotesis berikutnya: ada_masalah_dengan_aki. Sudah diketahui (dibuktikan) bahwa mesin tidak dapat distarter, sehingga yang harus dibuktikan adalah bahwa lampu tidak menyala. Sistem Pakar kemudian bertanya: “Apakah lampu menyala?”. Misalkan jawabannya adalah “Tidak”, maka sudah terbukti bahwa ada masalah dengan aki.
Sistem ini mungkin berhenti sampai di sini, tetapi biasanya ada kemungkinan terdapat lebih dari satu solusi (misalnya terdapat lebih dari satu kerusakan), atau ada kemungkinan terdapat solusi lain yng lebih tepat, sehingga biasanya semua hipotesis diperiksa kebenarannya. Sistem Pakar ini kemudian mencoba membuktikan bahwa ada_masalah_dengan_starter, namun dari fakta yang sudah diperoleh, yaitu lampu tidak menyala, maka pembuktiannya menjadi gagal. Dengan demikian solusi yang diberikan oleh Sistem Pakar adalah ada masalah dengan aki.
Secara lengkap, interaksi antara Sistem Pakar dengan klien mungkin seperti ini:
System Pakar: Apakah ada bensin dalam tangki bahan bakar?
Klien: Ya
System Pakar: Apakah starter dapat dihidupkan?
Klien: Tidak
System Pakar: Apakah lampu menyala?
Klien: Tidak
System Pakar: Saya berkesimpulan bahwa ada masalah dengan aki
Fasilitas Penjelasan
Kebanyakan Sistem Pakar mempunyai fasilitas penjelasan yang mengijinkan klien untuk bertanya mengapa dia diberi suatu pertanyaan atau bagaimana dapat mencapai suatu kesimpulan. Pertanyaan dari klien tersebut dijawab dengan mengacu pada goal, aturan yang dipakai, dan data-data yang ada. Contoh pemakaian fasilitas penjelas dalam Sistem Pakar di atas dapat dilihat pada percakapan berikut:
System Pakar: Apakah ada bensin dalam tangki bahan bakar?
Klien: Ya
System Pakar: Apakah starter dapat dihidupkan?
Klien: Tidak
System Pakar: Apakah lampu menyala?
Klien: Mengapa?
System Pakar: Saya mencoba membuktikan bahwa ada masalah dengan aki. Sudah ditunjukkan adalah tidak benar starter dapat dihidupkan. Sehingga jika tidak benar bahwa lampu menyala, maka ada masalah dengan aki. Apakah lampu menyala?
Klien: Tidak
System Pakar: Saya berkesimpulan bahwa ada masalah dengan aki
Klien: Bagaimana bisa?
System Pakar: Hal ini sesuai dengan aturan no 2: JIKA TIDAK BENAR starter_dapat_dihidupkan DAN TIDAK BENAR lampu_menyala MAKA ada_masalah_dengan_aki bahwa tidak benar starter_dapat_dihidupkan sudah dijawab, bahwa tidak benar lampu_menyala sudah dijawab, sehingga dapat disimpulkan bahwa ada_masalah_dengan_aki.

Fasilitas penjelasan berhubungan dengan pencatatan aturan apa saja yang digunakan untuk mengambil kesimpulan, dan menggunakan catatan tersebut untuk menyusun penjelasan. Pembangkitan penjelasan sederhana seperti contoh di atas bukanlah persoalan yang sulit, namun pemahaman klien terhadap penjelasan tersebut tidaklah sama, sehingga seringkali klien tetap tidak mengerti maksudnya. Hal ini karena biasanya penjelasan hanya meliputi pengetahuan yang dangkal atau hanya permukaan saja sebagaimana tercantum dalam autran yang dipunyai, bukannya pengetahuan yang mendalam yang mendasari aturan tersebut. Dalam contoh di atas, Sistem Pakar hanya mengatakan bahwa hal ini sesuai dengan aturan no 2, tetapi tidak menjelaskan secara lebih detil mengenai aturan 2 tersebut. Mungkin klien perlu diberi pengertian bahwa lampu dan starter dua-duanya menggunakan aki untuk menyalakannya. Hal penting lain adalah ketika klien gagal mengerti atau menerima penjelasan yang diberikan, biasanya Sistem Pakar tidak dapat memberi penjelasan dengan cara lain (tidak begitu halnya dengan seorang pakar yang mampu menggunakan kalimat yang lain untuk mencoba menjelaskannya).
2. Eliza
Eliza adalah salah satu Sistem Pakar yang paling awal dikembangkan. Ini adalah program komputer terapis yang dibuat oleh Joseph Weizenbaum di MIT. Pengguna berkomunikasi dengannya sebagaimana sedang berkonsultasi dengan seorang terapis. Berikut ini adalah contoh percakapan antara Eliza dengan seorang klien:
Eliza: Hello. I am ELIZA. How can I help you?
Klien: My name is Balza.
Eliza: I have told you before, I do not care about names.
Klien: I don’t have any money. That’s my problem.
Eliza: Why do you say your problem?
Klien: Because you asked me.
Eliza: Do any other reasons not come to mind?
Klien: No.
Eliza: You are being a bit negative.
Klien: Why?
Eliza: Please go on.
Klien: OK. I am bankrupt.
Eliza: How long have you been bankrupt?
Klien: A year.
Eliza: Please go on.
Klien: So, what should I do?
Eliza: Does that question interest you?
Klien: Yes, how can I make big money?
Eliza: You are sure?
Klien: Of course I’m sure.
...
3. Parry
Parry adalah Sistem Pakar yang juga paling awal dikembangkan di Stanford University oleh seorang psikiater, Kenneth Colby, yang mensimulasikan seorang paranoid. Berikut ini contoh respon Parry terhadap pertanyaan seorang psikiater yang menginterviunya.
Psikiater: Why are you in the hospital?
Parry: I shouldn't be here.
Psikiater: Who brought you here?
Parry: The police.
Psikiater: What trouble did you have with the police?
Parry: Cops don't do their job.
Psikiater: What do they do instead?
Parry: Cops arrest the wrong people.
Psikiater: They arrest the right ones sometimes
Parry: The law should get those Italian crooks.
Psikiater: Are you Italian?
Parry: My background is British but I was born in this country.
Psikiater: Do you know any Italian crooks?
Parry: I try to avoid the underworld.
...

Top 10 Virus

Top 10 Virus,
Perkembangan virus lokal yang mulai melemah memang dirasakan mulai dari beberapa periode yang lalu. Pada Top-10 kali ini beberapa virus periode lalu masih bertengger di urutan 10 besar. Namun, ada juga varian-varian baru yang berhasil menaikan peringkat virusnya untuk menjadi urutan atas ataupun agar tetap mendominasi, contohnya seperti varian virus Rieysha, Microso, dan Kalong. Dan, ada juga beberapa virus baru yang berhasil masuk seperti Bungas.vbs dan Plolonk. Berikut daftar selengkapnya:

1. Rieysha varian
Salah satu pesan dari virus Rieysha-Prisa.

Satu lagi varian dari virus Rieysha, dikenal sebagai Rieysha-Prisa. Dibuat masih menggunakan Visual Basic, dan memiliki ukuran tubuh sebesar 34.304 bytes dalam kondisi di-pack menggunakan UPX. Icon virus ini menyerupai icon default sebuah file gambar pada Windows XP, seperti contohnya .JPG. Maka dari itu, ia akan membuat banyak sekali file duplikat untuk menipu user, hingga akan mengakibatkan free space harddisk Anda berkurang. Dengan tidak tersedianya free space yang cukup di harddisk, dapat mengakibatkan Windows tidak dapat running. User juga dapat mengetahui dengan cepat apakah komputernya terinfeksi oleh virus ini apa tidak dengan melihat status jam di pojok kanan bawah, karena biasanya virus ini akan menggantikan tulisan AM/PM menjadi rieysha.

2. Windx-Maxtrox
Tampilan wallpaper desktop setelah diubah oleh virus Windx-Maxtrox.

Virus yang dibuat dengan Visual Basic ini memiliki ukuran tubuh asli sekitar 77Kb, tanpa di-pack. Virus yang diduga kuat berasal dari daerah Sulawesi Utara ini memiliki kemampuan infeksi file executable. Tepatnya, ia akan menginfeksi program yang ada di direktori Program Files. Teknik infeksi yang cukup cerdik ia terapkan untuk menghindari pendeteksian engine heuristic dari antivirus. Ciri khas yang dapat dikenali pada komputer terinfeksi adalah berubahnya gambar wallpaper dari desktop menjadi gambar animasi, Maxtrox.

3. Bungas.vbs
Virus Bungas.vbs juga dapat aktif saat mengakses menu Properties drive yang terinfeksi.

Virus lokal jenis VBScript ini memiliki ukuran tubuh sebesar 7222 bytes. Ia hadir dalam kondisi beberapa string terenkripsi, tentunya untuk menyulitkan pendeteksian dan proses analisa. Menariknya, rutin decryptornya tidak diperlihatkan begitu saja pada source nya, tapi sedikit ia sembunyikan. Virus ini menyebar melalui flash disk, tentunya juga memanfaatkan autorun dari flashdisk. File autorun.inf ia rancang sedemikian rupa, jadi saat user mengakses drive flash disk atau melihat properties dari drive flash disk, virus ini akan aktif.

4. Buxto varian
Pesan dari virus Buxto.

Virus ini dibuat menggunakan Visual basic. Pada salah satu variannya, seperti contohnya Buxto.C, ia memiliki ukuran tubuh sebesar 266.240 bytes, tanpa di-pack. Icon virus ini menyerupai icon aplikasi browser Mozilla Firefox. Virus ini dikenal dapat membuat autorun di setiap drive yang ia temui untuk dapat menyebar. Dan satu hal, pesan yang disampaikan oleh virus ini cukup nyeleneh, seperti layaknya sebuah pesan iklan.

5. HelloBaby
File yang dibuat virus HelloBaby saat menyebar.
Saat menyebar, ia akan membuat file Desktop.ini dan autorun.inf dengan attribut hidden dan system. File tersebut akan disebarnya ke setiap drive yang ia temukan pada komputer terinfeksi. Ia juga akan berusaha untuk menyebarkan dirinya pada jaringan setempat dengan sebelumnya telah mematikan fasilitas firewall milik Windows. Pada komputer terinfeksi, akan terdapat beberapa file induk virus. Diantaranya, pada direktori System32, akan ada file dengan nama wmiprvse.exe dan mgrShell.exe, lalu file inti ini akan men-drop file lainnya dari dalam tubuhnya pada direktori Temp dengan nama ctfmon.exe dan pada direktori Windows dengan nama svchost.exe. Dan untuk mempercepat aksi penyebarannya, virus ini pun men-set registry NoDriveTypeAutoRun agar mendukung autorun pada floppy disk.

6. Virgear
Virgear menampilkan pesan pada caption Internet Explorer.

Ia hadir dengan icon yang mirip dengan file multimedia milik WinAmp. Varian B memiliki ukuran file 49.152 bytes, tanpa di-pack. Sementara itu, varian C yang kami temukan, memiliki ukuran file sebesar 19.968 bytes, dan di-pack menggunakan UPX. Seperti yang lalu, ia akan menggantikan seluruh file multimedia yang ia temukan seperti MP3, 3GP, AVI, WMV, ASF, MPG, MPEG, MP4, pada komputer korban dengan dirinya sendiri, dengan menggunakan nama yang hampir sama, hanya ditambahkan extension .EXE di akhirnya. Virus ini juga akan mengubah setingan di registry untuk mendukung kelangsungan hidupnya, seperti menyembunyikan Folder Options, mem-blok Regedit, System Restore, dan lainnya. Diketahui, Virgear juga mencoba untuk mem-blok antivirus dan virus lain. Untuk itu, rename (ubah nama) dari PCMAV-CLN.exe sebelum Anda menggunakannya, misalkan menjadi 123456.exe. Dan, pada komputer terinfeksi, ia akan menampilkan kalimat “++++ Makanya jangan handak buka BF ja, neh rasain oleh2 dari amang hacker ++++” pada caption Internet Explorer.

7. Plolonk
Plolonk mengubah wallpaper komputer terinfeksi.

Virus produksi lokal yang satu ini dibuat menggunakan Visual Basic, dengan ukuran sebesar 67.072 byte dengan kondisi di-packscramble. Di registry, ia menciptakan item run baru di HKLM, dengan nama service yang menunjuk pada salah satu file induknya yang ada di direktori Windows dengan nama dllhost.exe. Selain itu, pada direktori tersebut dapat ditemukan pula sebuah file gambar yang akan dijadikan wallpaper olehnya dengan nama Pl0Lonx.jpg. Jadi pada komputer terinfeksi, wallpaper desktop dari komputer tersebut akan ia ubah menjadi gambar bertemakan “Linux SuSE”. Selain itu, untuk dapat aktif otomatis, ia juga menempatkan dirinya pada folder StartUp dengan nama Empty.pif. yang kemungkinan besar menggunakan UPX yang di-

8. Autorunme
Virus Autorunme sembunyi pada folder Recycle Bin yang dibuatnya.

Virus yang bukan produksi programer lokal ini memiliki ukuran sebesar 26.835 bytes, dan diperkirakan di-pack menggunakan PECompact. Ia tidak memiliki icon, hanya menggunakan icon standar applications dari Windows. Saat menginfeksi, ia mencoba untuk menanamkan file induknya pada direktori C:\Windows\System dengan nama msvc32s.exe dan dengan attribut hidden dan system, serta membuat autorun baru di registry dengan nama “Windows msvc Control Centers”. Virus yang dapat menyebar melalui media penyimpan data seperti flash disk ini juga dapat menyebar melalui aplikasi Instant Messaging. Pada flash disk, ia akan membuat folder tiruan Recycle Bin yang berisi file dengan nama autorunme.exe, lalu mengarahkan autorun.inf untuk menjalankan file virus tersebut. Jadi, saat user mencolokan flash disk tersebut lalu mengakses drive yang dimaksud, virus tersebut akan aktif.

9. Microso varian
File virus Microso.

Virus ini hadir dengan 3 buah file, yakni MicroSoft.pif, MicroSoft.bat, dan MicroSoft.vbs. Ketiga file tersebut saling terkait. Namun, ada satu file yang merupakan induk dari ketiganya, yakni MicroSoft.pif. Pada salah satu variannya, ia memiliki ukuran file sebesar 18.432 bytes. Virus luar ini saat beraksi akan mengeluarkan beberapa file .DLL dari dalam tubuhnya yakni Jview.dll dan AcXtrnel.dll yang akan mencoba aktif dengan menginjeksikan pada explorer.exe atau dijalankan melalui Rundll32.exe.

10.Kalong.vbs varian
Potongan tubuh virus Kalong.vbs.E.

Virus jenis VBScript ini telah lumayan lama malang melintang. Variannya sudah mencapai Kalong.vbs.G. Perubahan yang dilakukan tiap varian tidak terlalu signifikan. Contohnya Kalong.vbs.E. Virus yang memiliki ukuran tubuh sebesar 5.908 bytes ini, dalam aksinya akan membuat file autorun.inf di setiap root drive yang ia temukan, tentunya untuk mempermudahnya dalam melakukan penyebaran. Selain file itu, Anda juga akan menemukan file dengan nama k4l0n62.sys.vbs, tentunya dengan attribut hidden. Pada komputer terinfeksi, ia pun akan menampakan kehadirannya pada caption Internet Explorer, dengan mengubahnya menjadi kata-kata cacian berbau pornografi.

Sabtu, 05 Juni 2010

Komunikasi Data dan Jaringan Komputer



Komunikasi Data dan Jaringan Komputer


A. Jaringan Komputer
Jaringan komputer adalah kumpulan komputer, printer dan peralatan lainnya yang terhubung dalam satu kesatuan. Setiap komputer printer atau peripheral yang terhubung dengan jaringan disebut node.
Secara umum jaringan komputer dibagi atas lima jenis, yaitu :
1. Local Area Network (LAN) , merupakan jaringan milik pribadi di dalam sebuah gedung atau kampus yang berukuran sampai beberapa kilometer.
2. Metropolitan Area Network (MAN) , pada dasarnya merupakan versi LAN yang berukuran lebih besar dan biasanya menggunakan teknologi yang sama dengan LAN. MAN dapat mencakup kantor-kantor perusahaan yang letaknya berdekatan atau juga sebuah kota.
3. Wide Area Network (WAN) , jangkauannya mecakup daerah geografis yang luas, seringkali mencakup sebuah negara bahkan benua. WAN terdiri dari kumpulan mesin-mesin yang bertujuan untuk menjalankan program-program (aplikasi) pemakai.
4. Internet , pada dasarnya internet merupakan kumpulan jaringan yang terinterkoneksi. Hal ini terjadi karena orang yang terhubung ke jaringan sering berharap untuk bisa berkomunikasi dengan orang lain yang terhubung jaringan lainnya. Untuk melakukan hal ini diperlukan sebuah mesin yang disebut gateway guna melakukan hubungan dan melaksanakan terjemahan yang diperlukan, baik perangkat keras maupun perangkat lunaknya.
5. Jaringan Tanpa Kabel , merupakan solusi terhadap komunikasi yang tidak bisa dilakukan dengan jaringan yang menggunakan kabel.

Topologi Jaringan Komputer
Topologi adalah suatu cara menghubungkan komputer yang satu dengan komputer lainnya sehingga membentuk jaringan. Cara yang saat ini banyak digunakan adalah bus, token-ring, dan star. Masing-masing topologi ini mempunyai ciri khas, dengan kelebihan dan kekurangannya sendiri.

1. Topologi Bus
Keuntungan
• Hemat kabel
• Layout kabel sederhana
• Mudah dikembangkan
Kerugian
• Deteksi dan isolasi kesalahan sangat kecil
• Kepadatan lalu lintas
• Bila salah satu client rusak, maka jaringan tidak bisa berfungsi.
• Diperlukan repeater untuk jarak jauh

2. Topologi Token Ring
Metode token-ring (sering disebut ring saja) adalah cara menghubungkan komputer sehingga berbentuk ring (lingkaran). Setiap simpul mempunyai tingkatan yang sama. Jaringan akan disebut sebagai loop, data dikirimkan kesetiap simpul dan setiap informasi yang diterima simpul diperiksa alamatnya apakah data itu untuknya atau bukan.
Keuntungan
• Hemat Kabel
Kerugian
• Peka kesalahan
• Pengembangan jaringan lebih kaku

3. Topologi Star
Kontrol terpusat, semua link harus melewati pusat yang menyalurkan data tersebut kesemua simpul atau client yang dipilihnya. Simpul pusat dinamakan stasiun primer atau server dan ainnya dinamakan stasiun sekunder atau client server. Setelah hubungan jaringan dimulai oleh server maka setiap client server sewaktu-waktu dapat menggunakan hubungan jaringan tersebut tanpa menunggu perintah dari server.
Keuntungan
• Paling fleksibel
• Pemasangan stasiun sangat mudah dan tidak mengganggu bagian jaringan lain
• Kontrol terpusat
• Kemudahan deteksi dan isolasi kesalahan/kerusakan
• Kemudahaan pengelolaan jaringan
Kerugian
• Boros kabel
• Perlu penanganan khusus
• Kontrol terpusat (HUB) jadi elemen kritis

B.Komunikasi Data
Komunikasi data adalah bagian dari telekomunikasi yang secara khusus berkenaan dengan transmisi atau pemindahan data dan informasi diantara komputer-komputer dan piranti-piranti yang lain dalam bentuk digital yang dikirimkan melalui media komunikasi data. Data berarti informasi yang disajikan oleh isyarat digital.

Komponen Komunikasi Data
1. Penghantar/pengirim, adalah piranti yang mengirimkan data
2. Penerima, adalah piranti yang menerima data
3. Data, adalah informasi yang akan dipindahkan
4. Media pengiriman, adalah media atau saluran yang digunakan untuk mengirimkan data
5. Protokol, adalah aturan-aturan yang berfungsi untuk menyelaraskan hubungan

Secara umum ada dua jenis komunikasi data, yaitu:

Melalui Infrastruktur Terestrial
Menggunakan media kabel dan nirkabel sebagai aksesnya. Membutuhkan biaya yang tinggi untuk membangun infrastruktur jenis ini. Beberapa layanan yang termasuk teresterial antara lain: Sambungan Data Langsung (SDL), Frame Relay, VPN MultiService dan Sambungan Komunikasi Data Paket (SKDP).
Melalui Satelit
Menggunakan satelit sebagai aksesnya. Biasanya wilayah yang dicakup akses satelit lebih luas dan mampu menjangkau lokasi yang tidak memungkinkan dibangunnya infrastruktur terestrial namun membutuhkan waktu yang lama untuk berlangsungnya proses komunikasi. Kelemahan lain dari komunikasi via satelit adalah adanya gangguan yang disebabkan oleh radiasi gelombang matahari (Sun Outage) dan yang paling parah terjadi setiap 11 tahun sekali.
Protokol adalah sebuah aturan yang mendefinisikan beberapa fungsi yang ada dalam sebuah jaringan komputer, misalnya mengirim pesan, data, informasi dan fungsi lain yang harus dipenuhi oleh sisi pengirim dan sisi penerima agar komunikasi dapat berlangsung dengan benar, walaupun sistem yang ada dalam jaringan tersebut berbeda sama sekali.
Standar protokol yang terkenal yaitu OSI (Open System Interconnecting) yang ditentukan oleh ISO (International Standart Organization).
Fungsi dari protokol adalah untuk menghubungkan sisi pengirim dan sisi penerima dalam berkomunikasi serta dalam bertukar informasi agar dapat berjalan dengan baik dan benar.
Terdiri atas 7 layer (lapisan) yang mendefinisikan fungsi. Untuk tiap layernya dapat terdiri atas sejumlah protocol yang berbeda, masing-masing menyediakan pelayanan yang sesuai dengan fungsi layer tersebut.
1. Application Layer:
2. Presentation Layer:
3. Session Layer:
4. Transport Layer:
5. Network Layer.
6. Data-link Layer.
7. Physical Layer

Sistem Basis Data I

Sistem Basis Data I
Silabus Sistem Basis Data I:
• Pengantar Sistem Basis Data
• Model-model basis data
• Normalisasi
• ERD
• Integritas dan Kemanan
• SQL
• SQL: DDL
• SQL: DML
• Pengenalan Project Basis Data
• Pembuatan Laporan Dari Basis Data
Definisi Data , Basis Data dan Informasi:
• Data
Fakta tentang sesuatu di dunia nyata yang direkam dan disimpan dalam media komputer
• Basis Data
Koleksi dari data-data yang terorganisasi sedemikian rupa sehingga data mudah disimpan dan dimanipulasi (diperbaharui, dicari, diolah dengan perhitungan-perhitungan tertentu, dan dihapus)
• Informasi
Data yang telah diolah sedemikian rupa sehingga memiliki makna tertentu bagi pengguna
Definisi Basis Data :
BASIS DATA
 Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah
 Kumpulan data yang salng berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundancy) yang tidak perlu, untuk memenuhi berbagai kebutuhan
 Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan tertentu

KOMPONEN BASIS DATA:
• DATA, DATA TERSIMPAN SECARA TERINTEGRASI DAN DIPAKAI SECARA BERSAMA-SAMA
• HARDWARE, PERANGKAT KERAS YANG DIGUNAKAN DALAM MENGELOLA SISTEM DATABASE
• SOFTWARE, PERANGKAT LUNAK PERANTARA ANTARA PEMAKAI DENGAN DATA FISIK. PERANGKAT LUNAK DAPAT BERUPA DATA BASE MANAGEMENT SYSTEM DAN BERBAGAI PROGRAM APLIKASI
• USER, SEBAGAI PEMAKAI SISTEM
DATA:
Ciri-ciri data didalam database :
• Data disimpan secara terintegrasi (integrated)
• Data dapat dipakai secara bersama-sama (shared)
Masing-masing bagian dari database dapat diakses oleh pemakai dalam waktu yang bersamaan, untuk aplikasi yang berbeda
USER :
• Pemakai database dibagi atas 3 klasifikasi, yaitu:
1. Database Administrator (DBA), yaitu:
• Orang/team yang bertugas mengelola sistem database secara keseluruhan
2. Programmer, yaitu:
• Orang/team yang bertugas membuat program aplikasi yang mengakses database, dengan menggunakan bahasa pemrograman, seperti Clipper, Delphi, VB, Oracle untuk berinteraksi dengan komputer
3. End-user, yaitu:
• Orang yang mengakses database melalui terminal, dengan menggunakan query-language atau program aplikasi yang dibuatkan oleh programmer.

Tujuan Pemanfaatan Basis Data (1):
1. Kecepatan dan Kemudahan (Speed):
Yakni agar pengguna basis data bisa:
- menyimpan data
- melakukan perubahan/manipulasi terhadap data
- menampilkan kembali data
dengan lebih cepat dan mudah dibandingkan dengan cara biasa (baik manual ataupun elektronis).
2. Efisiensi Ruang Penyimpanan (Space)
Dengan basis data kita mampu melakukan penekanan jumlah redundansi (pengulangan) data, baik dengan menerapkan sejumlah pengkodean atau dengan membuat relasi-relasi antara kelompok data yang saling berhubungan.
3. Keakuratan (Accuracy)
Agar data sesuai dengan aturan dan batasan tertentu dengan cara memanfaatkan pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan (constraint) tipe data, domain data, keunikan data dsb.
5. Kelengkapan (Completeness)
Agar data yang dikelola senantiasa lengkap baik relatif terhadap kebutuhan pemakai maupun terhadap waktu, dengan melakukan penambahan baris-baris data ataupun melakukan perubahan struktur pada basis data; yakni dengan menambahkan field pada tabel atau menambah tabel baru.
6. Keamanan (Security)
Agar data yang bersifat rahasia atau proses yang vital tidak jatuh ke orang / pengguna yang tidak berhak, yakni dengan penggunaan account (username dan password) serta menerapkan pembedaan hak akses setiap pengguna terhadap data yang bisa dibaca atau proses yang bisa dilakukan.

7. Kebersamaan (Sharability)
Agar data yang dikelola oleh sistem mendukung lingkungan multiuser (banyak pemakai), dengan menjaga / menghindari munculnya problem baru seperti inkonsistensi data (karena terjadi perubahan data yang dilakukan oleh beberapa user dalam waktu yang bersamaan) atau kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data).

KEUNTUNGAN PEMAKAIAN SISTEM BASIS DATA :
1. MENGURANGI REDUNDANSI
DATA YANG SAMA PADA BEBERAPA APLIKASI CUKUP DISIMPAN SEKALI SAJA.
2. MENGHINDARKAN INKONSISTENSI
KARENA REDUNDANSI BERKURANG, SEHINGGA UMUMNYA UPDATE HANYA SEKALI SAJA.
3. TERPELIHARANYA INTEGRITAS DATA
DATA TERSIMPAN SECARA AKURAT.
4. DATA DAPAT DIPAKAI BERSAMA-SAMA
DATA YANG SAMA DAPAT DIAKSES OLEH BEBERAPA USER PADA SAAT BERSAMAAN.
5. MEMUDAHKAN PENERAPAN STANDARISASI
MENYANGKUT KESERAGAMAN PENYAJIAN DATA.
6. JAMINAN SEKURITI
DATA HANYA DAPAT DIAKSES OLEH YANG BERHAK.
7. MENYEIMBANGKAN KEBUTUHAN
DAPAT DITENTUKAN PRIORITAS SUATU OPERASI, MISALNYA ANTARA UPDATE (MENGUBAH DATA) DENGAN RETRIEVAL (MENAMPILKAN DATA) DIDAHULUKAN UPDATE.

KERUGIAN PEMAKAIAN SISTEM BASIS DATA :
• MAHAL
– Diperlukan hardware tambahan
• CPU yang lebih besar
• Terminal yang lebih banyak
• Alat untuk komunikasi
– Biaya performance yang lebih besar
• Listrik
• Personil yang lebih tinggi klasifikasinya
• Biaya telekomunikasi yang antar lokasi / kota
• KOMPLEKS
• PROSEDUR BACKUP & RECOVERY SULIT

Istilah – istilah dasar
– Entitas
Sekumpulan obyek yang mempunyai karakteristik sama dan bisa dibedakan dari lainnya. Obyek dapat berupa barang, orang, tempat atau suatu kejadian
Missal : pegawai, mobil, nilai dsb
– Atribut
Deskripsi data yang bisa mengidentifikasikan entitas
Misal : entitas mobil adalah no. mobil, merk mobil,
warna mobil dsb.
– Field
Lokasi penyimpanan untuk salah satu elemen data
atribut
– Record
Kumpulan dari field yang berhubungan satu sama
lain
• Tabel
Kumpulan dari record yang menggambarkan himpunan Entitas
• Database
Kumpulan tabel yang digunakan oleh program aplikasi serta membentuk hubungan tertentu di antara record-record di file-file tersebut

Sejarah perkembangan ilmu ekonomi

Sejarah perkembangan ilmu ekonomi
Ekonomi adalah ilmu yang mempelajari perilaku manusia dalam memilih dan menciptakan kemakmuran. Inti masalah ekonomi adalah adanya ketidak-seimbangan antara kebutuhan manusia yang tidak terbatas dengan alat pemuas kebutuhan yang jumlahnya terbatas. Permasalahan itu kemudian menyebabkan timbulnya kelangkaan (Ingg: scarcity).
Kata “ekonomi” sendiri berasal dari kata Yunani, ο?κος (oikos) yang berarti “keluarga, rumah tangga” dan νόμος (nomos), atau “peraturan, aturan, hukum,” dan secara garis besar diartikan sebagai “aturan rumah tangga” atau “manajemen rumah tangga.” Sementara yang dimaksud dengan ahli ekonomi atau ekonom adalah orang menggunakan konsep ekonomi dan data dalam bekerja.
Secara umum, subyek dalam ekonomi dapat dibagi dengan beberapa cara, yang paling terkenal adalah mikroekonomi vs makroekonomi. Selain itu, subyek ekonomi juga bisa dibagi menjadi positif (deskriptif) vs normatif, mainstream vs heterodox, dan lainnya. Ekonomi juga difungsikan sebagai ilmu terapan dalam manajemen keluarga, bisnis, dan pemerintah. Teori ekonomi juga dapat digunakan dalam bidang-bidang selain bidang moneter, seperti misalnya penelitian perilaku kriminal, penelitian ilmiah, kematian, politik, kesehatan, pendidikan, keluarga dan lainnya. Hal ini dimungkinkan karena pada dasarnya ekonomi - seperti yang telah disebutkan di atas - adalah ilmu yang mempelajari pilihan manusia.
Ada sebuah peningkatan trend untuk mengaplikasikan ide dan metode ekonomi dalam konteks yang lebih luas. Fokus analisa ekonomi adalah “pembuatan keputusan” dalam berbagai bidang dimana orang dihadapkan pada pilihan-pilihan, misalnya bidang pendidikan, pernikahan, kesehatan, hukum, kriminal, perang, dan agama.
Gary Becker dari University of Chicago adalah seorang perintis trend ini. Dalam artikel-artikelnya, ia menerangkan bahwa, ekonomi seharusnya tidak ditegaskan melalui pokok persoalannya, tetapi sebaiknya ditegaskan sebagai pendekatan untuk menerangkan perilaku manusia. Pendapatnya ini terkadang digambarkan sebagai ekonomi imperialis oleh beberapa kritikus.
Banyak ahli ekonomi mainstream merasa bahwa kombinasi antara teori dengan data yang ada sudah cukup untuk membuat kita mengerti fenomena yang ada di dunia. Ilmu ekonomi akan mengalami perubahan besar dalam ide, konsep, dan metodenya; walaupun menurut pendapat kritikus, kadang-kadang perubahan tersebut malah merusak konsep yang benar, sehingga tidak sesuai dengan kenyataan yang ada. Hal ini menimbulkan pertanyaan “apa yang seharusnya dilakukan oleh para ahli ekonomi ?”.
“The traditional Chicago School, with its emphasis on economics being an empirical science aimed at explaining real-world phenomena, has insisted on the powerfulness of price theory as the tool of analysis. On the other hand, some economic theorists have formed the view that a consistent economic theory may be useful even if at present no real world economy bears out its prediction.”
Sejarah perkembangan ilmu ekonomi
Adam Smith sering disebut sebagai yang pertama mengembangkan ilmu ekonomi pada abad 18 sebagai satu cabang tersendiri dalam ilmu pengetahuan. Melalui karya besarnya Wealth of Nations, Smith mencoba mencari tahu sejarah perkembangan negara-negara di Eropa. Sebagai seorang ekonom, Smith tidak melupakan akar moralitasnya terutama yang tertuang dalam The Theory of Moral Sentiments. Perkembangan sejarah pemikiran ekonomi kemudian berlanjut dengan menghasilkan tokoh-tokoh seperti Alfred Marshall, J.M. Keynes, Karl Marx, hingga peraih hadiah Nobel bidang Ekonomi tahun 2006, Edmund Phelps.
Secara garis besar, perkembangan aliran pemikiran dalam ilmu ekonomi diawali oleh apa yang disebut sebagai aliran klasik. Aliran yang terutama dipelopori oleh Adam Smith ini menekankan adanya invisible hand dalam mengatur pembagian sumber daya, dan oleh karenanya peran pemerintah menjadi sangat dibatasi karena akan mengganggu proses ini. Konsep invisble hand ini kemudian direpresentasikan sebagai mekanisme pasar melalui harga sebagai instrumen utamanya.
Aliran klasik mengalami kegagalannya setelah terjadi Depresi Besar tahun 1930-an yang menunjukkan bahwa pasar tidak mampu bereaksi terhadap gejolak di pasar saham. Sebagai penanding aliran klasik, Keynes mengajukan teori dalam bukunya General Theory of Employment, Interest, and Money yang menyatakan bahwa pasar tidak selalu mampu menciptakan keseimbangan, oleh karenanya, intervensi pemerintah harus dilakukan agar distribusi sumber daya mencapai sasarannya. Dua aliran ini kemudian saling “bertarung” dalam dunia ilmu ekonomi dan menghasilkan banyak varian dari keduanya, seperti : new classical, neo klasik, new keynesian, monetarist, dan lain sebagainya.
Namun perkembangan dalam pemikiran ini juga berkembang ke arah lain, seperti teori pertentangan kelas dari Karl Marx dan Friedrich Engels, serta aliran institusional yang pertama dikembangkan oleh Thorstein Veblen, dkk., dan kemudian oleh peraih nobel Douglass C. North.
Metodologi
Sering disebut sebagai The queen of social sciences, ilmu ekonomi telah mengembangkan serangkaian metode kuantitatif untuk menganalisis fenomena ekonomi. Jan Tinbergen pada masa setelah Perang Dunia II merupakan salah satu pelopor utama ilmu ekonometri, yang mengkombinasikan matematika, statistik, dan teori ekonomi. Kubu lain dari metode kuantitatif dalam ilmu ekonomi adalah model General equilibrium (keseimbangan umum), yang menggunakan konsep aliran uang dalam masyarakat, dari satu agen ekonomi ke agen yang lain. Dua metode kuantitatif ini kemudian berkembang pesat hingga hampir semua makalah ekonomi sekarang menggunakan salah satu dari keduanya dalam analisisnya. Di lain pihak, metode kualitatif juga sama berkembangnya terutama didorong oleh keterbatasan metode kuantitatif dalam menjelaskan perilaku agen yang berubah-ubah.
Sejarah teori ekonomi
Sejarah Perkembangan Teori Ekonomi adalah suatu pemikiran kapitalisme yang terlebih dahulu harus dilacak melalui sejarah perkembangan pemikiran ekonomi dari era Yunani kuno sampai era sekarang.
Aristoteles adalah yang pertama kali memikirkan tentang transaksi ekonomi dan membedakan antara yang bersifat “natural” atau “unnatural”. Transaksi natural terkait dengan pemuasan kebutuhan dan pengumpulan kekayaan yang terbatasi jumlahnya oleh tujuan yang dikehendakinya. Transaksi un-natural bertujuan pada pengumpulan kekayaan yang secara potensial tak terbatas. Dia menjelaskan bahwa kekayaan un-natural tak berbatas karena dia menjadi akhir dari dirinya sendiri ketimbang sebagai sarana menuju akhir yang lain, yaitu pemenuhan kebutuhan. Contoh dari transaksi ini disebutkan adalah perdagangan moneter dan retail yang dia ejek sebagai “unnatural” dan bahkan tidak bermoral. Pandangannya ini kelak akan banyak dipuji oleh para penulis Kristen di Abad Pertengahan.
Aristotle juga membela kepemilikan pribadi yang menurutnya akan dapat memberi peluang seseorang untuk melakukan kebajikan dan memberikan derma dan cinta sesama yang merupakan bagian dari “jalan emas” dan “kehidupan yang baik ala Aristotles.
Chanakya (c. 350-275 BC) adalah tokoh berikutnya. Dia sering mendapat julukan sebagai Indian Machiavelli. Dia adalah professor ilmu politik pada Takshashila University dari India kuno dan kemudian menjadi Prime Minister dari kerajaan Mauryan yang dipimpin oleh Chandragupta Maurya. Dia menulis karya yang berjudul Arthashastra (Ilmu mendapatkan materi) yang dapat dianggap sebagai pendahulu dari Machiavelli’s The Prince.
Banyak masalah yang dibahas dalam karya itu masih relevan sampai sekarang, termasuk diskusi tentang bagaiamana konsep manajemen yang efisien dan solid, dan juga masalah etika di bidang ekonomi. Chanakya juga berfokus pada isu kesejahteraan seperti redistribusi kekayaan pada kaum papa dan etika kolektif yang dapat mengikat kebersamaan masyarakat.
Tokoh pemikir Islam juga memberikan sumbangsih pada pemahaman di bidang ekonomi. Ibnu Khaldun dari Tunis (1332-1406) menulis masalah teori ekonomi dan politik dalam karyanya Prolegomena, menunjukkan bagaimana kepadatan populasi adalah terkait dengan pembagian tenaga kerja yang dapat memacu pertumbuhan ekonomi yang sebaliknya mengakibatkan pada penambahan populasi dalam sebuah lingkaran. Dia juga memperkenalkan konsep yang biasa disebut dengan Khaldun-Laffer Curve (keterkaitan antara tingkat pajak dan pendapatan pajak dalam kurva berbentuk huruf U).
Perintis pemikiran barat di bidang ekonomi terkait dengan debat scholastic theological selama Middle Ages. Masalah yang penting adalah tentang penentuan harga barang. Penganut Katolik dan Protestan terlibat dalam perdebatan tentang apa itu yang disebut “harga yang adil” di dalam ekonomi pasar. Kaum skolastik Spanyol di abad 16 mengatakan bahwa harga yang adil tak lain adalah harga pasar umum dan mereka umumnya mendukung filsafat laissez faire.
Selanjutnya pada era Reformation pada 16th century, ide tentang perdagangan bebas muncul yang kemudian diadopsi secara hukum oleh Hugo de Groot atau Grotius. Kebijakan ekonomi di Europe selama akhir Middle Ages dan awal Renaissance adalah memberlakukan aktivitas ekonomi sebagai barang yang ditarik pajak untuk para bangsawan dan gereja.. Pertukaran ekonomi diatur dengan hukum feudal seperti hak untuk mengumpulkan pajak jalan begitu juga pengaturan asosiasi pekerja (guild) dan pengaturan religious dalam masalah penyewaan. Kebijakan ekonomi seperti itu didesain untuk mendorong perdagangan pada wilayah tertentu.
Karena pentingnya kedudukan sosial, aturan-aturan terkait kemewahan dijalankan, pengaturan pakaian dan perumahan meliputi gaya yang diperbolehkan, material yang digunakan dan frekuensi pembelian bagi masing-masing kelas yang berbeda.
Niccolò Machiavelli dalam karyanya The Prince adalah penulis pertama yang menyusun teori kebijakan ekonomi dalam bentuk nasehat. Dia melakukannya dengan menyatakan bahwa para bangsawan dan republik harus membatasi pengeluarannya, dan mencegah penjarahan oleh kaum yang punya maupun oleh kaum kebanyakan. Dengan cara itu, maka negara akan dilihat sebagai “murah hati” karena tidak menjadi beban berat bagi warganya. Selama masa Early Modern period, mercantilists hampir dapat merumuskan suatu teori ekonomi tersendiri. Perbedaan ini tercermin dari munculnya negara bangsa di kawasan Eropa Barat yang menekankan pada balance of payments. Tahap ini kerapkali disebut sebagai tahap paling awal dari perkembangan modern capitalism yang berlangsung pada periode antara abad 16th dan 18th, kerap disebut sebagai merchant capitalism dan mercantilism. Babakan ini terkait dengan geographic discoveries oleh merchant overseas traders, terutama dari England dan Low Countries; European colonization of the Americas; dan pertumbuhan yang cepat dari perdagangan luar negeri. Hal ini memunculkan kelas bourgeoisie dan menenggelamkan feudal system yang ada sebelumnya.
Mercantilism adalah sebuah sistem perdagangan untuk profit, meskipun produksi masih dikerjakan dengan non-capitalist production methods. Karl Polanyi berpendapat bahwa capitalism belum muncul sampai berdirinya free trade di Britain pada 1830s.Di bawah mercantilism, European merchants, diperkuat oleh sistem kontrol dari negara yang memberiikan subsidi dan memonopoli banyak sumberdaya yang akan menghasilkan banyak keuntungan dari jual-beli bermacam barang. Dibawah mercantilisme, Guilds menjadi dasar pengatur utama dari sistem ekonomi negara. Dalam kalimat Francis Bacon, tujuan dari mercantilisme adalah :
“the opening and well-balancing of trade; the cherishing of manufacturers; the banishing of idleness; the repressing of waste and excess by sumptuary laws; the improvement and husbanding of the soil; the regulation of prices…”
Diantara berbagai mercantilist theory salah satunya adalah bullionism, doktrin yang menekankan pada pentingnya akumulasi precious metals. Mercantilists berpendapat bahwa negara seharusnya mengekspor barang lebih banyak dibandingk