Minggu, 30 Oktober 2016

Pengantar Teknologi Sistem Cerdas

Pengertian Sistem cerdas
Kecerdasan buatan (Artificial Intelligent, AI) telah menjadi wacana umum yang sangat penting dan banyak dijumpai. Kecerdasan Buatan atau Sistem cerdas atau Intelegensi Buatan atau Artificial Inteligence merupakan cabang terpenting dalam dunia komputer. Komputer tidah hanya alat untuk menghitung, tetapi diharapkan dapat diberdayakan untuk mengerjakan segala sesuatu yang bias dikerjakan oleh manusia. Manusia mempunyai pengetahuan, pengalaman dan kemampuan penalaran dengan baik, agar komputer bisa bertindak seperti dan sebaik manusia, maka komputer juga harus dibekali pengetahuan dan mempunyai kemampuan untuk menalar.
Sejarah kecerdasan buatan
Di awal abad 20, seorang penemu Spanyol yang bernama Torres Y Quevedo, membuat sebuah mesin yang dapat mengskakmat raja laannya dengan sebuah raja dan ratu.
Perkembangan secara sistematis kemudian dimulai ditemukannya komputer digital.
* Pada tahun 1950-an Alan Turing seorang matematikawan dari Inggris. Pertama kali mengusulkan adanya tes untuk melihat bias tidaknya sebuah mesin dikatakan cerdas(dikenal dengan Turing Test) seolah-olah mesin mampu merespon terhadap serangkaian pertanyaan yang diajukan.
* Istilah kecerdasan buatan dimunculkan pertama kali pada tahun 1956 ketika John Mc Cathy dari Massachusets Institute of Technology (MIT) menciptakan bahasa pemrograman LISP
* Loghic Theorist (1956), diperkenalkan pada Dartmouth Conference, program ini dapat membuktikan teorema-teorema matematika.
* Mesin Neural Network pertama oleh Marvin Minsky (1958)
* Sad Sam, deprogram oleh Robert K. Lindsay (1960), program ini dapat mengetahui kalimat-kalimat sederhana yang ditulis dalam bahasa Inggris dan mampu memberikan jawaban dari fakta-fakta yang didengar dalam sebuah percakapn.
* Muncul logika samar (1965) yang merupakan pelaksanaan konsep samar di atas system komputer. Logika samar mengukur ketidaktepatan dengan cara yang tepat, seperti yang diperlukan mesin.
* ELIZA (1967), diprogram oleh Joseph Weizenbaum, yang mampu melakukan terapi terhadap pasien dengan memberikan beberapa pertanyaan.
* Program Microworld dengan penciptaan proyek SHRDLU (1968) merupakan Expert System yang pertama.
* Pada tahun 1972 bahasa Prolog dimunculkan.
* John Holland (1975) mengatakan bahwa setiap problem berbentuk adaptasi (alami maupun buatan) secara umum dapat diformulasikan dalam terminologi genetika (Algoritma Genetika) .
* Sistem catur AI mengalahkan manusia (Pecatur master) pada tahun 1991.
* Robotik, peranti mekanika yang diprogram untuk melakukan berbagai tugas.
Definisi Kecerdasan Buatan
Kecerdasan Buatan adalah ilmu rekayasa yang membuat suatu mesin mempunyai intelegensi tertentu khususnya program komputer yang “cerdas” (John Mc Cathy, 1956)
Kecerdasan buatan merupakan kawasan penelitian, aplikasi dan intruksi yang terkait dengan pemrograman computer untuk melakukan sesuatu hal – yang dalam pandangan manusia adalah – cerdas. (H.A Simon, 1987)
Kecerdasan merupakan bagian kemampuan komputasi untuk mencapai tujuan dalam dunia. Ada bermacam-macam jenis dan derajat kecerdasan untuk manusia, hewan dan mesin.
Kecerdasan buatan merupakan sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia. ( Rich and Knight, 1991)
Kecerdasan buatan (AI) merupakan cabang dari ilmu komputer yang dalam mempresentasi pengetahuan lebih banyak menggunakan bentuk symbol-simbol daripada bilangan, dan memproses informasi berdasarkan metode heuristic (Metode Heuristik adalah teknik yang dirancang untuk memecahkan masalah yang mengabaikan apakah solusi dapat dibuktikan benar, tapi yang biasanya menghasilkan solusi yang baik atau memecahkan masalah yang lebih sederhana yang mengandung atau memotong dengan pemecahan masalah yang lebih kompleks.) atau dengan berdasarkan sejumlah aturan.( Encyclopedia Britannica)
Kecerdasan adalah kemampuan untuk belajar atau mengerti dari pengalaman. Memahami pesan yang kontradiktif dan ambigu, menanggapi dengan cepat dan baik atas situasi yang baru, menggunakan penalaran dalam memecahkan masalah dan menyelesaikannya secara efektif (Winston dan Pendergast, 1994)
Al dapat dipandang dalam berbagai perspektif.
Dari perspektif kecerdasan
Ai adalah bagaimana membuat mesin yang “cerdas” dan dapat melakukan hal-hal yang sebelumnya dapat dilakukan oleh manusia.
Dari perspektif penelitian
Suatu studi bagaimana membuat agar komputer dapat melakukan sesuatu sebaik yang dikerjakan manusia.
Domain yang sering dibahas oleh peneliti meliputi:
a) Mundane task
· Persepsi (Vision & Speech)
· Bahasa alami (Understanding, Generation, Translation)
· Pemikiran yang bersifat commonsense
· Robot control
b) Formal task
· Permainan/games
· Matematika (geometri, logika, kalkulus, integral, pembuktian)
c) Expert task
· Analisis financial
· Analisis medikal
· Analisis ilmu pengetahuan
· Rekayasa (desain, pencarian kegagalan,perencanaan manufaktur )
Dari perspektif bisnis
Ai adalah sekelompok alat bantu (tools) yang berdaya guna, dan metodologi yang menggunakan tool-tool tersebut guna menyelesaikan masalah-masalah bisnis.
Dari perspektif pemrograman
Meliputi studi tentang pemrograman simbolik, penyelesaian masalah (problem solving) dan pencarian (searching).
Dua bagian utama yang sangat dibutuhkan untuk melakukan aplikasi kecerdasan buatan, yaitu :
a) Basis Pengetahuan (Knowledge base), berisi fakta-fakta, teori, pemikiran dan hubungan antara satu dan yang lainnya.
b) Motor inferensi (Inference engine), yaitu kemampuan menarik kesimpulan berdasarkan pengalaman.
Konsep kecerdasan buatan
TIRING TEST – METODE PENGUJIAN KECERDASAN
* Turing Test – Metode Pengujian Kecerdasan yang dibuat oleh Alan Turing.
* Proses uji ini melibatkan penanya (manusia) dan dua objek yang ditanyai. Yang satu adalah seorang manusia dan satunya adalah sebuah mesin yang akan diuji.
* Penanya tidak bisa melihat langsung kepada objek yang ditanya.
* Penanya diminta untuk membedakan mana jawaban computer dan mana jawaban manusia berdasarkan jawaban kedua objek tersebut.
* Jika penanya tidak dapat membedakan mana jawaban mesin dan mana jawaban manusia maka Turing berpendapat bahwa mesin yang diuji tersebut dapat diasumsikan “cerdas”.
PEMROSESAN SIMBOLIK
* komputer semula didesain untuk memproses bilangan/angka-angka.(pemrosesan numerik)
* Sementara manusia dalam berpikir dan menyelesaikan masalah lebih bersifat simbolik, tidak didasarkan pada sejumlah rumus atau melakukan komputasi matematis.
* Sifat penting dai AI adalah bahwa AI merupakan bagian dari ilmu komputer yang melakukan proses secara simbolik dan non algoritmik dalam penyelesaian masalah.
HEURISTIK
* Istilah Heuristic diambil dari bahasa yunani yang berarti menemukan.
* Heuristic merupakan suatu strategi untuk melakukan suatu pencarian (search) ruang problema secara selektif, yang memandu proses pencarian yang kita lakukan sepanjang jalur yang memiliki kemungkinan sukses paling besar.
PENARIKAN KESIMPULAN (INFERENCING)
* AI mencoba membuat mesin memiliki kemampuan berpikir atau mempertimbangkan (reasoning)
* Kemampuan berpikir (reasoning) termasuk didalamnya proses penarikan kesimpulan (inferencing) berdasarkan fakta-fakta dan aturan dengan menggunakan metode heuristic atau metode pencarian lainnya.
PENCOCOKAN POLA (PATTERN MATCHING)
AI bekerja dengan metode pencocokan pola (pattern matching) yang berusaha untuk menjelaskan objek kejadian (events) atau proses dalam hubungan logik atau komputasional.
Tujuan Kecerdasan Buatan
* Membuat computer lebih cerdas
* Mengerti tentang kecerdasan
* Membuat mesn lebih berguna
Keuntungan kecerdasan buatan disbanding kecerdasan alami:
* Lebih bersifat permanen
* Lebih mudah dipublikasi atau disebarkan
* Lebih murah dibandingkan kecerdasan alami
* Bersifat konsisten
* Dapat didokumentasikan
* Dapat mengerjakan pekerjaan lebih cepat dan lebih baik dibandingkan dengan kecerdasan alami.
Keuntungan kecerdasan alami disbanding AI:
* Kreatif
* Dapat melakukan proses pembelajaran secara langsung, sementara AI harus mendapatkan masukan berupa symbol dan representasi-representasi.
* Pemikiran manusia dapat digunakan secara luas sebagai referensi untuk pengambilan keputusan. Sebaliknya, AI menggunakan focus yang sempit
SISTEM CERDAS YANG BANYAK DI KEMBANGKAN
·Sistem pakar ( Expert System)
yaitu program konsultasi (advisory) yang mencoba menirukan proses penalaran seorang pakar/ahli dalam memecahkan masalah yang rumit. sistem pakar merupakan aplikasi AI yang paling banyak.
· Pemrosesan Bahasa Alami (Natural Language Processing)
Yang member kemampuan pengguna komputer untuk berkomunikasi dengan komputer dalam bahasa mereka sendiri (bahasa manusia). Komunikasi dapat dilakukan dengan percakapan alih-alih menggunakan perintah yang biasa digunakan dalam bahasa komputer biasa.
· Bidang Pemrosesan Bahasa Alami di bagi lagi menjadi 2 bagian yaitu:
Pemahaman bahasa alami, yang mempelajari metode yang memungkinkan komputer mengerti perintah yang diberikan dalam bahasa manusia biasa. Dengan kata lain komputer dapat memahami manusia.
Pembangkitan bahasa alami, sering disebut juga sintesa suara. Yang membuat komputer dapat membangkitkan bahasa manusia biasa sehingga manusia dapat memahami komputer secara mudah.
· Pemahaman Ucapan/Suara (Speech/Voice Understanding)
Adalah teknik agar komputer dapat mengenali dan memahami bahasa ucapan.
Proses ini mengijinkan seseorang berkomunikasi dengan komputer dengan cara berbicara kepadanya.
Istilah pengenalan suara, mengandung arti bahwa tujuan utamanya adalah mengenali kata yang diucapkan tanpa harus tahu apa artinya, dimana bagian itu merupakan tugas pemahaman suara.
Secara umum prosesnya adalah usaha untuk menterjemahkan apa yang diucapkan oleh seorang manusia menjadi kata-kata atau kalimat yang dimengerti oleh komputer.
Macam-macam bidang Artificial Intelligent  saya kupas satu persatu. Mulai dari permainan Komputer, permainan komputer adalah permainan video yang dimainkan pada komputer pribadi. Contoh permainan komputer antara lain : angry bird, billyard game, DOTA dan masih banyak lagi.
Yang kedua adalah Logika Fuzzy, yang dimaksud dengan logika fuzzy adalah peningkatan dari logika Boolean yang berhadapan dengan konsep kebenaran sebagian. Di mana logika klasik menyatakan bahwa segala hal dapat diekspresikan dalam istilah binary (0 atau 1, hitam atau putih, ya atau tidak), logika fuzzy menggantikan kebenaran boolean dengan tingkat kebenaran. Yang ketiga adalah jaringan Syaraf Tiruan, JST adalah jaringan dari sekelompok unit pemroses kecil yang dimodelkan berdasarkan jaringan saraf manusia. JST merupakan sistem adaptif yang dapat mengubah strukturnya untuk memecahkan masalah berdasarkan informasi eksternal maupun internal yang mengalir melalui jaringan tersebut.
Dan yang terakhir yang akan saya jelaskan di blog saya adalah robotika, siapa yang tak mengenal robot, sudah pasti anda semua mengenal dengan mesin buatan manusia yang satu ini. Robot adalah  sebuah alat mekanik yang dapat melakukan tugas fisik, baik menggunakan pengawasan dan kontrol manusia, ataupun menggunakan program yang telah didefinisikan terlebih dulu.
Kelebihan Sistem Cerdas adalah sistem ini lebih cepat daripada proses berpikir manusia. Seperti yang di contohkan oleh bapak dosen saya : anggap saja sebuah mobil melaju dengan kecepatan sekian tiba-tiba ada seseorang yang hendak menyeberang, kalau di hitung dengan otak manusia, akan membutuhkan waktu yang lama, perlu menhitung inilah itulah untuk memperingatkan si pengendara mobil tersebut, tapi kalau menggunakan sistem cerdas akan berbeda hasilnya. Jadi kasaranya kalau yang memberi aba-aba adalah mengunakan sistem cerdas maka mobil tidak sempat menyentuh orang yang akan menyeberang tadi, tapi kalau yang memberi aba-aba adalah otak manusia, sebelum bilang “awas” mobil sudah terlanjur menabrak orang yang hendak menyeberang tadi. Karena penting dan banyaknya manfaat yang dapat diambil dengan menggunakan sistem cerdas tersebut, maka tidak ada salahnya kita dapat menggali ilmu lebih dalam tentang sistem cerdas tersebut.

