Selasa, Juni 10, 2014

Keadilan

Keadilan adalah kondisi ketika sesuatu telah mencapai suatu kebenaran. Keadilan mewakili keadaan mahluk hidup. Setiap mahluk hidup memiliki nilai keadilannya masing-masing. Namun keadilan lebih umum digunakan untuk mewakili keadaan manusia. Manusia sering kali menuntut keadilan selama hidup di dunia. Mulai dari keadilan yang sederhana hingga keadilan yang rumit. Keadilan yang sederhana dapat dilihat dari kehidupan sehari-hari, seperti kehidupan keluarga dimana adik dan kakak harus dapat membagi tugas rumah sacara adil, adil disini adalah kondisi dimana pekerjaan yang dilakukan adalah sama jumlahnya atau sesuai dengan umur masing-masing. Sedangkan keadilan yang rumit adalah keadilan yang harus dipertanggungjawabkan hingga ke bagian hukum negara yaitu lembaga peradilan. Banyak kasus keadilan yang harus diperanggung jawabkan hingga lembaga peradilan, hal ini dikarenakan kurangnya sadar diri dari setiap manusia untuk saling menghargai satu sama lain untuk menciptakan rasa keadilan dan keharmonisan hidup.

Komputasi Modern dan Paralel Processing

Komputasi Modern
Komputasi Modern merupakan sebuah sistem yang akan menyelesaikan masalah matematis menggunakan komputer dengan cara menyusun algoritma yang dapat dimengerti oleh komputer yang berguna untuk menyelesaikan suatu masalah.  Dalam komputasi modern terdapat perhitungan dan pencarian solusi dari masalah. Perhitungan dari komputasi modern adalah akurasi, kecepatan, problem, volume dan besar kompleksitas.
Salah satu tokoh yang sangat mempengaruhi perkembangan komputasi modern adalah John von Neumann (1903-1957), Beliau adalah ilmuan yang meletakkan dasar-dasar komputer modern.Von Neumann telah menjadi ilmuwan besar abad 21. Von Neumann memberikan berbagai sumbangsih dalam bidang matematika, teori kuantum, game theory, fisika nuklir, dan ilmu komputer  yang di salurkan melalui karya-karyanya . Beliau juga merupakan salah satu ilmuwan yang terkait dalam pembuatan bom atom di Los Alamos pada Perang Dunia II lalu.

Komputasi modern mempunyai karakteristik komputasi modern yang terdiri atas 3 macam, yaitu :
1.     Komputer-komputer penyedia sumber daya bersifat heterogenous karena terdiri dari berbagai jenis perangkat keras, sistem operasi, serta aplikasi yang terpasang.
2.     Komputer-komputer terhubung ke jaringan yang luas dengan kapasitas bandwidth yang beragam.
3.     Komputer maupun jaringan tidak terdedikasi, bisa hidup atau mati sewaktu-waktu tanpa jadwal yang jelas.

Paralel Processing
Pemrosesan paralel (parallel processing) adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan.
Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan.

TUJUAN PARALLEL PROCESSING
Tujuan utama dari pemrosesan paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.

PARALLEL PROCESSING
Komputasi paralel

Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan.
Biasanya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak.

Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.
Pemrograman Paralel sendiri adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan. Bila komputer yang digunakan secara bersamaan tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam satu jaringan komputer, biasanya disebut sistem terdistribusi. Bahasa pemrograman yang populer digunakan dalam pemrograman paralel adalah MPI (Message Passing Interface) dan PVM (Parallel Virtual Machine).

Yang perlu diingat adalah komputasi paralel berbeda dengan multitasking. Pengertian multitasking adalah komputer dengan processor tunggal mengeksekusi beberapa tugas secara bersamaan. Walaupun beberapa orang yang bergelut di bidang sistem operasi beranggapan bahwa komputer tunggal tidak bisa melakukan beberapa pekerjaan sekaligus, melainkan proses penjadwalan yang berlakukan pada sistem operasi membuat komputer seperti mengerjakan tugas secara bersamaan. Sedangkan komputasi paralel sudah dijelaskan sebelumnya, bahwa komputasi paralel menggunakan beberapa processor atau komputer. Selain itu komputasi paralel tidak menggunakan arsitektur Von Neumann.

Hubungan Komputasi Modern dengan Parallel Processing
Penggunaan Komputer untuk menyelesaikan suatu permasalahan dalam berbagai bidang sekarang ini banyak dilakukan karena lebih  cepat dibandingkan penyelesaian secara manual. Oleh karena hal tersebut, perlu adanya peningkatan proses komputasi yang dapat ditempuh dengan 2 cara, yaitu:

