Social Computing

No Comments

Dengan adanya internet dan globalisasi seperti saat ini mengubah perilaku pengguna internet dari pasif menjadi lebih aktif. Internet menjadi salah satu sarana penting untuk berkomunikasi saat ini. Social computing adalah sitem terkomputerisasi yang memungkinkan komunikasi dan kolaborasi terjadi untuk berbagai aspek.

Perkembangan dari web 2.0 yang memungkinkan pengguna internet untuk dapat saling berinteraksi. Mulai pada tahun 2006, terjadi perkembangan yang signifikan pada area social computing, seperti halnya social commerce dan perkembangan social software bagi perusahaan. Dengan kemungkinan untuk berinteraksi dan fitur untuk berkomunikasi, social computing mulai dilirik untuk diadopsi dalam perkembangan pendidikan dan area pengetahuan disamping diadopsi oleh bisnis yang menjadikannya sebagai social commerce dan cukup popular saat ini.

Beberapa contoh fitur yang ditawarkan sebuah social computing diantaranya:
  • Blog
Blog merupakan salah satu contoh social computing yang sangat dikenal dan sangat mudah untuk diadopsi. Blog membantu beberapa kelompok penguna untuk dapat saling berinteraksi dan berbagi nformasi. Melaui hal ini, maka pengetahuan juga akan menjadi lebih cepat untuk di transfer. Beberapa yang sangat popular adalah gawker, typepad, sharepoint atau weblogs.com. Perusahaan dapat membuat blog internal dimana menyediakan wadah bagi para karyawan untuk dapat menuliskan pengetahuan yang mereka miliki misalnya artikel.
  • Wiki
Wiki merupakan salah satu software yang memungkinkan untuk kolaborasi. Pengguna internet yang bisa berkolaborasi dalam satu tulisan bisa berasal dari mana saja, bisa ekspert ataupun pelajar baru. Tujuannya adalah agar satu topik yang dibicarakan dapat dikembangkan sedemikian rupa dari mendapatkan berbagai masukan dan ilmu baru. Sehingga belajar tidak hanya dari satu sumber saja. Beberapa software aplikasi yang mirip dengan wiki adalah seperti basecamp, socialtext, dan lain lain.
  • Game Online
Game online yang sangat banyak diminati oleh masyarakat juga bisa dikategorikan sebagai social computing. Ketika bermain game, user dimungkinkan untuk dapat berinteraksi secara langung, berkomunikasi/chatting dengan lawan main atau teman main satu grup. Ini akan membangun jaringan komunikasi dan komunitas.
  • Media Sosial
Sudah tak diragukan lagi bahwa media social saat ini sudah sangat marak untuk digunakan oleh seluruh pengguna internet baik tua ataupun muda. Media social merupakan media yang menjadi tempat bagi orang – orang untuk berbagi hal yang bersifat umum atau pribadi bahkan memungkinkan untuk dapat berinteraksi seperti facebook, twitter, skype, youtube, linkedIn, myspace, dan lain sebagainya.
  • Online Dating
Begitu maraknya aplikasi online saat ini termasuk online dating yang dapat mempertemukan dua orang yang sedang mencari pasangan. Contoh web online dating yang popular adalah OkCupid, Match.com, eharmony, dll
  • Social Commerce
Dunia bisnis pun saat ini mendapatkan keuntungan yang sangat banyak dengan adanya social computing karena ini berarti bahwa mereka dapat memberikan promosi yang lebih besar dan mendapatkan pelanggan lebih banyak. Namun perusahaan juga harus menjaga agar bukan berita buruk yang tersebar. Yang termasuk ke dalam social commerce adalah seperti kaskus, shopee, dll.
Resources: www.sis.binus.ac.id

ANALISIS ALGORITMA

No Comments



