Minggu, 30 Desember 2012

Pengertian, Istilah dan Prinsip Dasar OOP


OOP atau Object Oriented Programming atau Pemrograman Berorientasi Objek adalah suatu metode pemrograman yang berorientasi kepada objek. Tujuan dari OOP diciptakan adalah untuk mempermudah pengembangan program dengan cara mengikuti model yang telah ada di kehidupan sehari-hari. Jadi setiap bagian dari suatu permasalahan adalah objek, dan objek itu sendiri merupakan gabungan dari beberapa objek yang lebih kecil lagi.

  • Istilah-Istilah OOP


1. Objek
Untuk mempermudah pemahaman, maka disini akan dijelaskan melalui analogi. Pada dasarnya semua benda yang adadi dunia nyata dapat dianggap sebagai objek. Misalnya rumah, mobil, sepeda, motor, gelas, komputer, meja, sepatu, dll. Setiap objek memiliki atribut sebagai status (state) dan tingkah laku sebagai behavior.

Dalam OOP, state disimpan pada variabel dan tingkah laku disimpan pada method. Dalam bahasa teoretis OOP, Objek berfungsi untuk membungkus data dan fungsi bersama menjadi satu unit dalam sebuah program komputer. Objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.

2. Class
Definisi class yaitu template untuk membuat objek. Class merupakan prototipe atau blue prints yang mendefinisikan variabel-variabel dan method-method secara umum. Objek merupakan hasil instansiasi dari suatu class. Proses pembentukan objek dari suatu kelas disebut sebagai instantiation. Objek disebut juga sebagai instances.

Dalam bahasa teoretis OOP, class merupakan kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object.

Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.


3. Attributes
Atribut adalah data yang membedakan antara objek satu dengan yang lainnya.
Dalam class, atribut sering disebut sebagai variabel. Atribut dibedakan menjadi dua jenis yaitu Instance Variable dan Class Variable.

Instance variable adalah atribut untuk tiap objek dari kelas yang sama. Tiap objek mempunyai dan menyimpan nilai atributnya sendiri. Jadi, tiap objek dari class yang sama bokeh mempunyai nilai yang sama atau berbeda.

Class Variable adalah atribut untuk semua objek yang dibuat dari class yang sama. Semua objek mempunyai nilai atribut yang sama. Jadi semua objek dari class yang sama mempunyai hanya satu nilai yang value nya sama.


4. Behavior
Behavior/tingkah laku adalah hal-hal yang bisa dilakukan oleh objek dari suatu class. Behavior dapat digunakan untuk mengubah nilai atribut suatu objek, menerima informasi dari objek lain, dan mengirim informasi ke objek lain untuk melakukan suatu tugas (task).
Dalam class, behavior disebut juga sebagai methods. Methods sendiri adalah serangkaian statements dalam suatu class yang menghandle suatu task tertentu. Cara objek berkomunikasi dengan objek yang lain adalah dengan menggunakan method.

5. Abstraksi
Abstraksi adalah kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

  • Prinsip dasar OOP 

dibagi menjadi 3, yaitu encapsulation (enkapsulasi/pembungkusan), inheritance(pewarisan), serta polymorphisme(polimorfisme/perbedaan bentuk).
Encapsulation adalah mekanisme pemrograman yang membungkus kode dan data yang dimanipulasi dan menjaganya supaya terhindar dari interferensi dan penggunaan yang tidak perlu. Salah satu caranya dengan membentuk objek. Sedangkan manfaat encapsulation adalah :

(1)Menyembunyikan implementasi detil sebuah class, dan menyediakan public method

(2)Memaksa pengguna untuk menggunakan method untuk mengakses data

(3)Membuat kode lebih terpelihara

Mengapa Harus Di Enkapsulasi?

Karena ada informasi yang harus disembunyikan. Artinya anggota dari suatu class bisa disembunyikan agar tidak bisa diakses dari luar.