Peningkatan Kecepatan Hardware : peningkatan kecepatan prosesor komputer dengan menggunakan multiprosesor. Perubahan arsitektur komputer menjadi multiprosesor memang dapat mengerjakan banyak proses dalam 1 waktu, namun tidak dapat mempercapat kinerja proses. Hal ini dapat diatasi dengan peningkatan kecepatan software.

Peningkatan Kecepatan Software : mencari suatu algoritma untuk mempercepat kinerja proses. Algoritma tersebut tidaklah mudah tuk ditemukan, namun berkat adanya komputer multiprosesor, hal tersebut dapat dirancang dengan memparalelkan proses komputasinya.
Komputer multiprosesor masihlah memerlukan biaya yang cukup besar sehingga menyebabkan beberapa algoritma paralel sulit diimplementasikan. Untuk mengatasinya dirancanglah mesin paralel semu. Mesin paralel semu ini sebenarnya adalah jaringan komputer yang dikendalikan oleh sebuah perangkat lunak yang mampu mengatur pengalokasian proses-proses komputasi kepada processor-processor yang tersebar dalam  jaringan tersebut.
Jadi kesimpulannya, dengan adanya paralel processing mempercepat waktu penyelesaian masalah komputasi karena proses dijalankan secara paralel dg beberapa processor/komputer dengan tujuan/algoritma yang sama. Banyaknya jumlah komputer/prosessor untuk paralel processing, proses komputasi menjadi lebih cepat.

Refrensi:
[2] http://bagusonthespot.blogspot.com/2012/04/parallel-processing.html

Senin, April 28, 2014

Disiplin dalam Belajar

Disiplin dalam belajar merupakan kata-kata emas yang sering ditemukan pada berbagai macam atribut pendidikan, mulai dari buku, sampul, hingga bangunan sekolah. Kata-kata ini ada bukan hanya sebagai hiasan semata. Tiga kata ini sangat mudah diucapkan tetapi sulit sekali untuk dikerjakan bagi kebanyakan orang. Siapapun yang dapat memegang teguh kalimat ini dan menjalankannya pada kehidupan sehari-hari, sudah dapat dipastikan bahwa kehidupan mereka kelak akan sukses.

Sukses menurut Kamus Besar Bahasa Indonesia, sukses berarti berhasil; beruntung. Dalam penerapannya sukses bagi kebanyakan orang berbeda-beda sesuai mimpi dan kemampuannya masing-masing. Disiplin dalam belajar merupakan salah satu kiat kesuksesan seseorang. Terkadang sukses dapat digapai dengan mudah melalui hal yang sudah didapatkan sejak lahir, ada juga yang mendapatkan kesuksesan dengan keberuntungan, tetapi lebih baik lagi jika sukses digapai melalui kerja keras, salah satunya disiplin dalam belajar.

Disiplin dalam belajar adalah hal yang harus diterapkan pada semua kalangan pelajar. Disiplin harus diterapkan sejak masih duduk di bangku sekolah dasar, bahkan sebelum masuk sekolah dasar. Jika disiplin telah diterapkan sejak awal, maka akan mudah untuk meneruskannya hingga tua nanti. Disiplin dalam belajar bukan hanya dihitung berdasarkan seringnya seseorang belajar materi pelajaran di sekolah maupun perguruan tinggi. Disiplin dalam belajar adalah bagaimana kemampuan seseorang dalam memanfaatkan waktunya sebaik mungkin dalam hal belajar, tanpa melupakan kewajiban lainnya baik bersosialisasi, olahraga, membantu orang tua, istirahat dan lain-lain. Apabila waktu yang dimiliki seseorang dapat dimanfaatkan sebaik mungkin hal inilah yang merupakan disiplin dalam belajar yang sesungguhnya. Karena belajar bukan hanya materi yang ada di sekolah maupun perguruan tinggi, tetapi belajar dari kehidupan dan pengalaman yang terjadi disekitar kita.

Komputasi Modern

A. Artikel Komputasi Modern
Komputasi modern terdiri dari dua kata yaitu komputasi dan modern,  dimana komputasi dapat diartikan sebagai cara untuk menemukan pemecahan permasalahan dari data input dengan suatu algoritma sedangkan modern ini mengungkapkan tentang teknologi masa kini. Maka dapat di simpulkan Komputasi modern merupakan perhitungan yang menggunakan komputer canggih dimana pada komputer tersebut tersimpan sejumlah algoritma untuk menyelesaikan masalah perhitungan secara efektif dan efisien.