-       Algoritma adalah urutan langkah yang tepat dan pasti dalam memecahkan suatu masalah secara logis.
-       Beberapa masalah dapat diselesaikan dengan algoritma yang bermacam macam asal hasilnya sama.
-       Setiap bahasa pemrograman memiliki kelebihan dan kekurangan dalam mengimplementasikan algoritma dan setiap pemrogram dapat mengimplementasikan suatu algoritma dengan cara yang berbeda-beda pula.
-       Namun algoritma dapat dianalisis efisiensi dan kompleksitasnya.
-       Penilaian algoritma didasarkan pada:
·         Waktu eksekusi (paling utama)
·         Penggunaan memori/sumber daya
·         Kesederhanaan dan kejelasan algoritma
-       Analisis algoritma tidak mudah dilakukan secara pasti, maka hanya diambil:
·         Kondisi rata-rata (average case)
·         Kondisi terburuk (worst case)
-       Waktu eksekusi dipengaruhi oleh:
·         Jenis data input
·         Jumlah data input
·         Pemilihan instruksi bahasa pemrograman
-       Faktor-faktor yang menyulitkan analisis disebabkan oleh:
·         Implementasi instruksi oleh bahasa pemrograman yang berbeda
·         Ketergantungan algoritma terhadap jenis data
·         Ketidakjelasan algoritma yang diimplementasikan
-       Langkah-langkah analisis algoritma
·         Menentukan jenis/sifat data input.
·         Mengidentifikasi abstract operation dari data input.
·         Menganalisis secara matematis untuk menentukan average case atau worst case nya.

NOTASI Big-Oh
adalah fungsi yang lebih berkaitan dengan kelajuan proses daripada kelajuan pertambahan data.
T(n) = O(f(n))
jika ada konstan c dan no sedemikian rupa sehingga
T(n) ≤ c.f(n) untuk n ≥ no
Secara sederhana dikatakan bahwa O(f(n)) dpt dianggap sebagai nilai maksimum dari c.f(n).
Contoh:
Jika f(n) = 2n2 maka T(n) = O(n2)
Jika f(n) = 4n2 + 7n + 3 maka T(n) = O(n2)
Contoh program:

Penghitungan eksekusi:
˚       sum = 0                      dieksekusi 1 kali
˚       i = 0                             dieksekusi 1 kali
˚       i < n                            diekseklusi n kali
˚       i++                               dieksekusi n kali
˚       sum = sum + a[i]       dieksekusi n kali
----------------------
2 + 3n kali
Jadi T(n) = O(n)
Contoh program:

Penghitungan eksekusi:
-       sum = 0                            dieksekusi 1 kali
-       i = 0                                   dieksekusi 1 kali
-       i < n                                  dieksekusi 1 kali
-       i++                                     dieksekusi n kali
-       j = o                                   dieksekusi n kali
-       j < n                                   dieksekusi n × n kali
-       j++                                     dieksekusi n × n kali
-       sum = sum + a[ j ]           dieksekusi n × n kali
---------------------------
3 + 2n + 3n2 kali


  • Jika sebagian besar instruksi pada program hanya dieksekusi constant kali.
  • Bersifat konstan, tidak bergantung pada parameter atau banyak data yang diolah
  • Merupakan algoritma paling ideal
Contoh:

  • Waktu eksekusinya sebanding/sama dengan jumlah data.
  • Setiap data input hanya diolah secara sederhana. Misal hanya di tambah,
  • dikurangi, dikalikan, dan dibagi.
  • Inilah kondisi optimal yang dicari dalam membuat algoritma.
Contoh :

  • Waktu eksekusi berbading dengan kwadrat jumlah data. Misal:
·         Jika n=10 waktu eksekusinya 100
·         Jika n=20 waktu eksekusinya 400
  • Biasanya timbul karena setiap data dieksekusi 2 kali, misal dlm nested loop.
  • Contoh : Algoritma Bublesort
Contoh:

  • Waktu eksekusi sebanding dengan logaritma dari jumlah data.
  • Misal jumlah data menjadi 2 kali semula berarti waktu proses bertama 1 unit, jika 1000 kali bertambah 10 unit, jika sejuta berarti 20 satuan.
  • Biasanya untuk algoritma yang memecah masalah besar kedalam sub masalah yang lebih kecil.
  • Contoh : Algoritma binary search dan algoritma fungsi rekursif

  • Bersifat linieritmis (linier dan logaritmis)
  • Untuk algoritma yang memecah masalah besar menjadi sub-masalah yang lebih kecil dan diselesaikan secara terpisah, kemudian hasilnya digabungkan.
  • Contoh : Quicksort