Contoh Sistem Cerdas

1. Penerapan Sistem Cerdas dalam Dunia Pendidikan
a. Rhino Robot XR-2 System : Robot ini dibuat oleh Rhino, Inc, dan digunakan untuk simulasi tentang operasi dari robot-robot industri. Rhino XR-2 dapat diprogram melalui komputer Apple dan programnya dapat disimpan di disk.
b. Microbot : Microbot mempunyai dua macam robot, yaitu Microot Minimower dan Microbot Teachmower.
c. Hero- 1: Robot ini dibuat oleh Heath/Zenith, merupakan robot yang dapat bergerak dan dirancang untuk membantu mempelajari robot industri. Memiliki beberapa unit sensor. Unit sensor ini dapat mendeteksi gerak. Mengukur jarak sampai 15 feet, mendeteksi perubbahan tingkat cahaya, membedakan dua buah suku kata dna menggunakan speechsynthesizer, sehingga dapat berbicara.
2. Penerapan Sistem Cerdas pada Bidang Pertahanan dan Keamanan
Penerapan sistem dibidang ini antara lain pada radar. Fungsi radar secara umum ialah mendeteksi keberadaan benda dilingkungan dimana radar berada. Jarak jangkauan radar bermacam-macam. Semakin berkembangnya teknologi kemampuan radar semakin canggih. Radar saat ini dapat mendeteksi keberadaan awak yang tidak di kenal, dan menampilkan informasi mendukung tentang benda yang ditangkap pada radar.
Sumber :
https://kidodi.wordpress.com/2012/02/19/pengertian-sistem-cerdas/