Selain itu, komputasi modern mempunyai banyak fungsi guna memecahkan berbagai masalah seperti untuk menghitung:
1. Akurasi (bit, floating point)
2. Kecepatan (dalam satuanHz)
3. Problem volume besar (parallel)
4. Modeling (NN dan GA)
5. Kompleksitas (menggunakan Teori Bog O)

Komputansi modern mempunyai karakteristik komputasi modern yang terdiri atas 3 macam, yaitu:
1. Komputer-komputer penyedia sumber daya bersifat heterogenous karena terdiri dari berbagai jenis perangkat keras, sistem operasi, serta aplikasi yang terpasang.
2. Komputer-komputer terhubung ke jaringan yang luas dengan kapasitas bandwidth yang beragam.
3. Komputer maupun jaringan tidak terdedikasi, bisa hidup atau mati sewaktu-waktu tanpa jadwal yang jelas.

B. Sejarah Komputasi Modern
Sejarah komputer modern dimulai dengan dua teknologi yang terpisah -perhitungan otomatis dan dapat di program- tapi tidak ada satu perangkat pun yang dapat dikatakan sebagai komputer, karena sebagian penerapan yang tidak konsisten terhadap istilah tersebut.

Salah satu tokoh yang paling berpengaruh terhadap perkembangan komputasi modern adalah John Von Neumann (1903-1957). John Von Neumann adalah salah satu ahli matematika terbesar abad ini. Beliaulah yang pertama kali menggagas konsep sebuah sistem yang menerima instruksi-instruksi dan menyimpannya dalam sebuah memori. Konsep inilah yang menjadi dasar arsitektur komputer hingga saat ini. Beliau juga salah seorang ilmuwan yang sangat berpengaruh dalam pembuatan bom atom di Los Alamos pada Perang Dunia II lalu. Beliau telah memberikan karya-karya yang menakjubkan lewat teori kuantum, game theory, fisika nuklir, dan ilmu komputer.

John Von Neumann adalah anak pertama dari pasangan Neumann Miksa dan Kann Margit. Kedua orang tua nya memberikan nama Neumann Janos, begitulah nama asli dari John Von Neumann yang terlahir di Budapest, ibu kota Hungaria, pada tanggal 28 Desember 1903. Beliau terlahir dengan otak yang jenius, karena saat usia nya masih beliau beliau mampu menyeimbangkan kemampuan logika analitisnya dengan kemampuan sosial. Beliau memiliki bakat pada bidang matematika.

John Von Neumann juga sangat tertarik pada hidrodinamika dan kesulitan penyelesaian persamaan diferensial parsial nonlinier yang digunakan, Von Neumann kemudian beralih dalam bidang komputasi. Von Neumann menjadi seorang konsultan pada pengembangan komputer ENIAC, dia merancang konsep arsitektur komputer yang masih dipakai sampai sekarang. Arsitektur Von Nuemann adalah seperangkat komputer dengan program yang tersimpan (program dan data disimpan pada memori) dengan pengendali pusat, I/O, dan memori.

Berikut ini beberapa contoh komputasi modern sampai dengan lahirnya ENIAC:
1. Konrad Zuse’s electromechanical “Z mesin”. Z3 (1941) sebuah mesin pertama menampilkan biner aritmatika, termasuk aritmatika floating point dan ukuran programmability. Pada tahun 1998, Z3 operasional pertama di dunia komputer itu di anggap sebagai Turing lengkap.
2. Berikutnya Non-programmable Atanasoff-Berry Computer yang di temukan pada tahun 1941 alat ini menggunakan tabung hampa berdasarkan perhitungan, angka biner, dan regeneratif memori kapasitor. Penggunaan memori regeneratif diperbolehkan untuk menjadi jauh lebih seragam (berukuran meja besar atau meja kerja).
3. Selanjutnya komputer Colossus ditemukan pada tahun 1943, berkemampuan untuk membatasi kemampuan program pada alat ini menunjukkan bahwa perangkat menggunakan ribuan tabung dapat digunakan lebih baik dan elektronik reprogrammable. Komputer ini digunakan untuk memecahkan kode perang Jerman.
4. The Harvard Mark I ditemukan pada 1944, mempunyai skala besar, merupakan komputer elektromekanis dengan programmability terbatas.
5. Lalu lahirlah US Army’s Ballistic Research Laboratory ENIAC ditemukan pada tahun 1946, komputer ini digunakan untuk menghitung desimal aritmatika dan biasanya disebut sebagai tujuan umum pertama komputer elektronik (ENIAC merupakan generasi yang sudah sangat berkembang di zamannya sejak komputer pertama Konrad Zuse ’s Z3 yang ditemukan pada tahun 1941).

