When Artificial Intelligence Beats Humans.

AlphaGo documentary

Go, Igo, atau Baduk adalah sebutan untuk permainan legendaris catur bangsa Tiongkok, Cina dan Korea. aturan permainan ini bisa dibilang cukup mudah, hanya ada dua jenis biji, hitam dan putih. Pemenang permainan ini adalah dengan melihat luas teritori yang didapatkan. Dan tidak seperti catur yang sering kita kenal, catur ini dimulai dengan papan yang kosong tidak terdapat bidak atau biji dipapan. papan permainan go profesional adalah 19 x 19, dengan kata lain terdapat 398 tempat untuk meletekan biji Go.

Awal tahun 1990 IBM telah mencengangkan dunia catur prefosional dengan mengalahkan world class championship Garry Kasparov. Untuk pertama kalinya juara dunia catur kalah dengan program atau saya lebih senang dengan kata Kecerdasan buatan yang dibuat oleh manusia.

Permainan catur dengan Go sangat berbeda secara konsep dan teknik. Permainan catur yang bagus adalah pemain yang bisa membaca kemugkinan 5 atau 7 bahkan lebih langkah selanjutnya. Artinya mengatisipasi pergerakan lawan dan mempersiapkan stategi. Komputer adalah mesin yang mempunyai memori dan mempunyai perhitungan jauh lebih cepat dari kita. Dasar DeepBlue adalah memperbesar prediksi langkah setiap pemain dengan menghitungan cost setiap langkah sampai akhir permainan. Artinya DeepBlue mempunyai kemampuan manusia memprediksi langkah sampai akhir kemugkinan yang sangat jarang manusia berfikir permainan catur langkah awal sampai akhir. Atau lebih singkatnya DeepBlue mengunakan algoritma min max searching dalam kecerdasanya.

Algoritma dalam DeepBlue sangat tidak relevan jika diterapkan dalam Go, karena terlalu banyak kemungkinan yang harus dieksplore, Sehingga tidak ada program komputer yang mampu mengalahkan profesional Go sampai dengan munculnya AlphaGo. AlphaGo mempunyai kecerdasan seperti manusia: thinking, learning dan eksploring.

Link Youtue diatas, mengambarkan bagaimana awal proses AlphaGo dibentuk, motivasi dan hasil dari AlphaGo. Tetapi bukan itu yang membuat saya menulis artikel ini. Teknik dari AlphaGo kita bisa mendapatkan penjelasan lebih detail dari para pembuatnya, yang telah mengungah video youtubenya. AlphaGo akan diujikan dengan pemain profesional Go Lee Sedol. Terdapat sadness moment in this video. Melihat seorang jenius Go frustasi, bingung dan kewalahan menghadapi program komputer. Komputer yang didalamnya hanya terdapat nilai biner 1 dan 0, dapat belajar, berfikir dan bertindak melebihi manusia jenius. Brutal, mungkin ini kata yang paling pas untuk mengambarkan kejadian tersebut. kita sebagai umat manusia telah dikalahkan dengan program komputer yang dibuat oleh manusia.

siapa yang menang? manusia atau komputer? apakah nanti kedepanya komputer akan mengambil ahli semua pekerjaan manusia seperti film-film science fiction? kemana nanti manusia yang punya kecerdasan yang tidak lebih cerdas dari kecerdasan komputer? perusahaan akan memilih komputer atau manusia untuk membantu pekerjaan? pekerjaan apa saja yang akan hilang dalam 10 tahun atau 20 tahun mendatang? juru ketik? sistem analis? tax analis? arsitek? desainer?

Ketika melihat kemungkinan-kemungkinan diatas sebagai manusia kita wajib sedih dan senang. Sedih karena teknologi sudah mulai mengantikan peran manusia. Senang karena manusia dapat menciptakan mesin yang dapat learning, belajar 100 tahun atau sampai 1000 tahun. Umur manusia mentok 150 tahun, berapa lama dari umur itu yang digunakan untuk belajar? artinya kita mempunyai program yang dapat membantu kita sehebat manusia atau bahkan lebih hebat dengan biaya yang jauh lebih murah.

Jika nanti Emotional Artificial atau soul Artificial dapat dibentuk, maka kita akan punya human artificial. Saya sangat berharap hal ini tidak terjadi, cukup Artificial Intelligence, lebih dari cukup. Biarlah manusia dan mesin terdapat perbedaan dengan kita punya SOUL.