Inheritance memungkinkan programer meletakkan member yang sama dalam satu class dan class-class lain dapat mewarisi member tersebut. Class yang mengandung member yang sama dari beberapa class lain dinamakan superclass atau parent class. Class yang mewarisi dinamakan subclass atau child class. Inheritance menghasilkan class hierarchy.

Keuntungan Pewarisan
Subclass menyediakan state/behaviour yang spesifik yang membedakan dengan superclass, sehingga memungkinkan programmer untuk menggunakan ulang source code dari superclass yang telah ada.
Programmer dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class (abstraksi), untuk mendefinisikan class dengan tingkah laku dan state secara umum.

Single & Multiple Inheritance

Bahasa C adalah contoh multiple inheritance. Suatu class diperbolehkan untuk mempunyai lebih dari satu superclass. Variabel dan method yang diwariskan merupakan kombinasi dari superclass-nya. Java adalah contoh single inheritance. Suatu class hanya boleh mempunyai satu superclass.

Multilevel Inheritance
Suatu subclass bisa menjadi superclass bagi class yang lain.

Polymorphisme artinya mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagai polymorphic, bila objek-objek itu mempunyai antar muka yang identik namun mempunyai perilaku-perilaku yang berbeda

Polimorfisme adalah kemampuan suatu obyek untuk mempunyai lebih dari satu bentuk. Polimorfisme tidak bergantung kepada pemanggilan subrutin. Metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesan tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

Selasa, 27 November 2012

Latihan Soal UTS Mata Kuliah Sistem Pakar I - Tech 2012


1. Sebutkan alasan-alsan mendasar mengapa sistem pakar dikembangkan untuk menggantikan seorang pakar !
*  Dapat menyediakan kepakaran setiap waktu dan diberbagai lokasi
*  Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan seorang pakar.
*  Seorang Pakar dapat pensiun atau pergi
* Seorang Pakar adalah mahal
* Kepakaran dibutuhkan  juga pada lingkungan yang tidak bersahabat (hostile environtment)

2. Apa kelebihan Sistem Pakar dibanding seorang Pakar?
-  Waktu kerja lebih flexibel
-  Bisa berada dimana saja
-  Dapat diganti
-  Tidak akan habis
-  Konsisten dalam performa dah lebih cepat
-  Biaya terjangkau

3. Bilamana seorang Pakar perlu digantikan dengan Sistem Pakar?
-  Bila seorang pakar tidak dapat melakukan pekerjaan nya di tempat tertentu seperti rawan bencana atau konflik, atau orang tersebut harus pensiun dari pekerjaannya.

4. Dalam kondisi apakah perlu dilakukan migrasi dari Sistem Konvensional ke Sistem Pakar?
-  Pada saat suatu kondisi Perusahaan yang menginginkan untuk maju, karena dengan masih adanya sistem konvensional maka perusahaan tidak akan berkembang. Karena sistem pakar ini mengikuti perkembangan dari suatu teknologi.

5. Apa tujuan dari Sistem Pakar dan Pemindahan Kepakaran?
-  Tujuan nya adalah pengalihan keahlian dari para ahli ke media elektronik seperti komputer yang kemudian dialihkan lagi pada orang yang bukan ahli atau user.
Dilihat dari Struktur, apa perbedaan dari Human Expert dan Expert Systems?
-  Human expert : menggunakan pengetahuan yang telah dipelajari baik memori jangka       panjang atau jangka pendek.
-  Expert system : menggunakan pengetahuan dari para ahli yang disimpan serta menggunakan memori berisi fakta – fakta yang ditemukan dalam suatu sesi.
6. Apa itu Knowledge Base dan peranannya dalam Sistem Pakar?
-  Adalah Bagian dari sistem pakar yang berisi domain pengetahuan.
-  Peranannya berisi pengetahuan yang dibutuhkan untuk memahami, merumuskan dan menyelesaikan masalah.

8. Apa yang sekiranya terjadi bila Sistem Pakar tidak memiliki Knowledge Base?
-  Maka sistem pakar dikatakan gagal, karena tidak memiliki pengetahuan untuk menyelesaikan masalah.