Sejarah dari komputasi modern sangat lah panjang perjalannya. Dari seorang John Von Neumann komputasi modern tersebut bisa berkembang sampai saat ini yang kita kenal dan kita tahu. Dari ilmu komputasi dan dikembangkan menjadi komputasi yang modern dengan menggunakan komputer yaitu Komputasi Modern.

C. Jenis-jenis Komputasi Modern
Komputasi modern mempunyai 3 jenis, yaitu:
1. Mobile Computing atau Komputasi Bergerak
Mobile computing (komputasi bergerak) merupakan kemajuan teknologi komputer sehingga dapat berkomunikasi menggunakan jaringan tanpa menggunakan kabel serta mudah dibawa atau berpindah tempat, tetapi berbeda dengan komputasi nirkabel. Berdasarkan penjelasan tersebut, untuk kemajuan teknologi ke arah yang lebih dinamis membutuhkan  perubahan dari sisi manusia maupun alat. Contoh dari mobile computing adalah GPS, smart phone, dan sebagainya.
Gambar 1.1 Mobile Computing

2. Grid Computing
Komputasi grid memanfaatkan kekuatan pengolahan idle berbagai unit komputer, dan menggunakan kekuatan proses untuk menghitung satu pekerjaan. Pekerjaan itu sendiri dikontrol oleh satu komputer utama, dan dipecah menjadi beberapa tugas yang dapat dilaksanakan secara bersamaan pada komputer yang berbeda. Tugas-tugas ini tidak perlu saling eksklusif, meskipun itu adalah skenario yang ideal. Sebagai tugas lengkap pada berbagai unit komputasi, hasil dikirim kembali ke unit pengendali, yang kemudian collates itu membentuk keluaran kohesif.
Keuntungan dari komputasi grid adalah dua kali lipat: pertama, kekuatan pemrosesan yang tidak digunakan secara efektif digunakan, memaksimalkan sumber daya yang tersedia dan, kedua, waktu yang dibutuhkan untuk menyelesaikan pekerjaan besar berkurang secara signifikan.
Idealnya kode sumber harus direstrukturisasi untuk membuat tugas-tugas yang saling eksklusif adalah sebagai mungkin. Itu tidak berarti bahwa mereka tidak bisa saling bergantung, tetapi pesan yang dikirim antara tugas-tugas meningkatkan faktor waktu. Satu pertimbangan penting saat membuat pekerjaan komputasi grid adalah bahwa apakah kode dijalankan serial atau paralel tugas, hasil dari keduanya harus selalu sama di setiap situasi.
Gambar 1.2 Grid Computing

3. Cloud Computing atau Komputasi Awan
Cloud computing adalah perluasan dari konsep pemrograman berorientasi objek abstraksi. Abstraksi, sebagaimana dijelaskan sebelumnya, menghapus rincian kerja yang kompleks dari visibilitas. Semua yang terlihat adalah sebuah antarmuka, yang menerima masukan dan memberikan output. Bagaimana output ini dihitung benar-benar tersembunyi.
Sebagai contoh, seorang sopir mobil tahu bahwa roda kemudi dengan memutar arah mobil yang mereka ingin pergi; atau yang menekan pedal gas akan menyebabkan mobil untuk mempercepat. Sopir biasanya tidak peduli tentang bagaimana arah dari roda kemudi dan pedal gas tersebut diterjemahkan ke dalam gerakan yang sebenarnya dari mobil. Oleh karena itu, rincian ini diabstraksikan dari sopir.
Cloud serupa, melainkan menerapkan konsep abstraksi dalam lingkungan komputasi fisik, dengan menyembunyikan proses yang benar dari pengguna. Dalam lingkungan komputasi awan, data bisa berada pada beberapa server, rincian koneksi jaringan yang tersembunyi dan pengguna tidak ada yang tahu. Bahkan, komputer awan awan dinamakan demikian karena sering digunakan untuk menggambarkan pengetahuan eksak tentang pekerjaan batin. Cloud komputasi berat berasal dari paradigma Unix memiliki beberapa elemen, masing-masing yang sangat baik pada satu tugas tertentu, daripada memiliki satu elemen besar yang tidak baik.
Gambar 1.3 Cloud Computing