Kamis, 13 Oktober 2016

PBO (pemrograman Berorientasi Objek)

Diagram Use Case

  • Diagram  use case merupakan pemodelan untuk menggambarkan kelakuan (behavior) sistem yang akan dibuat.
  • Diagram use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem yang akan dibuat.
  • Diagram use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut. Yang ditekankan pada diagram ini adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”.
  • Sebuah use case merepresentasikan sebuah interaksi antara aktor (user atau sistem lainya) dengan sistem.
  • Use case menjelaskan secara sederhana fungsi sistem dari sudut pandang user.
use case
Penjelasan  bagian bagian use case diagram
1. System
Menyatakan batasan sistem dalam relasi dengan actor-actor yang menggunakannya (di luar sistem) dan fitur-fitur yang harus disediakan (dalam sistem). Digambarkan dengan segi empat yang membatasi semua use case dalam sistem terhadap pihak mana sistem akan berinteraksi. Sistem disertai label yang menyebutkan nama dari sistem, tapi umumnya tidak digambarkan karena tidak terlalu memberi arti tambahan pada diagram.
2. Actor
Aktor adalah segala hal diluar sistem yang akan menggunakan sistem tersebut
untuk melakukan sesuatu. Bisa merupakan manusia, sistem, atau device yang memiliki peranan dalam keberhasilan operasi dari sistem. Cara mudah untuk menemukan aktor adalah dengan bertanya hal-hal berikut:  SIAPA yang akan menggunakan sistem?  APAKAH sistem tersebut akan memberikan NILAI bagi aktor?
3. Use case
Mengidentifikasi fitur kunci dari sistem. Tanpa fitur ini, sistem tidak akan memenuhi permintaan user/actor. Setiap use case mengekspresikan goal dari sistem yang harus dicapai. Diberi nama sesuai dengan goal-nya dan digambarkan dengan elips dengan nama di dalamnya. Fokus tetap pada goal bukan bagaimana mengimplementasikannya walaupun use case berimplikasi pada prosesnya nanti. Setiap use case biasanya memiliki trigger/pemicu yang menyebabkan use case memulai (misalnya,Pasien mendaftar dan membuat janji baru atau meminta untuk membatalkan atau mengubah janji yang sudah ada ).ada 2 triger pertama triger eksternal, seperti pelanggan memesan atau alarm kebakaran berbunyi, kedua triger temporal, seperti tanggal pengembalian buku terlewati di perpustakaan atau keterlambatan bayar sewa.
4. Assosiation
Mengidentifikasikan interaksi antara setiap actor tertentu dengan setiap use case tertentu. Digambarkan sebagai garis antara actor terhadap use case yang bersangkutan. Asosiasi bisa berarah (garis dengan anak panah) jika komunikasi satu arah, namun umumnya terjadi kedua arah (tanpa anak panah) karena selalu diperlukan demikian.
Dependency
Dependensi <<include>>
  • o Mengidentifikasi hubungan antar dua use case di mana yang satu memanggil yang lain.
  • o Jika pada beberapa use case terdapat bagian yang memiliki aktivitas yang sama maka bagian aktivitas tersebut biasanya dijadikan use case tersendiri dengan relasi dependensi setiap use case semula ke use case yang baru ini sehingga memudahkan pemeliharaan.
  •  Digambarkan dengan garis putus-putus bermata panah dengan notasi <<include>> pada garis.
  • o Arah mata panah sesuai dengan arah pemanggilan.