https://www.theguardian.com/technology/2016/mar/15/googles-alphago-seals-4-1-victory-over-grandmaster-lee-sedol .

Agen dalam KECERDASAN BUATAN

sumber asli : https://www.geeksforgeeks.org/agents-artificial-intelligence/

kecerdasana buatan dapat bermakna mempelajari atau membuat Rational Agent/ Agen yang mampu berlogika. Rational agen dapat berarti segala sesuatu yang dapat membuat keputusan, seperti manusia, perusahaan, mesin atau perangkat lunak. agen akan menghasilkan sebuat output yang berasal dari keadaan yang diberikan atau persepsi yang telah diberikan sebelumnya.

sebuah sistem kecerdasan dapat berati agen dan keadaannya. agen yang bertidak (ACT) sesuai dengan lingkungan atau keadaan, dan linkungan yang terdiri dari agen-agen yang lain. persepsi dari lingkungan dapat dikatakan sebagai SENSOR dan hasil dari lingkungan tersebut dinamakan ACTUATOR.

Agen terdiri dari Arsiteksur atau perancangan dan agen program. Arsiteksur adalah sesuatu dengan sensor, misalkan, CPU, kamera, mobil robot. dan agen program adalah implemantasi dari fungsi program yang diberikan.

Agent = Architecture + Agent Program

contoh dari agen:

  • agen software
  • agen robot
  • agen manusia

TIPE-TIPE AGEN

  • Simple Reflex Agents
  • Model-Based Reflex Agents
  • Goal-Based Agents
  • Utility-Based Agents
  • Learning Agent
tipe-tipe agen

APA itu Kecerdasan Buatan ?

Thinking Humanly. berfikir seperti manusia. membuat mesin atau perangkat lunak yang bisa berfikir seperti manusia. Pendekatan model kognitif. kognitif adalah segala aktiitas yang berhubungan dengan otak. ranah kognitif memiliki beberapa aspek seperti : pengetahuan, pemahaman, penerapan, analisis dan evaluasi. Jika kita ingin membuat program yang bisa berfikir seperti manusia, maka kita perlu mengetahui bagaimana cara manusia berfikir. Untuk mendapatkan hal tersebut ada 3 cara: melalui introspeksi dengan mengintropeksi pola pikir kita sendiri untuk mendapatkah pola otak pada umumnya. Melalui uji coba psikilogi. Dan melalui gambaran aktifitas otak.

Thinking Rationally. Rationally berarti bisa rational, atau bisa diterima. pendekatan aturan sebuah pikiran. Philosophi Yunani yang paling terkenal Aristotle memperkenalkan pada dunia ini bagaimana cara berfikir yang benar, Right Thinking. Penemuanya dinamakan sebagai syllogisme, yaitu argumen deduktif yang terdiri dari dua premise dan satu kesimpulan. hal ini selalu mendapatkan struktur kesimpulan yang benar apabila mempunyai premise yang benar pula, contohnya: Semua mahasiswa Informatika pasti pintar, anak pintar adalah anak jurusan IPS, maka hasilnya mahasiswa informatika adalah anak IPS.

Acting Humanly. Membuat mesin atau komputer, bertingkah laku seperti manusia. Alan Turing membuat Turing test yang bertujuan untuk menguji coba sebuah kecerdasan buatan. Testnya ini akan berlangsung melibatkan manusia, jika manusia itu tidak menyadari bahwa dia berinteraksi dengan komputer maka diangap kecerdasan komputer tersebut lolos dari Turing Test, begitu juga kebalikanya. Area yang dapat dikerjakan dalam mendapatkan komputer yang berfikir seperti komputer antara lain :

  • Natural Language Procesing : interaksi komputer dan manusia melalui percakapan atau chating dengan bahasa tertentu
  • Knowledge Representation : menyimpan pengetahuan yang diketahui atau didapatkan
  • automated Reasoning : mengumpulkan informasi untuk menjawab pertanyaan-pertanyaan yang diketahui dan atau mengambil kesimpulan
  • Machine Learning : beradaptasi terhadap persoalan atau keadaan dan untuk mendeteksi dan untuk meramalkan kemungkinan terhadap pola tertentu.