9. Apa itu Working Memory dan peranannya dalam Sistem Pakar?
-  Adalah bagian dari sistem pakar yang berisi fakta-fakta masalah yang ditemukan dalam suatu sesi
-  Peranannya berisi fakta-fakta tentang suatu masalah yang ditemukan dalam proses konsultasi

10. Jelaskan Inference Engine dan kaitannya dengan Sistem Pakar !
-  Adalah prosessor pada sistem pakar yang mencocokan fakta-fakta yang ada pada working memori dengan domain pengetahuan yang terdapat pada knowledge base, untuk menarik kesimpulan dari masalah yang dihadapi.
-  Kaitannya berdasarkan proses berpikir pada manusia dimodelkan dalam sistem pakar pada modul.

11. Sebutkan dan jelaskan STRUKTUR DETAIL SISTEM PAKAR !
- Development Environment : digunakan untuk memasukkan pengetahuan pakar ke dalam lingkungan sistem pakar.
- Consultation Environment : digunakan oleh pengguna yang bukan pakar guna memperoleh pengetahuan pakar.

12. Jelaskan Knowledge Acquisition !
- Adalah  pengumpulan  data-data  dari  seorang pakar ke dalam suatu sistem (program komputer).
- bahan  pengetahuan dapat diperoleh melalui buku, jurnal ilmiah, literatur,  seorang pakar, browsing internet, laporan dan lain-lain. Sumber  pengetahuan  dari  buku,  jurnal  ilmiah,  literatur,  seorang  pakar,  browsing internet, laporan dijadikan dokumentasi untuk dipelajari,  diolah  dan  dikumpulkan  dengan  terstruktur  menjadi  basis  pengetahuan (knowledge base).

13. Jelaskan Knowledge Engineering !
- Adalah proses pengembangan suatu sistem pakar

14. Jelaskan fase pengembangan sistem pakar !
- Assessment                                              
- Knowledge Aqcuisition
- Design
- Test
- Documentation
- Maintenance

15. Sebutkan dan jelaskan 3 pemain utama proyek Sistem Pakar !
- Domain Expert : seseorang dengan pengetahuan khusus atau keterampilan di daerah tertentu
- Knowledge engineer : orang yang mengembangkan suatu sistem pakar
- End-user : orang yang mengunakan produk, dalam hal ini produk adalah sistem pakar.

Rabu, 07 Maret 2012

Prediksi Perubahan Yang Paling Spektakuler 5 Tahun Mendatang

Perkembangan dunia IT adalah suatu hal yang paling ditunggu-tunggu. karena hampir setiap manusia di dunia sudah menggunakan teknologi yang terus berkembang. misalnya seperti software untuk membuat animasi/kartun, laptop, smartphone, dan internet. Tentunya kita sebagai manusia selalu mengharapkan sesuatu yang 'lebih' dalam segala hal. tidak terkecuali dalam IT, manusia pun terus menginginkan perubahan yang berarti buat mereka.

Menurut pendapat dan sejujurnya pengharapan saya, dalam 5 tahun mendatang dalam bidang IT  tidak ada lagi manusia atau orang - orang yang menderita gagap teknologi Informasi lagi. entah itu di kota besar atau di kota - kota kecil, sebagai contoh saja, kota sekecil Depok, Jawa Barat sudah berani meng-ikrar kan diri sebagai "Kota Cyber"


Kompleksitas Sistem Teknologi Informasi

Apakah anda familiar dengan kata kompleksitas?
Kompleksitas disebut juga sebagai keruwetan atau kerumitan. Kompleksitas Sistem Teknologi Informasi berarti kerumitan yang terjadi di dalam Sistem Teknologi Informasi.

Sistem adalah sekumpulan unsur yang saling berkaitan dalam melakukan kegiatan secara bersama untuk mencapai sebuah tujuan tertentu (Goal).

Teknologi Informasi adalah sesuatu yang membantu manusia dalam membuat, mengubah, menyimpan, mengkomunikasikan dan atau menyebarkan informasi.