Dependensi <<extend>>
o Jika pemanggilan memerlukan adanya kondisi tertentu maka berlaku dependensi <<extend>>.
o Note: konsep “extend” ini berbeda dengan “extend” dalam Java!
o Digambarkan serupa dengan dependensi <<include>> kecuali arah panah berlawanan.
6. Generalization
Mendefinisikan relasi antara dua actor atau dua use case yang mana salah satunya meng-inherit dan menambahkan atau override sifat dari yang lainnya. Penggambaran menggunakan garis bermata panah kosong dari yang meng-inherit mengarah ke yang di-inherit.
Menyusun Diagram Use case
Langkah-langkah yang dibutuhkan untuk menyusun diagram use case adalah:
  • Mengidentifikasi pelaku bisnis
  • Mengidentifikasi use case persyaratan bisnis
  • Membuat diagram model use case
  • Mendokumentasikan naratif use case persyaratan bisnis
Practical guidance dalam membangun diagram use case:
  • Set konteks dari target sistem.
  • Identifikasi semua actor.
  • Identifikasi semua use case.
  • Definisikan asosiasi antara setiap actor dan setiap use case.
  • Evaluasi setiap actor dan setiap use case untuk mendapatkan kemungkinan perbaikan.
  • Evaluasi setiap use case untuk dependensi <<include>>.
  • Evaluasi setiap use case untuk dependensi <<extend>>.
  • Evaluasi setiap actor dan setiap use case untuk generalisasi.
