Thursday, 21 April 2016

Parallel Processing dan Kontribusinya Dalam Dunia Komputasi


  1. Konsep Parallel Processing
    1. Pemrosesan parallel (parallel processing) adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat programberjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek,seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya. 

      Komputasi parallel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanyadiperlukan saat kapasitas yangdiperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karenatuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis komputasi paralel inidiperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkandengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itudiperlukan aneka perangkat lunak pendukung yang biasa disebut sebagaimiddleware yangberperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnyapemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.

      Pemrograman parallel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupunbanyak (prosesor ganda dengan mesin paralel) CPU. Tujuan utama dari pemrograman paraleladalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secarabersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.

      Komputasi paralel membutuhkan:
      Algoritma
      Bahasa pemrograman
      Compiler

  2. Arsitektur Komputer Parallel

    1. SISD (Single Instruction stream-Single Data stream)
    2. Yang merupakan singkatan dari Single Instruction, Single Data adalah satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa processor. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.

    3. SIMD (Single Instruction stream-Multiple Data stream)
    4. Yang merupakan singkatan dari Single Instruction, Multiple Data. SIMD menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).

    5. MISD (Multiple Instruction stream-Single Data stream)
    6. Yang merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan banyak processor dengan setiap processor menggunakan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh, kita bisa menggunakan kasus yang sama pada contoh model SIMD namun cara penyelesaian yang berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah data dari urutan 1-100, namun algoritma yang digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer yang menggunakan model MISD.

    7. MIMD (Multiple Instruction stream-Multiple Data stream)
    8. Yang merupakan singkatan dari Multiple Instruction, Multiple Data. MIMD menggunakan banyak processor dengan setiap processor memiliki instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.

  3. Perbedaan Parallel Processing dan Single Processing

  4. Single Processing
    Parallel Processing

      Dari perbedaan kedua gambar di atas, kita dapat menyimpulkan bahwa kinerja komputasi paralel lebih efektif dan dapat menghemat waktu untuk pemrosesan data yang banyak daripada komputasi tunggal. Dari penjelasan-penjelasan di atas, kita bisa mendapatkan jawaban mengapa dan kapan kita perlu menggunakan komputasi paralel. Jawabannya adalah karena komputasi paralel jauh lebih menghemat waktu dan sangat efektif ketika kita harus mengolah data dalam jumlah yang besar. Namun keefektifan akan hilang ketika kita hanya mengolah data dalam jumlah yang kecil, karena data dengan jumlah kecil atau sedikit lebih efektif jika kita menggunakan komputasi tunggal.

  5. Implementasi Komputasi Parallel (Dunia Perfilman)

      Kemajuan di bidang komputasi, khususnya dalam bidang komputer grafis memberikan kemudahan untuk memodelkan suatu benda dalam alam 3 dimensi virtual di komputer. Kita dapat membuat suatu benda dalam wujud 3 dimensi dan mengubah-ubah sudut pandang, menentukan pencahayaan, bahkan menyusun gerakan benda dalam alam 3 dimensi virtual tersebut. Perkembangan ini muncul dari kebutuhan di bidang manufaktur untuk memiliki komputer yang dapat membantu perancangan (computer aided design-CAD). Ditemukannya teknik-teknik dan metoda rendering suatu obyek 3 D ke dalam media 2 D membuat benda yang dihasilkan oleh perangkat lunak ini menjadi semakin nyata dan menyerupai aslinya.

      Terdapat 2 klasifikasi parallel computer yang penting, yaitu : Sebuah komputer dengan banyak unit komputasi internal, atau lebih dikenal sebagai Shared Memory Multiprocessor. Beberapa komputer yang terhubung melalui sebuah jaringan, atau lebih dikenal sebagai Distributed Memory Multicomputer.

      Pada bagian ini yaitu pada rendering Film digunakan unit Komputasi parallel Distributed Memory Multicomputer. Hal ini dikarenakan computer yang digunakan untuk membuat rendering filmnya adalah Kluster Komputer. Kluster computer adalah proses menghubungkan beberapa computer agar dapat bekerja secara bersama-sama dengan sebuah jaringan sebagai media penghubungnya.
      Komponen kluster biasanya saling terhubung dengan cepat melalui sebuah interkoneksi yang sangat capat, atau juga melalui jaringan local (LAN). 
      Keuntungan memakai Kluster Komputer ini yaitu pemrosesan dapat dilakukan lebih cepat karena  mempunyai mesin-mesin yang masing-masing multiprocessor. Terdapat incremental Scalability dimana penambahan system-sistem baru dengan inkremen yang kecil. Dalam Kluster Komputer kegagalan yang terjadi di dalam satu node tidak berarti atau disebut dengan “Loss of service”. Dan yang terakhir yaitu biaya yang dibutuhkan lebih murah, hal ini dikarenakan Kluster computer dapat menghasilkan power komputasi yang sama atau lebih tinggi dari computer parallel sebenarnya.

      3D Rendering merupakan salah satu proses yang sangat penting dalam melakukan pengolahan gambar 3D. Tanpa dirender suatu gambar yang diolah oleh perangkat lunak animasi 3D hanya akan tampil dalam bentuk kumpulan point dan wireframe sederhana. Proses render melakukan “pembungkusan” tekstur pada objek yang bersesuaian sesuai cahaya yang datang pada objek tersebut. Namun proses render membutuhkan daya komputasi yang sangat besar karena banyaknya titik koordinat yang harus dikomputasi, terutama jika data 3D yang diolah cukup rumit.

      3D Rendering terdiri dari proses yang bertujuan untuk membentuk sebuah gambar dari sebuah model yang dibentuk oleh perangkat lunak animasi, model tersebut berisi data geometri, titik pandang, tekstur dan cahaya yang diperlukan untuk membuat gambar yang utuh.3D Rendering merupakan proses yang sangat penting dan telah digunakan untuk berbagai macam penggunaan, seperti program permainan komputer, efek spesial pada film dan program simulasi.
      Salah satu cara untuk memecahkan masalah tersebut adalah dengan menggunakan algoritma Divide and Conquer yang diterapkan kedalam metode Komputasi Parallel. Divide and Conquer merupakan salah satu strategi algoritma yang memecah suatu masalah besar menjadi beberapa bagian untuk kemudian dikerjakan satu persatu. Dalam Komputasi Parallel tiap-tiap bagian dikerjakan oleh unit pemrosesannya masing-masing, sesuai dengan kesepakatan Divide pada awal komputasi. Komputasi Parallel terbukti jauh lebih efektif untuk melakukan rendering objek 3D dibanding hanya menggunakan sebuah unit komputasi. Sebagai contoh suatu perusahaan animasi asal Jepang, membutuhkan waktu 165 tahun jika proses render yang dilakukan untuk membuat animasi berdurasi 100 menit hanya menggunakan sebuah unit komputasi. Sedangkan ketika perusahaan tersebut menggunakan metode Komputasi Parallel, proses tersebut hanya membutuhkan waktu 1 tahun saja.

      Salah satu masalah kompleks yang hingga kini masih membutuhkan kemampuan komputasi yang besar adalah melakukan proses render terhadap objek 3D. Proses render objek 3D sendiri membutuhkan waktu yang cukup lama, terlebih jika objek yang diberikan cukup rumit.
        
      Melakukan 3D Rendering tentu akan merupakan masalah yang sangat merepotkan jika tidak menggunakan algoritma memadai, dikarenakan banyaknya point dan polygon yang harus dikalkulasi setiap proses. Penggunaan algoritma Divide and Conquer tentu sangat membantu agar pekerjaan penghitungan yang sangat banyak dalam proses render dapat dikerjakan oleh beberapa unit komputasi sekaligus secara bersamaan. Hal ini juga telah dibuktikan dengan banyaknya perusahaan animasi dan film yang sering melakukan pekerjaan proses render menggunaan sistem komputasi paralel di dalam perusahaan mereka.