D. Kesimpulan
Komputasi modern ternyata tidak pernah lepas dari kehidupan masyarakat sehari-hari pada akhir-akhir ini dan pada masa mendatang, karena gaya hidup masyarakat pada zaman modern ini tidak pernah lepas dengan peralatan elektronik yang selalu terhubung dengan jaringan internet dan komputasi modern ini akan selalu berkembang dan dikembangkan oleh manusia.

Dari artikel yang telah diperoleh kelebihan dari artikel tersebut adalah dapat menjelaskan secara singkat dan padat mengenai pengertian komputasi modern secara keseluruhan, sehingga seseorang yang masih mencari tahu apa itu komputasi modern dapat memahami dengan mudah apa yang dituliskan.

Kekurangan artikel tersebut adalah penjelasan mengenai sejarah komputasi modern yang kurang menjelaskan mengenai sejarah penemu komputasi modern.

E. Refrensi
[1] Hikaru (2011). Penjelasan Singkat Komputasi Modern dalam http://hikarunamie.wordpress.com/2011/06/03/penjelasan-singkat-komputasi-modern/ diunduh pada 29 April 2014.
[2] Husein, Nur Ihsan (2013). Pengantar Komputasi Modern dalam http://sharemyexpi.blogspot.com/2013/03/pengantar-komputasi-modern.html diunduh pada 29 April 2014.

Rabu, Maret 26, 2014

Penerapan Komputasi Modern pada Website Hiburan Disney Channel

Komputasi sebetulnya bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Hal ini ialah apa yang disebut dengan teori komputasi, suatu sub-bidang dari ilmu komputer dan matematika. Selama ribuan tahun, perhitungan dan komputasi umumnya dilakukan dengan menggunakan pena dan kertas, atau kapur dan batu tulis, atau dikerjakan secara mental, kadang-kadang dengan bantuan suatu tabel. Namun sekarang, kebanyakan komputasi telah dilakukan dengan menggunakan computer [1].
Komputasi modern adalah sebuah konsep sistem yang menerima intruksi-intruksi dan menyimpannya dalam sebuah memory, memory disini bisa juga dari memory komputer. Oleh karena pada saat ini kita melakukan komputasi menggunakan komputer maka bisa dibilang komputer merupakan sebuah komputasi modern [3].
Karakteristik komputasi modern ada 3 macam [2], yaitu:
1.    Komputer-komputer penyedia sumber daya bersifat heterogenous karena terdiri dari berbagai jenis perangkat keras, sistem operasi, serta aplikasi yang terpasang.
2.    Komputer-komputer terhubung ke jaringan yang luas dengan kapasitas bandwidth yang beragam.
3.    Komputer maupun jaringan tidak terdedikasi, bisa hidup atau mati sewaktu-waktu tanpa jadwal yang jelas.
Dalam kerjanya komputasi modern menghitung dan mencari solusi dari masalah yang ada, dan perhitungan yang dilakukan itu meliputi [2]:
1.    Akurasi (big, Floating point)
2.    Kecepatan (dalam satuan Hz)
3.    Problem Volume Besar (Down Sizzing atau pararel)
4.    Modeling (NN & GA)
5.    Kompleksitas (Menggunakan Teori big O)
Jenis-jenis komputasi modern ada 3 macam [2], yaitu:
1.    Mobile Computing atau Komputasi Bergerak Mobile computing (komputasi bergerak) merupakan kemajuan teknologi komputer sehingga dapat berkomunikasi menggunakan jaringan tanpa menggunakan kabel serta mudah dibawa atau berpindah tempat, tetapi berbeda dengan komputasi nirkabel.
2.    Grid Computing Komputasi grid memanfaatkan kekuatan pengolahan idle berbagai unit komputer, dan menggunakan kekuatan proses untuk menghitung satu pekerjaan.
3.    Cloud Computing atau Komputasi Awan Cloud computing adalah perluasan dari konsep pemrograman berorientasi objek abstraksi. Abstraksi, sebagaimana dijelaskan sebelumnya, menghapus rincian kerja yang kompleks dari visibilitas.
Pada kesempatan ini saya akan menjelaskan komputasi modern yang diterapkan dalam website  Disney Channel. Disney merupakan perusahaan yang bergerak dalam bidang hiburan. Website Disney Channel menerapkan salah satu jenis komputasi modern yang ada, yaitu cloud computing (komputasi awan).
Tampilan halaman utama website http://www.disneychannel-asia.com/:
Tampilan halaman utama website sudah dapat menggambarkan keseluruhan isi website tersebut. Dapat diperhatikan paduan warna website tersebut sangat menarik untuk dilihat, gambar yang ditampilkan juga menonjolkan apa yang sedang populer atau diharapkan akan populer dalam website tersebut. Tampilan website yang sangat halus dikarenakan menggunakan flash dan javascript yang baik, sehingga menghasilkan perpaduan website yang menarik untuk ditelusuri. Karena channel Disney lebih diperuntukan untuk kalangan anak-anak yang masih kecil ataupun sudah mulai beranjak remaja channel ini lebih memberikan kesan lucu dan penuh warna.
 Bagian header website:
Header website Disney Channel menampilkan tokoh Disney yang ada di film-film yang sedang diputar di Channel tersebut. Masing-masing tokoh memiliki games nya (permainan) masing-masing yang dapat dimainkan oleh user dan tentu saja beberapa cuplikan film tokoh-tokoh tersebut yang menerapkan aplikasi cloud computing (komputasi awan).
Bagian side website:

Bagian samping kiri website yang memberikan jadwal acara yang terupdate di channel tersebut. Sedangkan untuk bagian kanannya menunjukan games apa saja yang baru ditambahkan dalam website tersebut.
Gambar diatas merupakan bagian tengah website yang menampilkan apa saja yang sedang populer di Disney sendiri dan apa saja yang harus diketahui para pencinta Disney Channel.
            Bagian dari website ini yang menunjukan bahwa website ini termasuk dalam website yang menerapkan komputasi modern adalah games yang disediakan website ini, yaitu:
Gambar diatas menunjukan games “Phinneas and Ferb Escape from Mole Tropolis” , games tersebut merupakan salah satu games dari ratusan games yang tersedia pada website tersebut. Penerapan yang digunakan adalah komputasi modern pada jenis komputasi awan, yang memberikan akses bermain kepada user tanpa harus melakukan instalasi game kedalam komputer user. Sehingga tidak akan memberatkan tempat penyimpanan data user, dan user dapat mencantumkan nama mereka jika berhasil mendapatkan skor yang tinggi.

Komentar :
Kelebihan yang dimiliki website Disney Channel adalah tampilan yang sangat menarik perhatian pengguna website, tanpa harus melihat lebih jauh apa saja isi dari website tersebut pengguna bisa saja hanya diam dan memperhatikan website tersebut karna tampilannya yang menarik. Games yang ada di website Disney dapat diakses tanpa harus menginstall program kedalam komputer user. Games yang disediakan pun terdiri dari berbagai macam genre (jenis) sehingga dapat dinikmati oleh penggemar games manapun. Saat membuka games juga hanya membutuhkan waktu yang singkat hingga user dapat menikmati games yang disediakan, karena games yang disediakan cukup ringan untuk dibuka dengan kecepatan internet yang stabil.
Tak ada gading yang tak retak. Website yang memiliki tampilan dan fungsi yang sangat kompleks ini membutuhkan kecepatan internet di atas rata-rata supaya dapat membuka setiap page dengan cepat. Dalam membuka permainan yang sudah ditentukan memang cukup cepat, tetapi saat membuka halaman website ini untuk pertama kalinya akan dirasa cukup lambat.


Refrensi
[1] Wikipedia (2013). Komputasi dalam http://id.wikipedia.org/wiki/Komputasi diunduh pada Rabu, 26 Maret 2014.
[2] Winarno, Andi (2013). Komputasi Modern dalam http://cakrawalamaya.blogspot.com/2013/03/komputasi-modern.html diunduh pada Rabu, 26 Maret 2014.
[3] Ririn (2013). Komputasi Modern dalam http://missririn.blogspot.com/2012/03/komputasi-modern.html diunduh pada Rabu, 26 Maret 2014.

Sabtu, Desember 07, 2013

Thinning Process

Makalah Pengolahan Citra
Thinning Processing


Nama :    1. Muhamad Fitriansyah ( 54410577 )
2. Adry Genialdi (50410235)

Kelas      : 4IA11





UNIVERSITAS GUNADARMA
2013





 Pengertian Pengolahan Citra