Use case Description
Setiap use case harus dijelaskan alur prosesnya melalui sebuah deskripsi use case (use case description) atau scenario use case.
Deskripsi use case berisi:
  • Nama use case yaitu penamaan use case yang menggunakan kata kerja
  • Deskripsi yaitu penjelasan mengenai tujuan use case dan nilai yang akan didapatkan oleh aktor
  • Kondisi sebelum (pre-condition) yaitu kondisi-kondisi yang perlu ada sebelum use case dilakukan.
  • Kondisi sesudah (post-condition) yaitu kondisi-kondisi yang sudah dipenuhi ketika uses case sudah dilaksanakan
  • Alur dasar (basic flow) yaitu alur yang menceritakan jika semua aksi yang dilakukan adalah benar atau proses yang harusnya terjadi
  • Alur alternatif (alternatif flow) yaitu alur yang menceritakan aksi alternatif, yang berbeda dari alur dasar.
Mana yg lebih dahulu dibuat use case description atau use case diagram ? sebaiknya use case description lebih dahulu. tapi kalau anda ingin membuat use case digram lebih  dahulu juga tdk apa-apa. Yang penting kedua duanya anda buat untuk menggambarkan/menjelaskan kebutuhan sistem.
contoh  diagram use case

Diagram use case ATM