Acting Rationally: Membuat mesin atau komputer, mempunyai tingkah laku yang rasional. Agent dalam kecerdasan buatan AI adalah yang melakukan suatu tindakan. jika program komputer menghasilkan sesuatu, maka Agent menghasilkan lebih dari itu seperti : outomasi, mempresepsikan keadaan sekitar, beradaptasi dengan lingkungan sekitar, merubah dan menghasilkan tujuan.

Kenapa Harus DATABASE? (Korth & Silberschatz)

Apakah ada cara lain untuk menyimpan data selain database? cara lain untuk menyimpan data selain database adalah di file system, seperti notepad, excel, word atau kita mempunyai file dengan format khusus. Tetapi dengan penyimpanan file system ada beberapa kemampuan yang tidak kita peroleh, Seperti :

  • Data Redudandcy and Inconsistency
  • Diffuculty in accesing data
  • Data Isolation
  • Concurrent Access Anomalies
  • Security Problems
  • Integrity Problems

Data Redudancy dan Inconsistency. Ketika kita membuat file program, maka setiap programer akan mempunyai format khusus terhadap file tersebut. Karena khusus tersebut sehingga programer lain akan kesulitan meneruskan format file tersebut. Hal lain bisa terjadi ketika dibutuhkan banyak client, seluruh file program harus mengikuti program yang telah dibuat. Bisa dikatakan bahwa file program atau file system akan tidak konsisten dan juga akan mengakibatkan data redundant (data sama). Sebagai contoh kasus data redundant, jika kita mempunyai customer dan transaksi pembelianya, maka disetiap cabang toko harus mempunyai data customer. Data customer tidak boleh hanya dimiliki oleh satu toko saja, hal ini mengakibatkan pembengkakan ukuran kebutuhan storage.

Difficulty in Access Data. Untuk menghilangkan redudan data seperti contoh diatas maka jalan satu-satunya adalah mensharing file data customer. tetapi hal tersebut akan menimbulkan masalah baru yaitu kesulitan untuk mengakses data tersebut. diperlukan code khusus untuk membaca dan menulis data yang baru. sebuah contoh kasus yang lain, jika kita ingin melakukan pencarian data customer yang bertempat tinggal di kota khusus, maka kita harus bekerja extra keras untuk membuat program tersebut.

Data Isolation. Ketika kita akan mengembangkan program maka kita harus tetap mempekerjakan programer yang lama, ketika kita menganti programer kemungkinan besar data yang telah kita koleksi tidak akan digunakan lagi, maka data akan terisolasi.

Concurrent data anomalies. Kesusahan yang lain ketika akan terjadi keanehan data atau tidak sinkoron. jika kita melakukan file system, ada kemingkinan setiap client akan memiliki file format masing-masing maka yang format akan juga berbeda. akan sangat susah mendeteksi keanehan data. misalkan client A menerapkan format tanggal bulan tahun, client B menerapkan tahun bulan tanggal, manager perusahaan itu akan kesulitan mencari data disemua client pada kurun waktu tertentu.

Security dan Integration Problems. Ketika file system kita sharing maka sangat rentan data itu akan dicuri atau dibaca orang yang tidak diberi hak akses. atau sebaliknya ketika kita mengijinkan role kasir untuk mengakses data Barang akan menjadi sangat susah untuk programer memberi hak akses kasir hanya memperbolehkan melihat data barang, tanpa boleh menganti atau mendelete data Barang. Sama halnya dengan Integrasi, integrasi ke program yang baru akan punya chalengge yang besar. karena format tidak standart.

Entity Types, Entity Sets, Attributes, and Keys

ER model mendeskripkan entitas-entitas, relasi-relasi dan atribute-atribute.

Entitas dan Atribute

ER model sebenarnya adalah pemetaan entitas dan relasi terhadap entitas yang lain. lalu entitas itu apa? entitas dalam dunia nyata bisa berupa objek nyata secara fisik, misalkan dalam entitas mobil, karyawan, sekolah, gaji, transaksi penjualan dan lain-lain. setiap entitas mempunyai beberapa attribute, attribute ini melekat pada setiap entitas, atribute adalah deskripsi khusus dari sebuat entitas, misal entitas pegawai bisa kita deskripsikan dari nomer ktp, nama, alamat, telp, tanggal lahir, sex, dll.

contoh entitas dan attributnya