Untuk algoritma yang mengolah setiap data input 3 kali. Biasanya berupa 3 buah nested loop.
  • Algoritma semacam ini sebisa mungkin dihindari.
Contoh:



  • Pada implementasinya, algoritma kadang-kadang memiliki Big-Oh yang merupakan kombinasi dari klasifikasi dasar tersebut.
  • Perancangan algoritma yang memiliki Big-Oh baik tetapi rumit tidak selalu menguntungkan apabila jumlah data inputnya hanya sedikit.
  • Nilai Big-Oh adalah nilai worst case, sehingga dalam implementasinya biasanya tidak mencapai nilai setinggi itu.
CONTOH DAN ATURAN
1.    For loop (perulangan)
Waktu eksekusi pada for loop, maksimum sebanyak waktu eksekusi statement-statement yang ada di dalam loop dikalikan banyaknya iterasi.
Contoh:
Waktu eksekusi = 2 x n kali
Jadi T(n) = O(n)
2.    Nested for loop (perulangan bersarang)
·         Dianalisis dari loop terdalam kemudian keluar.
·         Waktu eksekusi total sebuah statement adalah waktu eksekusi statement tsb dikalikan hasil kali dari banyaknya iterasi semua loop yang ada diluarnya.
Contoh:
a[i,j] akan dieksekusi sebanyak (m x n) kali.
Jadi T(n) = O(n2)
3.   Consecutive Statement (statement yang berurutan)
·         Untuk statement yang berurutan, waktu eksekusinya adalah jml dari masing-masing statement.
·         Berdasarkan pengertian Big-OH, hal tsb akan diambil nilai yang terbesar.
Contoh:
 Jadi T(n) = T1(n) + T2(n) = O(n2)
4.   if else
Total waktu eksekusi adalah waktu test ditambah waktu yang terbesar dari eksekusi Statemen1 atau Statemen2
Contoh:

Jadi total waktu eksekusi adalah 1 + 10 = 11
Jadi T(n) = O(n)

Congestion Control

No Comments





1. Congestion  (kemacetan)
      Congestion bisa diartikan macet atau perlambatan. Maksudnya, congestion merupakan perlambatan yang terjadi pada jalu paket-paket data. Kondisi ini di akibatkan ketika sebuah network yang besar mempunyai beban yang banyak dan mengakibatkan performansi menurun/lambat dengan kata lain jumlah pengiriman data melebihi kapasitas router yang ada. Hal ini dapat di analogikan seperti berikut , ketika kecepatan data dari suatu pengirim lebih tinggi dari pada yang lain maka pengirim yang mempunyai kecepatan lebih rendah mengalami kongesti.


Congestion  pada lalulintas jaringan disebabkan oleh :

1. Terlalu banyak host dalam sebuah broadcast domain. 
Host artinya alat yang terhubung ke jaringan yang bisa menerima dan mengirimkan informasi dari dan ke alat lainnya dalam jaringan tersebut. Broadcast domain adalah kumpulan dari alat-alat di sebuah segmen jaringan yang ( harus ) menerima paket broadcast yang dikirim oleh alat-alat yang lain dalam segmen jaringan tersebut.

2. Broadcast Storm
Terjadi karena semua alat mengirimkan paket broadcast ke seluruh alat-alat yang lain melalui jaringan. Semakin banyak host maka semakin besar broadcat storm.

3. Multicasting
Jika dalam satu jaringan terdapat banyak komputer di mana setiap komputer  mengakses beberapa halaman web bervolume tinggi dalam satu waktu yang sama maka besar kemungkinan akan terjadi Congestion Bandwith yang kecil. Jalur yang kecil akan membuat lalu lintas jaringan akan mudah padat jika di lewati oleh banyak data dalam satu periode.

4. Data Collision
 yaitu tabrakan data. Collision Domain, yaitu suatu kondisi network dimana sebuah alat mengirimkan paket data ke sebuah segmen network, yang kemudian memaksa semua alat lain yang ada di segmen jaringan tersebut untuk memperhatikan paketnya. Pada saat yang bersamaan alat yang berbeda mencoba untuk mengirimkan paket yang lain, yang mengakibatkan tabrakan (collision), paket yang dikirim menjadi rusak akibatnya semua alat harus melakukan pengiriman ulang paket. Sebuah kondisi yang tidak efisien.