Diagram use case toko online

Rabu, 05 Oktober 2016

Tugas Pemrograman Berorientasi Objek

USE CASE,CLASS DIAGRAM

Judul Tugas Saya adalah : Aplikasi Transaksi Pembayaran Rumah Makan

Pada minggu awal pengerjaan tubes ini,saya mulai membuat use case diagram dari sistem tersebut.
Use case diagram digunakan untuk memodelkan sistem yang akan kita buat,yang mendeskripsikan fungsi-fungsi apa saja yang ada dalam sistem yang kita buat ini.

Pada use case,ada 3 aktor yang terlibat dalam sistem aplikasi yang saya buat ini.
Yaitu Kasir,Pelayan, dan Customer. Sehingga use case'nya dapat dibuat seperti berikut :


Deskripsi Use Case tersebut adalah :

• Customer datang dan memesan menu kepada Pelayan
• Pelayan mencatat pesanan yang di pesan oleh Customer
• Kemudian pelayan mengantarkan pesanan kepada Customer berdasarkan noMeja
• Setelah selesai makan, Customer datang ke Kasir
• Kasir menghitung total pembayaran yg harus di bayar oleh Customer
• Customer membayar total biayanya (bisa membayar secara tunai ataupun melalui Card)
• Kasir mencetak struk pembayaran dan memberikannya kepada Customer

Kemudian, saya membuat Class Diagram untuk menggambarkan tentang struktur-struktur sistem dari segi pendefinisian kelas-kelas.
Class Diagram ini menunjukkan tentang seperti apa dan bagaimana sistem aplikasi yang akan kita buat.
gambar Class Diagramnya adalah :


Setelah membuat Class Diagram,saya lalu membuat lagi tentang Diagram Objek. Diagram Objek adalah diagram yang menggambarkan struktur sistem dari segi penamaan objek kelas itu.
Diagram objek memiliki nama_objek:nama_kelas
seperti Diagram Objek sistem yang saya buat:



Minggu kemarin, saya melanjutkan pngerjaan Tugas Besar saya ini dengan membuat Sequence Diagram.
Sequence Diagram yaitu diagram yang menggambarkan kelakuan/perilaku sistem berdasarkan Use Case diagram menurut urutan waktu objek yang sudah saya buat tadi.

-Kasir bisa memilih User Interface mana yang akan dilakukan,yang terdapat dalam menu utama.
-Nah,mula-mula Kasir melakukan Login terlebih dahulu.



-Jika Kasir melakukan Hitung Pembayaran, ia bisa melakukan pengolahan pemesanan terlebih dahulu yaitu:

Melakukan Insert Pembayaran (memasukkan kode-kode menu yang sudah dipesan oleh Customer,lalu menghitungnya)


Melakukan Update Pembayaran (jika mengubah data pesanan yang sudah dipesan oleh Customer )

Melakukan Delete Pembayaran (jika menghapus data menu pesanan Customer)


-Jika Kasir melakukan Pembayaran By Card, alurnya adalah :



-Jika Kasir melakukan Cetak Struk, alurnya adalah :