Daftar Pustaka
  1. https://www.wikiwand.com/id/Komputasi_paralel
  2. https://dikky12.wordpress.com/2011/04/01/parallel-processing/
  3. https://andri102.wordpress.com/game/soft-skill/konsep-komputasi-parallel-processing/
  4. http://mahadisuta.blogspot.com/2012/12/implementasi-komputasi-paralel-dalam.html
Versi docx untuk tulisan ini tersedia di Dropbox dan AF Box.

Disusun oleh :

  • Muhammad Adi Fahmizzaman (54412842)
  • Darmawan Abdillah (51412721)
  • Riswan F (56412479)
4IA14








Thursday, 17 March 2016

Pengantar Komputasi Modern


  1. Pendahuluan
    1. Teori Komputasi

      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 komputer.

    2. Implementasi Komputasi

    1. Bidang Fisika
    2. Implementasi komputasi modern di bidang fisika contohnya pada Computational Physics yang mempelajari suatu gabungan antara Fisika, Komputer Sains dan Matematika Terapan untuk memberikan solusi pada “Kejadian dan masalah yang kompleks pada dunia nyata” baik dengan menggunakan simulasi juga penggunaan algoritma yang tepat.

    3. Bidang Kimia
    4. Implementasi komputasi modern di bidang kimia adalah Computational Chemistry yaitu penggunaan ilmu komputer untuk membantu menyelesaikan masalah kimia, contohnya penggunaan super komputer untuk menghitung struktur dan sifat molekul.

    5. Bidang Matematika
    6. Menyelesaikan sebuah masalah yang berkaitan dengan perhitungan matematis, namun dalam pengertian yang akan dibahas dalam pembahasan komputasi modern ini merupakan sebuah sistem yang akan menyelesaikan masalah matematis menggunakan komputer dengan cara menyusun algoritma.

  2. Komputasi Awan
  3. Komputasi awan (Cloud Computing) adalah di mana informasi secara permanen tersimpan di server di internet dan tersimpan secara sementara di komputer pengguna atau client seperti desktop, komputer tablet, notebook, komputer tembok, handheld, sensor-sensor, monitor dan lain-lain. 
    1. Komputasi Grid
    2. Komputasi Grid adalah penggunaan sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan komputasi dalam skala besar.

    3. Virtualisasi
    4. Virtualisasi adalah membuat sebuah simulasi dari perangkat keras, sistem operasi, jaringan maupun yang lainnya. Di bidang teknologi informasi, virtualisasi digunakan sebagai sarana untuk improvisasi skalabilitas dari perangkat keras yang ada.

    5. Distributed Computation dalam Cloud Computing
    6. Kegiatan ini merupakan kumpulan beberapa computer yang terhubung untuk melakukan pendistribusian, seperti mengirim dan menerima data serta melakukan interaksi lain antar computer yang dimana membutuhkan sebuah jaringan agar computer satu dan lainnya bisa saling berhubung dan melakukan interaksi.

    7. Map Reduce dan NoSQL (Not Only SQL)
    8. MapReduce adalah model pemrogramana rilisan Google yang ditujukan untuk memproses data berukuran raksasa secara terdistribusi dan parallel dalam cluster yang terdiri atas ribuan komputer.
      NoSQL adalah tipe database yang sangat jauh berbeda dengan konsep RDBMS ataupun ODBMS. Perbedaan utamanya sendiri yaitu karena tidak mengenal istilah relation dan tidak menggunakan konsep schema.

  4. Quantum Computation
  5. Komputer kuantum adalah alat hitung yang menggunakan sebuah fenomena mekanika kuantum, misalnya superposisi dan keterkaitan, untuk melakukan operasi data. Dalam komputasi klasik, jumlah data dihitung dengan bit; dalam komputer kuantum, hal ini dilakukan dengan qubit. Prinsip dasar komputer kuantum adalah bahwa sifat kuantum dari partikel dapat digunakan untuk mewakili data dan struktur data, dan bahwa mekanika kuantum dapat digunakan untuk melakukan operasi dengan data ini. Dalam hal ini untuk mengembangkan komputer dengan sistem kuantum diperlukan suatu logika baru yang sesuai dengan prinsip kuantum.  
    1. Algoritma Sorting
    2. Algoritma Sorting merupakan algoritma yang menempatkan elemen list pada urutan tertentu. Urutan yang paling sering digunakan ialah urutan numerikal dan urutan lexicographical. Sorting yang efisien sangat dibutuhkan untuk mengoptimisasi penggunaan dari algoritma lain seperti pencarian dan penggabungan yang membutuhkan list terurut untuk berjalan dengan sempurna,

  6. Parael Computation
  7. Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar (di industri keuangan, bioinformatika, dll) ataupun karena tuntutan proses komputasi yang banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi) dll.