5. Bandwith yang kecil
Media jaringan yang mempunya bandwith kecil sehingga tidak seimbang dengan banyaknya lalulintas data yang terjadi sehingga mengakibatkan overload.

Efek  Congestion

1.      Paket data yang tiba langsung disimpan pada buffer  masukan.
2.      Terbentuk routing
3.      Mampu membuang paket
4.      Paket bergerak ke buffer keluaran
5.      paket paket antri untuk dipancarkan keluar.
6.      Mampu menyebarkan congestion melalui jaringan
7.      Paket-paket data tersebut mengkondisikan seperti antrian yang siap untuk menjadi output.


2.  Jaringan   Data

         Jaringan data merupakan sekumpulan jalur  telekomunikasi dan peralatan switching   / pertukaran yang dapat memungkinkan berlangsungnya pengiriman data secara fisik. Tugas dari jaringan data yang terpenting adalah melakukan pertukaran dengan cepat dan benar diantara terminal-terminal dan sistem komputer.

Komponen jaringan data

Host atau node, yaitu sistem komputer yang berfungsi sebagai sumber atau penerima dari data yang dikirimkan. Node ini dapat berupa:

Server : komputer tempat penyimpanan data dan program-program aplikasi yang digunakan dalam                   jaringan,
Client : komputer yang dapat mengakses sumber daya (berupa data dan program aplikasi) yang ada                 pada server,
Shared pheriperal : peralatan-peralatan yang terhubung dan digunakan dalam jaringan (misalnya,                                        printer, scanner, harddisk, modem, dan lain-lain).
Link, adalah media komunikasi yang menghubungkan antara node yang satu dengan node lainnya.                         Media ini dapat berupa saluran transmisi kabel dan tanpa kabel,
Software (Perangkat Lunak), yaitu program yang mengatur dan mengelola jaringan secara keseluruhan. Termasuk di dalamnya sistem operasi jaringan yang berfungsi sebagai pengatur komunikasi data dan periferal dalam jaringan.

3.  Pengendali Kemacetan  / Conggestion Control
Congestion control digunakan untuk menangani terjadinya kemacetan. Terjadinya kemacetan bisa diterangkan lewat uraian berikut. Pada dasarnya, sebuah jaringan packet-switched adalah jaringan antrian. Pada masing-masing node, terdapat sebuah antrian paket yang akan dikirimkan ke kanal tertentu. Apabila kecepatan datangnya suatu paket dalam sebuah antrian lebih besar dibandingkan kecepatan pentransferan paket,maka akan muncul efek bottleneck. Apabila antrian makin panjang dan jumlah node yang menggunakan kanal juga bertambah, maka kemungkinan terjadi kemacetan sangat besar. Permasalahan yang serius yang diakibatkan efek congestion adalah deadlock , yaitu suatu kondisi di mana sekelompok node tidak bisa meneruskan pengiriman paket karena tidak ada buffer yang tersedia.

4.  Cara mengatasi congestion / kemacetan
Salah satu yang menyebabkan congestion adalah kelebihan beban dalam jaringan, dan cara mengatasinya dapat dilakukan dengan dua kemungkinan yaitu :

1. Melakukan segmentasi jaringan.
Karena kita tidak mungkin mengurangi komputer yang harus terkoneksi ke jaringan jadi langkah rasional yang bisa dilakukan adalah membagi beberapa host-host ke dalam beberapa segmen jaringan tersendiri.
2.Menyesuaikan dengan situasi jaringan.
3. Router disisipkan diantara segmen–segmen network
   Router digunakan untuk menghubungkan dua atau lebih network dan bertugas sebagai perantara dalam menyampaikan data antar network. Kita bisa menggunakan jenis router yang dedicated seperti router buatan perusahaan Cisco atau router jenis nondedicated seperti Pc Router (jenis komputer lama yang difungsikan sebagai router dengan menambah interface padanya menjadi dua interface).