gambar diatas terdisi dari dua entitas, e1 dan c1. e1 mengambarkan entitas pegawai ke-1, dimana pegawai tersebut mempunyai nama john smith, alamat 2311 kirby huston 7701, texas, dan selebihnya. c1 mengambarkan entitas Company ke-1 dimana setiap company akan mempunyai nama, kantor pusar dan presiden. entitas c1 mempunyai nama sunco oil, kantor pusat di houston dan presidennya adalah john Smith.

Dalam ER ada beberapa jenis-jenis dari attribut: simple versus composite, single value versus multivalue, dan stored versus derived

Simple (Atomic) versus Composite Attribute. composite attribute adalah attribut yang masih bisa dipecah-pecah lagi menjadi atomic atau simple attribute. composite attribute dapat dijadikan hirarki attribute, seperti contoh gambar dibawah, address termasuk attribute composite. seperti contoh pada e1 alamatnya 2311 kirby huston 7701. Jika kita pecah menjadi atomic attribute maka nomer:2311, jalan : kirby, kota:houston, kode pos: 7701. Pertanyaannya kapan kita gunakan composite atau atomic? untuk menjawab pertanyaan tersebut jawaban paling umum adalah melihat kondisi, kondisi seperti apa? jika kondisi attribute tersebut berupa kesatuan dan kita tidak perlu melakukan pencarian dari detail tersebut maka kita bisa mengunakan composite, contoh, alamat-> sidosermo 4/36-d. Kebalikanya jika kondisi kita membutuhkan detail dan detail itu bisa dijadikan konstrain pencarian data maka sebaiknya kita gunakan atomic attribute, contoh merk: honda, type: jazz, tahun: 2018, cc:1500.

Single Valued versus Multivalued Attribute. Pada umumnya nilai-nilai attribute yang ada adalah single value, artinya hanya mempunyai satu nilai, contoh nama pegawai, umur, sex. Tetapi ada kalanya attribute bisa diisi dengan multivalue. multivalue berarti banyak nilai dalam satu attribut. contoh warna mobil, warna mobil bisa satu, atau lebih dari satu warna. Pertanyaanya adalah apakah diperbolehkan multivalue? jika kita melihat dari normalisasi maka tidak boleh ada attribute yang bersifat multivalue, tapi terlepas dari itu apakah bisa? saya bisa menjawab dengan BISA. sangat dimungkinan dalam database, apa kekurangan jika multivalue? kekurangan jika multivalue adalah kita harus membuat size dari attribute lebih besar dengan asumsi beberapa data bisa masuk. misalkan warna mobil, jika single value kita bisa membuat size attribute warna dengan melihat list warna dengan character paling panjang. tetapi jika attribute multivalue, kita harus membuat size attribute 3 kali atau 4 kali lebih lebar menantisipasi terdapat multi nilai.

Stored versus Derived Attributes. Beberapa attribute ada yang mempunyai hubungan seperti umur dan tanggal lahir. attribute-attribute tersebut mempunyai hubungan, umur bisa dilihat dari tanggal lahir. jadi attribute umur adalah attribute derived (attribute turunan) ditirunkan dari attribute tanggal lahir dimana disebut attribute stored. pada beberapa kasus attribute derived bisa diturunkan dari entitas yang berhubungan atau diluar attribute entitas tersebut. contohnya adalah total pekerja pada attribute employ, bisa berasalah dari attribute employ.

Null Attribute, nule attribute berarti attribute itu boleh tidak diberi nilai atau kosong. ada beberapa kasus yang attribute itu tidak harus diberi nilai, contohnya nomer appartment. jika pegawai tidak mempunyai appartment maka nomer appartment tidak bisa diisini.

Complex Attribute, attribute ini terdiri dari gabungan dari multivalue attribute dan composite attribute. contoh pada dunia nyata adalah ketika kita mendata pegawai dengan lebih dari satu alamat. satu alamat memuat banyak nilai.

Studi Kasus Pembentukan Desain Database (Navathe & Elmasri)