Daftar Pustaka
  1. https://id.wikipedia.org/wiki/Komputasi
  2. https://ariefimam2.wordpress.com/2015/08/03/implementasi-komputasi-pada-bidang-kimia/
  3. https://pranoto0512.wordpress.com/rted/pengertian-komputasi-awan-cloud-computing/
  4. https://id.wikipedia.org/wiki/Komputasi_grid
  5. http://djuneardy.blogspot.com/2015/03/cloud-computing-pengertian-cloud.html
  6. https://id.wikipedia.org/wiki/Komputer_kuantum
  7. https://id.wikipedia.org/wiki/Komputasi_paralel
  8. https://id.wikipedia.org/wiki/Algoritma_sorting

Versi docx untuk tulisan ini tersedia di Dropbox dan AF Box.





Monday, 4 January 2016

Aspek - Aspek Perusahaan PT Djojo Informatika



PT Djojo Informatika Sejahtera

  • Aspek Legal

Djojo Informatika Sejahtera ini adalah sebuah perusahaan yang bergerak dalam bidang informatika, didirikan pada November 2015 di Jakarta. Spesialisasi bidang perusahaan ini adalah perdagangan alat komputer dan jaringan, jasa pemasangan serta pemeliharaan jaringan, dan jasa pembuatan program / aplikasi dan website.

Dalam hal permodalan usaha pada perusahaan ini modal sebesar Rp.500.000.000,- terbagi menjadi 1000 lembar saham dan masing – masing saham bernilai Rp.500.000.000,-, Pembagian pemegang saham pada perusahaan ini dimiliki oleh 5 orang dengan persentase 1 orang mendapat 200 lembar saham atau senilai Rp.100.000.000,- atau 20 % dari total modal keseluruhan.

Dalam mendirikan sebuah perusahaan tentunya diperlukan beberapa persyaratan yang sifat administratif diantaranya seperti Akta Pendirian Usaha dari notaris, SIUP, dan NPWP.

Akta pendirian usaha diperoleh dengan cara mendaftarkan kepada notaris, dalam akta pendirian usaha dijelaskan hal hal yang berkaitan dengan usaha misalnya, siapa direktur dari perusahaan tersebut, siapa saja yang berlaku sebagai pemengang saham, siapa komisaris dalam perusahaan tersebut, dan lain sebagainya.