Cara lainnya yaitu:
Beberapa teknik berikut dapat digunakan untuk mengatasi Congestion: 
  -   End-system flow control 
Ini bukan skema kontrol kongesti tetapi cara untuk menjaga agar sender tidak mengirimkan paket berlebih kepada receiver.

  -   Network congestion control 
Mekanisme ini hampir sama dengan end-to-end flowcontrol tetapi difokuskanuntuk mengurangi kongesti pada jaringan, bukan pada receiver.

   -   Network-based congestion avoidance
Pada skema ini, router mendeteksi kemungkinan terjadinya kongesti sehingga router  memperkecil paket yang dikirim sebelum antrian menjadi penuh.



Source: http://nurlinaamik.blogspot.com/2014/06/congestion-pada-jaringan-data.html

Intelligent System

No Comments

Intelligent System


Konsep Dasar Intelligent System/ Artificial Intelligent
Pengertian Intelligent System (AI) / Kecerdasan Buatan
merupakan salah satu cabang ilmu computer yang mempelajari bagaimana cara membuat sebuah mesin cerdas, yaitu mesin yang mempunyai kemampuan untuk belajar dan beradaptasi terhadap sesuatu.


Tujuan dari riset-riset Intelligent System (AI) / Kecerdasan Buatan adalah bagaimana membuat sebuah mesin bisa berfikir sama halnya dengan manusia yang bisa berfikir. AI digunakan untuk menjawab problem yang tidak dapat diprediksi dan tidak bersifat algoritmik atau prosedural. Sampai saat ini, para peneliti di bidang AI masih banyak menyimpan pekerjaan rumah mereka disebabkan kompleksitas penelitian di bidang Intelligent System (AI) / Kecerdasan Buatan serta faktor dukungan teknologi untuk merealisasikannya. Karena area cakupan yang luas, Intelligent System (AI) / Kecerdasan Buatan dibagi lagi menjadi subsub bagian di mana sub-sub bagian tersebut dapat berdiri sendiri dan juga dapat saling melengkapi satu dengan lainnya.

4 Dasar Kategori di Konsep dasar AI(Kecerdasan Buatan)
Berikut ini adalah 4 dasar dari kategori konsep AI yaitu :

1. Acting Humanly
Acting humanly ialah system yang melakukan pendekatan dengan menirukan tingkah laku seperti manusia yang dikenalkan pada tahun 1950 degan cara kerja pengujian melalui teletype yaitu jika penguji (integrator) tidak dapat membedakan yang mengintrogasai antara manusia dan computer maka computer tersebut dikatakan lolos(menjadi kecerdasan buatan).

2. Thinking Humanly
Yaitu system yang dilakukan dengan cara intropeksi yaitu penangkapan pemikiran psikologis
Manusia pada computer,hal ini sering diujikan dengan neuron ke neuron lainnya atau sel otak 
dengan sel otak lainnya cara pembelajarannya yaitu melalui experiment-experimen.

3. Thinking Rationaly
Ini merupakn system yang sangat sulit ,karena sering terjadi kesalah dala, prinsip dan prakteknya,system ini dikenal dengan penalaran komputasi.

4. Actng Rationaly
Yaitu system yang melakukan aksi dengan cara menciptakan suatu robotika cerdas yang menggantikan tugas manusia.

Disiplin Ilmu AI
Seperti yang telah disebutkan di atas bahwa AI merupakan salah satu cabang Ilmu Komputer. Tapi karena kompleksitas area AI maka dibuat sub-sub bagian yang dapat berdiri sendiri dan dapat saling bekerja sama dengan sub bagian lain atau dengan disiplin ilmu lain. Berikut ini beberapa cabang ilmu sub bagian dari AI :

1. Natural Languange Processing (NLP)
Natural Languange Processing (NLP) atau Pemrosesan Bahasa Alami, merupakan salah satu cabang AI yang mempelajari pembuatan sistem untuk menerima masukan bahasa alami manusia. Dalam perkembangannya, NLP berusaha untuk mengubah bahasa alami komputer (bit dan byte) menjadi bahasa alami manusia yang dapat kita mengerti. NLP merupakan ilmu dasar yang dapat dijadikan jembatan untuk membuat komunikasi antara mesin dengan manusia.