Pada Artikel ini akan memberi contoh pembentukan sistem database COMPANY, akan dibahas langkah demi langkah pembuatan CDM dari proses requirment. database COMPANY akan mencatat pegawai, depaterment, dan projek yang dimiliki oleh COMPANY. Kita asumsikan proses pemetaan kebutuhan telah dilaksanakan dan menghasillkan poin-poin sebagai berikut :

  • perusahaan terorganisasi ke departerment-depaterment. setiap depaterment memiliki nama yang unique, nomer unik dan pegawai khusus yang mengepalai departerment tersebut. akan dicatat kapan pegawai tersebut mulai menjadi kepala depaterment. sebuah depaterment bisa mempunyai beberapa lokasi berbeda.
  • setiap depaterment mengkontrol jumlah dari projek yang didapatkan, setiap projek akan mempunyai nomer, nama yang unik dan single location.
  • menyimpan setiap data pegawai : nama, nomer ktp, alamat, salary, sex, dan tanggal lahir. setiap pegawai akan ditempatkan di satu departerment, tetapi mungkin bekerja diberapa project yang mana tidak harus dideparterment yang sama. akan harus dicatat berapa jam lama bekerja dalam seminggu yang ditempuh pegawai untuk satu project. dan juga dicatat supervisor yang ditunjuk untuk membawahi pegawai-pegawai yang dimana dia juga termasuk pegwai.
  • dan perusahaan ingin mencatat hubungan antar pegawai untuk asuransi pegawai. yang akan dicatat adalah nama depan, sex, tanggal lahir dan relasi terhapad pegawai lain.

selanjutnya akan dibahas step by step proses pembuatan desain database dalam post yang selanjutnya, guna memperdalam materi.

DATA MODELING USING ENTITY RELATIONSHIP MODEL

Entitity Relationship Model adalah sebuah pemodelan data yang paling populer digunakan, umunya disebut juga sebagai high-level konseptual pemodelan data. Dikatakan high-level karena menggunakan konsep seperti dunia nyata. Level pada model ini hanya bersifat konsep, bukan apa yang diimplementasikan dalam DBMS.

Langkah – Langkah pembuatan Database dengan ER

Gambar diatas adalah proses sederhana dari proses pembentukan desain database. Langkah pertama adalah requirements collection and analysis, memetakan kebutuhan dan analisa. pada proses ini pembuat database harus meninjau dengan teliti prespective penguna database untuk memahami apa yang diinginkan dan dokumen kebutuhan-kebutuhan data. Hasil dari proses ini biasa disebut sebagai user requirment. Proses user requirment haruslah secara detail dan jika dimungkinkan mendapatkan tabel-tabel yang lengkap. akan sangat berguna sekali jika kita menghasilkan functional requirment, kebutuhan-kebutuhan fungsionalitas dalam sistem yang akan dibangun.

Setelah requirment kita dapatkan dan kita analisis, langkah selanjutnya adalah membuat schema database high-level atau langkah ini akan menghasilkan conceptual design (Conceptual Design Model CDM). Setelah proses pembentukan conceptual design, maka kita perlu melakukan analisa terhadap fungsionalitas program yang akan dibuat. Jika ada ketidak cocokan diantara keduanya maka perlu dirubah lagi desain CDM.

Setelah proses-proses diatas dilewati maka proses selanjutnya adalah merubah bentuk conseptual menjadi implementasi, implementasi dari consep disebut dengan phy

DATABASE

Pengantar Basisdata (Elmasri and Navathe)

Basis Data dan teknologi basis data mempunyai pengaruh besar terhadap perkembangan penggunaan komputer. Sangat wajar jika kita mengatakan bahwa basis data mempunyai peranan penting pada hampir seluruh area bidang komputer yang digunakan, termasuk bisnis, teknik, pengobatan, penginapan, pendidikan dan lain-lain.

basis data adalah koleksi dari data. data sendiri mempunyai pengertian fakta yang dicatat dan mempunyai makna yang jelas. sebagai contoh : nama, nomer telephone, dan alamat dari seseorang yang kita ketahui. kita simpan data-data tersebut di notebook atau di file, kita kumpulkan data-data dari banyak teman-teman sekelas atau satu sekolah. koleksi dari data-data yang berkorelasi ini disebut sebagai database.

Database Management System (DBMS) adalah sebuah perangkat lunak yang berfungsi untuk membentuk dan mengatur database. Oleh karena itu DBMS adalah sebuah sistem software yang diperuntukan atau menyediakan fasilitas proses: defining, custructing, dan manipulating database untuk berbagai keperluan. defining database adalah pembuatan atau pendefinisian dari database. defining meliputi proses menentukan tipe data, strukture dan constrains untuk data yang akan disimpan di database. Constructing database adalah proses memasukkan data itu sendiri pada database. Manipulating database meliputi proses pemangilan data, update data dan juga pembuatan laporan dari data.