Pengolahan citra adalah setiap bentuk pengolahan sinyal dimana input adalah gambar, seperti foto atau video bingkai, sedangkan outputdari pengolahan gambar dapat berupa gambar atau sejumlah karakteristik atau parameter yang berkaitan dengan gambar. Kebanyakan gambar-teknik pemrosesan melibatkan atau memperlakukan foto sebagai dimensi dua sinyal dan menerapkan standar-teknik pemrosesan sinyal untuk itu, biasanya hal tersebut mengacu pada pengolahan gambar digital,tetapi dapat juga digunakan untuk optik dan pengolahan gambar analog. Akuisisi gambar atau yang menghasilkan gambar input di tempat pertama disebut sebagai pencitraan.
Pengolahan citra merupakan proses pengolahan dan analisis citra yang banyak melibatkan persepsi visual. Proses ini mempunyai ciri data masukan dan informasi keluaran yang berbentuk citra. Istilah pengolahan citra digital secara umum didefinisikan sebagai pemrosesan citra dua dimensi dengan komputer. Dalam definisi yang lebih luas, pengolahan citra digital juga mencakup semua data dua dimensi. Citra digital adalah barisan bilangan nyata maupun kompleks yang diwakili oleh bit-bit tertentu.
Umumnya citra digital berbentuk persegi panjang atau bujur sangkar (pada beberapa sistem pencitraan ada pula yang berbentuk segienam) yang memiliki lebar dan tinggi tertentu. Ukuran ini biasanya dinyatakan dalam banyaknya titik atau piksel sehingga ukuran citra selalu bernilai bulat. Setiap titik memiliki koordinat sesuai posisinya dalam citra. Koordinat ini biasanya dinyatakan dalam bilangan bulat positif, yang dapat dimulai dari 0 atau 1 tergantung pada sistem yang digunakan. Setiap titik juga memiliki nilai berupa angka digital yang merepresentasikan informasi yang diwakili oleh titik tersebut.
Format data citra digital berhubungan erat dengan warna. Pada kebanyakan kasus, terutama untuk keperluan penampilan secara visual, nilai data digital merepresentasikan warna dari citra yang diolah. Format citra digital yang banyak dipakai adalah Citra Biner (monokrom), Citra Skala Keabuan ( gray scale ), Citra Warna ( true color ), dan Citra Warna Berindeks.
Perangkat sistem pengolah citra dikelompokkan menjadi tiga bagian yaitu:
1. Perangkat keras (hardware)
2. Perangkat lunak (software)
3. Intelejensi manusia (brainware)
Ketiga pengelompokkan sistem pengolah citra tersebut sudah menjadi hal mutlak dalam pengolah citra. Dimana pada komputer-komputer saat ini sudah hampir dikatakan memenuhi standart spesifikasi untuk melakukan pengolahan citra. Namun kenyataanya masih banyak perangkat yang lainnya yang perlu kita lengkapi untuk melakukan pengolahan citra, bukan hanya sekedar komputer, melainkan perangkat-perangkat lainnya yang tidak include dalam sebuah komputer atau PC.


Pengertian Thinning
Thinning merupakan salah satu image processing yang digunakan untuk mengurangi ukuran dari suatu image (image size) dengan tetap mempertahankan informasi dan karakteristik penting dari image tersebut. Hal ini diimplementasikan dengan mengubah image awal dengan pola binary menjadi representasi kerangka (skeletal representation) image tersebut.
Thinning merupakan tahapan yang penting dalam proses image processing. Hal ini dikarenakan prosedur thinning memainkan peranan yang penting dalam suatu ruang lingkup yang luas dari masalah yang timbul dalam image processing. Ruang lingkup tersebut dapat bermula dari pengawasan otomatis dari sirkuit yang dicetak sampai pada penghitungan serat-serat asbes dalam penyaring udara.
Representasi kerangka dari suatu image—hasil dari proses thinning—memiliki sejumlah sifat dan ciri-ciri yang bermanfaat, diantaranya ukurannya yang kecil (karena pengurangan jumlah data dalam jumlah yang besar) dan pertahanan komponen struktur utama dari pola tersebut (komponen-komponen tersebut dapat digunakan pada saat penganalisaan bentuk).