2. Expert System (ES)
Expert System (ES) atau Sistem Pakar, merupakan salah satu cabang AI yang mempelajari pembuatan sebuah sistem yang dapat bekerja layaknya seorang pakar. ES dapat menyimpan pengetahuan seorang pakar dan memberikan solusi berdasarkan pengetahuan yang dimilikinya tadi. ES juga merupakan salah satu cabang AI yang sering melakukan kerja sama dengan disiplin ilmu lain karena sifatnya yang dapat menyimpan pengetahuan.

3. Pattern Recognition (PR)
Pattern Recognition (PR) atau Pengenalan Pola, merupakan salah satu cabang AI yang mempelajari pembuatan sebuah sistem untuk dapat mengenali suatu pola tertentu. Misalnya sistem PR untuk mengenali huruf dari tulisan tangan, walaupun terdapat perbedaan penulisan huruf A dari masing-masing orang tetapi PR dapat mengenali bahwa huruf tersebut adalah huruf A. Beberapa aplikasi dari PR antara lain : voice recognition, Fingerprint Identification, Face Identification, Handwriting Identification, Optical Character Recognition, Biological Slide Analysis, Robot Vision dan lainnya.

4. Robotic
Robotic atau Robotika, merupakan salah satu cabang AI yang menggabungkan cabangcabang AI yang lain termasuk ketiga cabang di atas untuk membentuk sebuah sistem robotik. Keempat cabang AI di atas merupakan cabang umum yang banyak dipelajari, masih banyak cabang-cabang AI yang lainnya. Seiring perkembangan riset dalam AI, dapat dimungkinkan akan muncul cabang-cabang baru yang melengkapi unsur AI sehingga AI menjadi sebuah sistem lengkap dan akan mencapai goal-nya yang sampai sekarang masih belum sempurna.

Contoh-contoh Aplikasi AI
Berikut ini beberapa contoh-contoh aplikasi AI yang sudah diterapkan dan memberikan sumbangsih yang cukup diperhitungkan dalam kemajuan teknologi. Kebanyakan aplikasi AI yang banyak dipakai diambil dari bidang Expert System, diantaranya adalah :

a. Bidang Pertanian
Pada bidang Pertanian, dibuat Expert System untuk memprediksi kerusakan pada jagung yang disebabkan oleh ulat hitam dan memberikan konsultasi untuk mendiagnosa kerusakan pada kacang kedelai dengan menggunakan pengetahuan tentang gejala kerusakan dan lingkungan tanaman.

b. Bidang Kimia
Pada bidang Kimia, dibuat Expert System untuk menganalisa struktur DNA dari pembatasan segmentasi data enzim dengan menggunakan paradigmagenerate & test.

c. Bidang Sistem Komputer
Pada bidang Sistem Komputer, dibuat Expert System untuk membantu operator komputer untuk monitoring dan mengontrol MVS (multiple virtual storage) sistem operasi pada komputer mainframe IBM.

d. Bidang Elektronik
Pada bidang Elektronik, dibuat Expert System untuk mengidentifikasi masalah pada jaringan telepon, Expert System untuk simulasi perancangan DLC (digital logic circuits) dan mengajari pelajar bagaimana cara mengatasi masalah pada sirkuit elektronik.

e. Bidang Hukum
Pada bidang Hukum, dibuat Expert System untuk membantu para auditor profesional dalam mengevaluasi potensi kegagalan pinjaman klien berdasarkan sejarah pinjaman, status ekonomi, kondisi piutang.

f. Bidang Militer
Pada bidang Militer, dibuat Expert System untuk membantu menganalisa perkiraan situasi pertempuran, memberikan interpretasi taktik laporan sensor intelijen dan memberikan rekomendasi alokasi senjata kepada komandan militer pada saat situasi perang.


Referensi :

http://irpantips4u.blogspot.co.id/2012/12/konsep-dasar-artificial-intelligence-ai.html
http://seadanyaajalah.blogspot.co.id/2016/10/intelligent-system_55.html
https://anggarranawijaya.blogspot.com/2017/01/intelligent-system.html