Kerumitan yang sedang terjadi di dunia IT saat ini, susahnya koneksi internet di Indonesia. sampai saat ini, koneksi internet di Indonesia masih belum jelas kualitasnya. di luar negeri, kecepatan internet sudah memadai dengan teknologi 4G dan Wimax. tetapi di Indonesia, kualitasnya tidak menjamin. sampai sekarangpun, teknologi 4G dan Wimax belum masuk ke Indonesia. inilah salah satu penghambat perkembangan teknologi di negara kita. padahal, jika dilihat dari ilmu yang dipelajari, banyak warga negara Indonesia yang mempunyai potensi untuk berperan penting dalam perkembangan teknologi dan membawa nama baik negaranya.

Contoh lainnya, perkembangan alat elektronik, alat komunikasi, dan brand dari suatu produk. Hal ini telah membutakan masyarakat kita dimana kita diperbudak dengan adanya hal-hal tersebut. Kita selalu di tuntut untuk selalu mengikuti perkembangan yang ada, padahal disisi lain kita tidak memikirkan terlebih dahulu manfaat yang kita dapatkan dari hal itu. Ini merupakan suatu hal yang dapat menghancurkan kemajuan pola pikir masyarakat kita. contoh yang lebih spesifik, munculnya handphone cina, korea, bahkan buatan lokal yang fungsionalitasnya kurang maximum. Produk itu dibuat semata-mata hanya untuk trand, atau fashion. Hal ini sangat merugikan kita yang termakan dengan perkembangan yang bukan ke arah positif, dengan kata lain hanya menghambur-hamburkan uang saja.

Minggu, 26 Februari 2012

Impian 10 Tahun lagi

seorang dosen mengajukan pertanyaan kepada mahasiswa nya "apa yg akan anda lakukan dibidang IT dalam 10 tahun kedepan?"

apa yg akan kita jawab? think about it! it's worth!

IF you ask me, then saya akan menjawab saya akan menghapus semua gagap teknologi, buta teknologi diseluruh Indonesia. kenapa? tidak kah anda lihat keluar sana?begitu banyak orang yg memanfaatkan teknologi untuk kelancaran usaha nya dll, tapi tidak sesuai dengan kebutuhan nya. bilang saja seorang manajer sebuah perusahaan terkemuka di Indonesia membutuhkan sebuah NetBook untuk membuka E-Mail, mengetik menggunakan Ms. Office dan melakukan presentasi. alih - alih dia membeli sebuah NetBook yg notabene nya dengan harga terjangkau, tapi dia malah memilih sebuah tablet keluaran vendor dr USA. lalu, apa yang terjadi? ya dia bingung karena tidak familiar dengan sistem operasi yg digunakan dan user interface yg sangat canggih. Lalu?akhirnya si manajer itu dengan bijak membeli sebuah NetBook keluaran Indonesia.

Contoh diatas hanya salah satu dari beberapa kasus yg sering kita temui sehari - hari tentang gagap teknologi.
Untuk Buta Teknologi?coba kita lihat berita dan coba pikirkan masyarakat luas diluar Jabodetabek dan kota besar lain nya maka anda akan mendapatkan jawaban anda sendiri.

Inventarisasi Perspektif IT Dimata Berbagai Macam Orang

Dalam dunia Teknologi jaman sekarang ini Inventaris sangatlah mutlak untuk menjalankan
perspektif di dunia IT karena untuk menunjang kinerja bisnis,
baik bisnis dalam meningkatkan perekonomian kita.
karena setiap kita melakukan bisnis di bidang apa pun butuh iventarisasi untuk menunjang kerja kita.