Metodologi Image-Thinning
Metodologi dari thinning diartikan sebagai algoritma-algoritma atau prosedur-prosedur yang dapat digunakan untuk melakukan proses thinning tersebut. Suatu metode (algoritma/ prosedur) thinning yang baik seharusnya melindungi dan mempertahankan topologi, panjang, dan orientasi dari image yang di-thinning. Sementara itu, hasil proses thinning (skeletal representation) seharusnya mampu merepresentasikan fitur-fitur utama seperti penggabungan, pojok (sudut), dan titik akhir.
Secara umum, image-thinning berguna untuk mengurangi tresholded citra output yang dihasilkan dari edge detector, menjadi garis dengan ukuran ketebalan satu pixel saja. Untuk mewujudkan kegunaan ini, terdapat algoritma sederhana yang dapat diaplikasikan, yakni sebagai berikut:
Umpamakan semua piksel pada batas-batas daerah foreground (contohnya titik-titik pada foreground hanya memiliki satu background neighbour. Hapus semua titik yang memiliki foreground neighbour lebih dari satu. Lakukan berulang-ulang sampai konvergen.
Atau dengan rumus sederhana: thin (i, j) = i – hit -dan-miss (i, j)
Algoritma ini tidak bisa memberikan efek pada pixel-pixel di akhir garis. Cara ini dapat disempurnakan dengan cara melakukan hit-dan-miss dengan struktur elemen yang dirotasikan 900.


Implementasi Process thinning
Pada proses implementasi ini kami menggunakan OpenCV untuk melakukan proses thinning, dengan melakukan langkah-langkah sebagai berikut :
Pertama tulis atau ketikkan Syntax  atau codingan seperti berikut :

/**
 * Code for thinning a binary image using Zhang-Suen algorithm.
 */
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>

/**
 * Perform one thinning iteration.
 * Normally you wouldn't call this function directly from your code.
 *
 * @param  im    Binary image with range = 0-1
 * @param  iter  0=even, 1=odd
 */
void thinningIteration(cv::Mat& im, int iter)
{
    cv::Mat marker = cv::Mat::zeros(im.size(), CV_8UC1);

    for (int i = 1; i < im.rows-1; i++)
    {
        for (int j = 1; j < im.cols-1; j++)
        {
            uchar p2 = im.at<uchar>(i-1, j);
            uchar p3 = im.at<uchar>(i-1, j+1);
            uchar p4 = im.at<uchar>(i, j+1);
            uchar p5 = im.at<uchar>(i+1, j+1);
            uchar p6 = im.at<uchar>(i+1, j);
            uchar p7 = im.at<uchar>(i+1, j-1);
            uchar p8 = im.at<uchar>(i, j-1);
            uchar p9 = im.at<uchar>(i-1, j-1);

            int A  = (p2 == 0 && p3 == 1) + (p3 == 0 && p4 == 1) +
                     (p4 == 0 && p5 == 1) + (p5 == 0 && p6 == 1) +
                     (p6 == 0 && p7 == 1) + (p7 == 0 && p8 == 1) +
                     (p8 == 0 && p9 == 1) + (p9 == 0 && p2 == 1);
            int B  = p2 + p3 + p4 + p5 + p6 + p7 + p8 + p9;
            int m1 = iter == 0 ? (p2 * p4 * p6) : (p2 * p4 * p8);
            int m2 = iter == 0 ? (p4 * p6 * p8) : (p2 * p6 * p8);

            if (A == 1 && (B >= 2 && B <= 6) && m1 == 0 && m2 == 0)
                marker.at<uchar>(i,j) = 1;
        }
    }

    im &= ~marker;
}

/**
 * Function for thinning the given binary image
 *
 * @param  im  Binary image with range = 0-255
 */
void thinning(cv::Mat& im)
{
    im /= 255;

    cv::Mat prev = cv::Mat::zeros(im.size(), CV_8UC1);
    cv::Mat diff;

    do {
        thinningIteration(im, 0);
        thinningIteration(im, 1);
        cv::absdiff(im, prev, diff);
        im.copyTo(prev);
    }
    while (cv::countNonZero(diff) > 0);

    im *= 255;
}

/**
 * This is an example on how to call the thinning function above.
 */
int main()
{
    cv::Mat src = cv::imread("horse.png");
    if (src.empty())
        return -1;

    cv::Mat bw;
    cv::cvtColor(src, bw, CV_BGR2GRAY);
    cv::threshold(bw, bw, 10, 255, CV_THRESH_BINARY);

    thinning(bw);

    cv::imshow("src", src);
    cv::imshow("dst", bw);
    cv::waitKey(0);

    return 0;
}



Setelah mengetikkan syntax seperti diatas, maka kita jalankan lalu kita build program tersebut. Apabila build tersebut telah berhasil, lalu lakukan debug program dimana saat melakukan debug makan secara otomatis program tersebut akan berjalan.

Output