Pertama - tama kita bahas dulu mengenai Inventarisasi. Inventarisasi adalah kegiatan melasanakan pengurusan,penyelenggaraan,pengaturan,pencatatan,dan pendaftaran barang/inventaris hak milik dan daftar inventaris/hak milik itu sendiri dimana suatu dokumen berharga yang menunjukan barang yang memiliki persyaratan yang berlaku dan memenuhi undang-undang/tata tertib yang berlaku. sedangkan Perspektif secara umum diartikan sebagai sudut pandang.dan memiliki ciri-ciri yaitu tidak dapat mengungkapkan realitas seluruhnya,semua persfektif dianggap benar dan mencerminkan realitas,tergantun pada tujuan dan kegunaan penelitian,mempunyai penekanan tertentu mengenai apa yang dianggap relevan atau penting.


Nah, Setelah mengetahui dan memahami pengertian Inventarisasi dan Perspektih diatas, mari kita coba membahas bagaimana sudut pandang nya di masyarakat luas.

Disini akan ada 3 contoh perspektif inventarisasi IT dari sudut pandang para professional yang pernah di ketahui.
               
Yang pertama adalah Nelayan. Bagi nelayan, khususnya nelayan modern di Jepang, yang sumber daya lautnya sangat dimaksimalkan oleh negara kepulauan tersebut. Inventarisasi IT yang dipakai oleh nelayan di Jepang adalah pemakaian sonar pendeteksi ikan untuk menangkap ikan di laut. Dengan adanya sonar tersebut, yang telah terintegrasi dengan suatu layar di kapalnya untuk memonitor dan mendeteksi letak ikan, pekerjaan nelayan tersebut akan lebih mudah dan efisien dalam menangkap ikan di lautan yang sangat luas. Di sisi lain, apabila sonar tersebut mengalami kerusakan, maka pekerjaan para nelayan modern di Jepang menjadi terhambat dan kemungkinan akan urung melaut akibat tidak ada sonar untuk membantu nelayan dalam mendeteksi letak ikan. Dalam hal ini, dapat kita lihat bahwa pekerjaan nelayan di Jepang sangat tergantung dari teknologi IT yang berupa sonar pendeteksi ikan.
             
 Lalu contoh yang kedua adalah akuntan. Tentunya IT sangat membantu akuntan dalam menyelesaikan pekerjaannya, bias kita lihat dewasa ini banyak sekali software akuntansi yang telah tersedia untuk menunjang efisiensi akuntan untuk menyelesaikan tugasnya. Dalam hal ini, inventarisasi IT berperan sebagai penunjang dan berguna lebih untuk membuat pekerjaan akuntan lebih efektif. Dapat dilihat, dunia IT juga mempengaruhi dunia akuntansi dalam bidang pendidikan, sekarang ini dapat kita lihat di perguruan tinggi negeri maupun swasta sudah terdapat jurusan yang memadukan antara akuntansi dengan IT, yaitu jurusan akuntansi computer. Daripada menggunakan cara konservatif dalam menyelesaikan pekerjaannya, akuntan jaman sekarang pasti lebih mengandalkan IT untuk menunjang pekerjaannya. Karena IT juga dapat meminimalisir terjadinya kesalahan akibat human error.
               
Dan contoh yang terakhir adalah inventarisasi IT dalam restoran cepat saji. Sekarang ini, memesan makanan kerumah dapat dilakukan dengan mudah. Kita tinggal menelepon restoran cepat saji yang dituju dan dalam waktu kurang dari satu jam, makanan yang kita pesan akan datang kerumah. Hal ini dapat terjadi, karena dalam pengorderan makanan tersebut, IT berperan dalam hal pengorganisasian pemesanan ke dalam database restoran cepat saji itu sehingga pesanan yang di order oleh para pelanggan dapat tepat dan tidak salah ketika melakukan pengorderan.

Okay, dari beberapa hal yang sudah kita bahas diatas, maka dapat dilihat, dinilai, dan disimpulkan bahwa inventarisasi yg perspektif dimata masyarakat berbeda - beda menyesuaikan, terutama, dengan jenis pekerjaaan mereka dan seberapa pentingkah IT itu mendukung dan menyokong kelangsungan hidup mereka.

terimakasih :)

42103015

Kukuh Adi Prayogo, RM