Rabu, 27 April 2016

parallel computation

D. Pengantar Thread Programming

Dalam pemrograman komputer, sebuah thread adalah informasi terkait dengan penggunaan sebuah program tunggal yang dapat menangani beberapa pengguna secara bersamaan. Dari program point-of-view, sebuah thread adalah informasi yang dibutuhkan untuk melayani satu pengguna individu atau permintaan layanan tertentu. Jika beberapa pengguna menggunakan program atau permintaan bersamaan dari program lain yang sedang terjadi, thread yang dibuat dan dipelihara untuk masing-masing proses. Thread memungkinkan program untuk mengetahui user sedang masuk didalam program secara bergantian dan akan kembali masuk atas nama pengguna yang berbeda. Salah satu informasi thread disimpan dengan cara menyimpannya di daerah data khusus dan menempatkan alamat dari daerah data dalam register. Sistem operasi selalu menyimpan isi register saat program interrupted dan restores ketika memberikan program kontrol lagi.

Sebagian besar komputer hanya dapat mengeksekusi satu instruksi program pada satu waktu, tetapi karena mereka beroperasi begitu cepat, mereka muncul untuk menjalankan berbagai program dan melayani banyak pengguna secara bersamaan. Sistem operasi komputer memberikan setiap program "giliran" pada prosesnya, maka itu memerlukan untuk menunggu sementara program lain mendapat giliran. Masing-masing program dipandang oleh sistem operasi sebagai suatu tugas dimana sumber daya tertentu diidentifikasi dan terus berlangsung. Sistem operasi mengelola setiap program aplikasi dalam sistem PC (spreadsheet, pengolah kata, browser Web) sebagai tugas terpisah dan memungkinkan melihat dan mengontrol item pada daftar tugas. Jika program memulai permintaan I / O, seperti membaca file atau menulis ke printer, itu menciptakan thread. Data disimpan sebagai bagian dari thread yang memungkinkan program yang akan masuk kembali di tempat yang tepat pada saat operasi I / O selesai. Sementara itu, penggunaan bersamaan dari program diselenggarakan pada thread lainnya. Sebagian besar sistem operasi saat ini menyediakan dukungan untuk kedua multitasking dan multithreading. Mereka juga memungkinkan multithreading dalam proses program agar sistem tersebut disimpan dan  menciptakan proses baru untuk setiap thread.

Static Threading
Teknik ini biasa digunakan untuk komputer dengan chip multiprocessors dan jenis komputer shared-memory lainnya. Teknik ini memungkinkan thread berbagi memori yang tersedia, menggunakan program counter dan mengeksekusi program secara independen. Sistem operasi menempatkan satu thread pada prosesor dan menukarnya dengan thread lain yang hendak menggunakan prosesor itu.
Mekanisme ini terhitung lambat, karenanya disebut dengan static. Selain itu teknik ini tidak mudah diterapkan dan rentan kesalahan. Alasannya, pembagian pekerjaan yang dinamis di antara thread-thread menyebabkan load balancing-nya cukup rumit. Untuk memudahkannya programmer harus menggunakan protocol komunikasi yang kompleks untuk menerapkan scheduler load balancing. Kondisi ini mendorong pemunculan concurrency platforms yang menyediakan layer untuk mengkoordinasi, menjadwalkan, dan mengelola sumberdaya komputasi paralel.
Sebagian platform dibangun sebagai runtime libraries atau sebuah bahasa pemrograman paralel lengkap dengan compiler dan pendukung runtime-nya.

Dynamic Multithreading
Teknik ini merupakan pengembangan dari teknik sebelumnya yang bertujuan untuk kemudahan karena dengannya programmer tidak harus pusing dengan protokol komunikasi, load balancing, dan kerumitan lain yang ada pada static threading. Concurrency platform ini menyediakan scheduler yang melakukan load balacing secara otomatis. Walaupun platformnya masih dalam pengembangan namun secara umum mendukung dua fitur : nested parallelism dan parallel loops. Nested parallelism memungkinkan sebuah subroutine di-spawned (ditelurkan dalam jumlah banyak seperti telur katak) sehingga program utama tetap berjalan sementara subroutine menghitung hasilnya. Sedangkan parallel loops seperti halnya fungsi for namun memungkinkan iterasi loop dilakukan secara bersamaan.

E. Pengantar Massage Passing dan OpenMP

OpenMP (Open Multi-Processing) adalah sebuah antarmuka pemrograman aplikasi (API) yang mendukung multi processing shared memory pemrograman di C, C++ dan Fortran pada berbagai arsitektur, termasuk UNix dan Microsoft Windows platform. OpenMP Terdiri dari satu set perintah kompiler, perpustakaan rutinitas, dan variabel lingkungan yang mempengaruhi run-time. Banyak Aplikasi dibangun dengan model hibrida pemrograman paralel  dapat dijalankan pada komputer cluster dengan menggunakan OpenMP dan Message Passing Interface (MPI), atau lebih transparan dengan menggunakan ekstensi OpenMP non-shared memory systems.

Sejarah OpenMP dimulai dari diterbitkannya API pertama untuk Fotran 1.0 pada Oktober 1997 oleh OpenMP Architecture Review Board (ARB). Oktober tahun berikutnya OpenMP Architecture Review Board (ARB) merilis standart C / C++. Pada tahun 2000 mengeluarkan versi 2.0 untuk fotran dan poda tahun 2002 dirilis versi 2.0 untuk C / C++. Pada tahun 2005 dirilis versi 2.5 yang merupakan pengabungan fotran, C, dan C++/ pada mei 2008 versi 3.0 yang terdapat didalmnya konsept tasks dan task construct.

OpenMP mengimplementasi multithreading. Bagian kode yang akan dijalankan secara parallel ditandai sesuai dengan Preprocessor directif sehingga akan membuat thread-thread sebelum dijalnkan. Setiap thread memiliki id yang di buat menggunakan fungsi (omp_get_thread_num() pada C/C++ dan OMP_GET_THREAD_NUM() pada Fortran). Secara default, setiap thread mengeksekusi kode secara parallel dan independent. "Work-sharing constructs" dapat dapat digunakan untuk membagi tugas antar thread sehingga setiap thread menjalankan sesuai bagian alokasi kodenya. Fungsi OpenMP berada pada file header yang berlabel “omp.h” di C / C++.

F. Pengantar Pemrograman CUDA GPU

Sebuah GPU (Graphical Processing Unit) pada awalnya adalah sebuah prosesor yang berfungsi khusus untuk melakukan rendering pada kartu grafik saja, tetapi seiring dengan semakin meningkatnya kebutuhan rendering, terutama untuk mendekati waktu proses yang realtime /sebagaimana kenyataan sesungguhnya, maka meningkat pula kemampuan prosesor grafik tersebut. akselerasi peningkatan teknologi GPU ini lebih cepat daripada peningkatan teknologi prosesor sesungguhnya (CPU), dan pada akhirnya GPU menjadi General Purpose, yang artinya tidak lagi hanya untuk melakukan rendering saja melainkan bisa untuk proses komputasi secara umum.
penggunaan Multi GPU dapat mempercepat waktu proses dalam mengeksekusi program karena arsitekturnya yang natively parallel. Selain itu Peningkatan performa yang terjadi tidak hanya berdasarkan kecepatan hardware GPU saja, tetapi faktor yang lebih penting adalah cara membuat kode program yang benarbenar bisa efektif berjalan pada Multi GPU.

CUDA merupakan teknologi anyar dari produsen kartu grafis Nvidia, dan mungkin belum banyak digunakan orang secara umum. Kartu grafis lebih banyak digunakan untuk menjalankan aplikasi game, namun dengan teknologi CUDA ini kartu grafis dapat digunakan lebih optimal ketika menjalankan sebuah software aplikasi. Fungsi kartu grafis Nvidia digunakan untuk membantu Processor (CPU) dalam melakukan kalkulasi dalam proses data.

CUDA merupakan singkatan dari Compute Unified Device Architecture,didefinisikan sebagai sebuah arsitektur komputer parallel, dikembangkan oleh Nvidia. Teknologi ini dapat digunakan untuk menjalankan proses pengolahan gambar, video, rendering 3D, dan lain sebagainya. VGA – VGA dari Nvidia yang sudah menggunakan teknologi CUDA antara lain : Nvidia GeForce GTX 280, GTX 260,9800 GX2, 9800 GTX+,9800 GTX,9800 GT,9600 GSO, 9600 GT,9500 GT,9400 GT,9400 mGPU,9300 mGPU,8800 Ultra,8800 GTX,8800 GTS,8800 GT,8800 GS,8600 GTS,8600 GT,8500 GT,8400 GS, 8300 mGPU, 8200 mGPU, 8100 mGPU, dan seri sejenis untuk kelas mobile (VGA notebook).

Singkatnya, CUDA dapat memberikan proses dengan pendekatan bahasa C, sehingga programmer atau pengembang software dapat lebih cepat menyelesaikan perhitungan yang komplek. Bukan hanya aplikasi seperti teknologi ilmu pengetahuan yang spesifik. CUDA sekarang bisa dimanfaatkan untuk aplikasi multimedia.  Misalnya meng-edit film dan melakukan filter gambar. Sebagai contoh dengan aplikasi multimedia, sudah mengunakan teknologi CUDA. Software TMPGenc 4.0 misalnya membuat aplikasi editing dengan mengambil sebagian proces dari GPU dan CPU. VGA yang dapat memanfaatkan CUDA hanya versi 8000 atau lebih tinggi.

Keuntungan dengan CUDA sebenarnya tidak luput dari teknologi aplikasi yang ada. CUDA akan mempercepat proses aplikasi tertentu, tetapi tidak semua aplikasi yang ada akan lebih cepat walaupun sudah mengunakan fitur CUDA. Hal ini tergantung seberapa cepat procesor yang digunakan, dan seberapa kuat sebuah GPU yang dipakai. Dan bagian terpenting adalah aplikasi apa yang memang memanfaatkan penuh kemampuan GPU dengan teknologi CUDA. Kedepan seperti pengembang software Adobe akan ikut memanfaatkan fitur CUDA pada aplikasi mereka. Jawaban akhir adalah, untuk memanfaatkan CUDA kembali melihat aplikasi software yang ada. Apakah software yang ada memang mampu memanfaatkan CUDA dengan proses melalui GPU secara penuh. Hal tersebut akan berguna untuk mempercepat selesainya proses pada sebuah aplikasi. Dengan kecepatan proses GPU, aplikasi akan jauh lebih cepat. Khususnya teknologi ilmu pengetahuan dengan ramalan cuaca, simulator pertambangan atau perhitungan yang rumit dibidang keuangan. Sedangkan aplikasi umum sepertinya masih harus menunggu.

sumber : 
http://krustybrain.wordpress.com/2013/05/25/tugas-4-softskill-pengantar-komputasi-modern-sem-8/
http://chachados.blogspot.co.id/2013/07/parallel-computation.html  

parallel computation

PARALLEL COMPUTATION

A. Parallelism Concept
Komputasi paralel merupakan salah satu teknik komputasi, dimana proses komputasinya dilakukan oleh beberapa resources ( komputer ) yang independen, secara bersamaan. Komputasi paralel biasanya diperlukan pada saat terjadinya pengolahan data dalam jumlah besar ( di industri keuangan, bioinformatika, dll ) atau dalam memenuhi proses komputasi yang sangat banyak. Selanjutnya, komputasi paralel ini juga dapat ditemui dalam kasus kalkulasi numerik dalam penyelesaian persamaan matematis di bidang fisika ( fisika komputasi ), kimia ( kimia komputasi ), dll. Dalam menyelesaikan suatu masalah, komputasi paralel memerlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel.

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. Tidak berarti dengan mesin paralel semua program yang dijalankan diatasnya otomatis akan diolah secara paralel. Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah / operasi secara bersamaan ( komputasi paralel ), baik dalam komputer dengan satu ( prosesor tunggal ) ataupun banyak ( prosesor ganda dengan mesin paralel ) CPU. Bila komputer yang digunakan secara bersamaan tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam suatu jaringan komputer lebih sering istilah yang digunakan adalah sistem terdistribusi ( distributed computing ). Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan ( dalam waktu yang sama ), semakin banyak pekerjaan yang bisa diselesaikan.


Analogi yang paling gampang adalah, bila anda dapat merebus air sambil memotong-motong bawang saat anda akan memasak, waktu yang anda butuhkan akan lebih sedikit dibandingkan bila anda mengerjakan hal tersebut secara berurutan ( serial ). Atau waktu yang anda butuhkan memotong bawang akan lebih sedikit jika anda kerjakan berdua. Performa dalam pemrograman paralel diukur dari berapa banyak peningkatan kecepatan ( speed up ) yang diperoleh dalam menggunakan tehnik paralel. Secara informal, bila anda memotong bawang sendirian membutuhkan waktu 1 jam dan dengan bantuan teman, berdua anda bisa melakukannya dalam 1/2 jam maka anda memperoleh peningkatan kecepatan sebanyak 2 kali.

B. Distributed Processing

Pemrosesan paralel adalah pendekatan komputasi untuk meningkatkan tingkat di mana satu set data diolah dengan pengolahan bagian yang berbeda dari data pada waktu yang sama secara simultan atau bersamaan pada sebuah komputer dan berfungsi memecah beban besar menjadi beberapa beban kecil untuk mempercepat proses penyelesaian masalah. 

Didistribusikan pengolahan paralel menggunakan pemrosesan paralel pada beberapa mesin. Salah satu contoh dari hal ini adalah bagaimana beberapa komunitas memungkinkan pengguna untuk mendaftar dan mendedikasikan komputer mereka sendiri untuk memproses beberapa data set yang diberikan kepada mereka oleh server. Ketika ribuan pengguna mendaftar untuk ini, banyak data dapat diproses dalam jumlah yang sangat singkat.

Tipe lain dari komputasi paralel yang kadang-kadang disebut "didistribusikan" adalah gagasan dari sebuah komputer paralel cluster. Sebuah cluster akan banyak CPU terhubung melalui kecepatan tinggi koneksi ethernet ke hub sentral (Server) yang memberi masing-masing beberapa pekerjaan yang harus dilakukan. Metode cluster mirip dengan metode yang dijelaskan dalam paragraf di atas, kecuali bahwa semua CPU secara langsung terhubung ke server, dan satu-satunya tujuan mereka adalah untuk melakukan perhitungan yang diberikan kepada mereka.

Parallel distributed computing dapat dibentuk dari :
- Ada : digunakan konsep pertemuan yang menggabungkan fitur RPC dan monitor.
- PVM (Parallel Virtual Machine) untuk mendukung workstation clusters
-  MPI (Message-Passing Interface) programming GUI untuk parallel computers.


C. Architectural Parallel Computer

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

SIMD
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).

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

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

Singkatnya untuk perbedaan antara komputasi tunggal dengan komputasi paralel, bisa digambarkan pada gambar di bawah ini:


Gambar 1 Penyelesaian Sebuah Masalah pada Komputasi Tunggal

Gambar 2 Penyelesaian Sebuah Masalah pada Komputasi Paralel

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.
 
sumber : http://chachados.blogspot.co.id/2013/07/parallel-computation.html

perangkat teknologi masa kini



PERANGKAT TEKNOLOGI MASA KINI

LIFE FASHION
Modern ini, teknologi informasi mampu menggeser beberapa teknologi lampau, seperti media online yang lebih banyak diminati dibanding media cetak dikarenakan pengaruh fleksibel dan efisien. Tak hanya itu saja telepon genggam atau yang kita kenal dengan ponsel terus berkembang hingga menjadi ponsel cerdas yang makin menggeser komunikasi telpon rumah hingga komunikasi secara langsung.
Teknologi Informasi atau disingkat TI yang dalam bahasa inggris IT (Information Technology) merupakan istilah bagi teknologi apapun yang dapat membantu dalam membuat, mengubah, menyimpan, mengkomunikasikan atau menyebarluaskan informasi. TI juga menyatukan komputasi dan komunikasi dalam bentuk data, visual, suara dan video. Tidak terbatas hanya pada komputer pribadi namun juga berupa telepon, televisi hingga ponsel.
Internet
Internet yang merupakan kependekan dari interconnection-networking ini merupakan jaringan seluruh komputer yang saling terhubung menggunakan standar sistem global Transmission Control Protocol/Internet Protocol Suite (TCP/IP), sebagai protokol pertukaran paket untuk melayani miliaran pengguna diseluruh dunia.
Internet yang tujuan awalnya diperuntukan untuk keperluan militer, kini menjadi sebuah teknologi yang dapat digunakan setiap orang untuk berkomunikasi dengan siapapun dari yang kita kenal hingga orang yang tidak kenal sama sekali lewat aplikasi yang ada di internet.
Jumlah pengguna internet makin banyak terlebih dengan adanya smartphone yang memungkinkan setiap orang terhubung dengan internet hingga 24 jam. Tak hanya itu internet menjadi sebuah fasilitas yang dipergunakan perorangan ataupun sekelompok orang untuk mendirikan basis usahanya secara online. Sebut saja facebook, google, yahoo dan banyak lainnya.
Jika internet tak ada, maka tak akan ada website, tak akan ada informasi super cepat lewat google serta tak akan ada orang yang berjualan serta mendirikan usaha secara gratis lewat online seperti sekarang ini. Internet telah mengubah dunia dan kebutuhan dunia dalam berbisnis, menyebarkan informasi hingga mempermudah komunikasi dengan siapapun.
Smartphone
Smartphone merupakan ponsel cerdas yang dikaitkan dengan layarnya yang dapat disentuh, serta memberikan kemudahan bagi kita dalam berkomunikasi dengan orang lain ataupun mengerjakan tugas kantor lewat seperangkat ponsel dengan OS cerdas seperti Android, iOS apple hingga Windows.
Smartphone terasa berguna saat tersambung dengan internet yang menghubungkan aplikasi OS yang dipakai ponsel tersebut kemudian dipakai setiap orang dengan kegiatan hampir sama baik untuk chating di WA, BBM, Line, Main games, menggunakannya sebagai media mencatat kegiatan sehari-hari, ataupun untuk mendokumentasikan foto dan terpopuler saat ini selfi.
Setiap orang jika kita perhatikan, tak akan lepas dari smartphone yang dimilikinya, sebentar sebentar membuka hape hanya untuk membalas chat teman, keluarga, atau sekedar update status di twitter dan fb berupa tulisan kegiatan atau foto. Saat makan bareng temen, saat menunggu antrian atau sendirian, hampiur 24 jam menggunakan smartphone dikeseharian.
Maka tak heran autis dalam arti menyendiri dengan ponselnya, hingga saat berjalan menduduk mengotak-atik dan bahkan sampai kamar mandi sudah bukan hal yang tabu lagi.
Terlebih saat ini merek dagang ponsel populer seperti Apple, Samsung, LG, HTC, menawarkan produk yang selalu baru mulai dari layar sentuhnya, hingga desain dan bahan dari ponsel itu sendiri. Menambah menarik setiap orang untuk mengganti ponselnya setiap tahun atau setiap ada model terbaru. Terkadang harga menjadi nomor dua bagi sebagain orang yang kecanduan teknologi cerdas ponsel masa kini.
Namun terdapat satu keprihatinan, bahwa jumlah ponsel akan melebihi jumlah penduduk saat ini. Wajar saja, karena setiap orang kadang memiliki ponsel lebih dari satu mungkin lebih dari lima. Hal ini membuat sampah elektronik juga makin menumpuk selain sampah plastik.
Web/Blog
Website dan blog sudah menjadi bagian dari jurnalistik penting saat ini. Bukan hanya perusahaan populer saja yang mampu membuat website untuk profil perusahaan namun juga perorangan saat ini bertaburan dimana-mana.
Website umumnya digunakan oleh perusahaan proffesional baik sebagai profil perusahaan, ataupun portal berita dan informasi yang saat ini banyak bermunculan. Namun demikian perorangan pun bisa mempergunakan website ini, bukan hanya untuk personal namun juga hingga berbisnis online lewat E-Commerce.
Puluhan juta website ditambah blog menjadikan internet makin ragam penggunaanya. Yang paling trend saat ini adalah blogger dunia yang makin bertambah hingga di Indonesia sendiri telah ditetapkan hari Blogger nasional yang jatuh tanggal 27 Oktober.
Apresiasi tinggi bagi blogger, menjadikan makin pesatnya pertumbuhan blogger dunia, karena selain gratis, blog merupakan media untuk menungkan ide kreatif dalam bentuk tulisan, gambar hingga video. Berbagi informasi menarik dari artikel basa basi, populer, hingga pendidikan sekalipun.
Bahkan bukan hal yang aneh lagi, blog menjadi sebuiah ajang memperoleh kepopuleran serta menghasilkan pendapatan tambahan atau utama bagi penyuka dunia teknologi, internet serta tulis menulis. Adanya adsense google serta adsense lainnya membuat jutaan orang blogger meraaup untung hingga ratusan bahkan ribuan dollar perbulannya dari ngeblog.
Setiap kalangan mulai dari anak-anak, pelajar, mahahasiswa, karyawan, entrepeneur, hingga ibu rumah tangga pun banyak melakukan aktivitas blogging ini sambil menghabiskan waktu senggang atau memang menjadi hobi utama.
Bukan hanya blogger dan pemilik website yang memperoleh keuntungan dari aktivitasnya, penyedia hosting web, domain hingga web designer, web development, dan sejenisnya pun memperoleh keuntungan yang tentu omsetnya makin besar. Sebut saja Hostgator, bluehost, godaddy, atau di Indonesia ada masterweb memperoleh keuntungan dari setiap pembelian hosting dan domain.
Bahkan pekerjaan sebagai web designer dan development atau bidang IT umumnya, mendapat rata-rata gaji lebih besar dibandingkan pekerjaan lain sebagai karyawan PNS atau sejenisnya.
Penerapan Teknologi Informasi (TI) Dalam Dunia Arsitektur dan Desain Interior
Teknologi Informasi (TI) yang identik dengan computer yang ada saat ini merupakan perkembangan teknologi yang evolusinya sangat cepat dan semakin canggih dengan penerapan di berbagai bidang ilmu dan pekerjaan. Tak dapat dipungkiri, saat ini dunia digital sebagai produk dari derasnya arus globalisasi dan juga pesatnya kemajuan teknologi, sudah merambah ke berbagai aspek kehidupan. Bahkan seolah telah menjadi bagian dari kehidupan itu sendiri, seperti halnya dalam menjalin pertemanan dalam dunia digital kita akan mengenal akrab dengan situs facebook atau friendster. Untuk menemani aktivitas juga kita terbiasa dengan lantunan lagu mp3 dari personal computer / PC, bahkan dapat kita simak secara streaming di situs Youtube tanpa harus repot-repot mencari dan membeli cd atau cassete-nya. Tak terkecuali bidang arsitektur.
                  
Dalam arsitektur masa kini, dikenal istilah baru “arsitektur digital”, sebuah istilah yang muncul sehubungan dengan tuntutan zaman akan kebutuhan teknologi. Sesuai namanya, arsitektur digital bermakna bahwa dunia arsitektur pun menggunakan berbagai produk digital sebagai bagian dari upaya desain. Dunia digital hadir dalam arsitektur sebagai sebuah teknologi yang membantu meningkatkan kwalitas dan kwantitas serta keefektifan dan kefisienan kerja. Baik itu dalam proses menganalisis, merancang/mendesain, dan lain-lain. Produk-produk tersebut berupa software seperti AutoCAD, 3ds max, ArchiCAD, SketchUp, hingga Photoshop, Corel Draw, Macromedia, dan lainnya.

Lantas apa sih manfaat dari Teknologi Informasi bagi arsitektur? Berdasarkan hasil penelusuran dari berbagai artikel di internet, bisa sedikit disimpulkan sebagai berikut:
  1. Software-software digital amat membantu mempercepat kerja. Mengapa lebih cepat? Jika kita tengok ke belakang, ketika belum ada software-software canggih, seorang arsitek memerlukan waktu cukup lama untuk mendesain secara manual, juga dibutuhkan waktu lama untuk ketepatan dan ketelitian dalam mendesain. Sekarang ini, dengan adanya perangkat digital ini, pekerjaan arsitek akan lebih ringan, hemat waktu (cepat selesai), tepat dan teliti, dan lain-lain. Selain itu, dengan software tersebut memungkinkan dihasilkannya kombinasi yang bervariatif dan lebih banyak.
  2. Hadirnya dunia digital rupanya juga meminimalisir human error.
  3. Zaman akan terus berkembang, maka diperlukan juga peningkatan kemampuan dan kualitas dari software-software tersebut yang akan jadi semakin canggih. Contohnya adalah software AutoCAD yang terus berkembang dengan versi-versi yang lebih canggih.
Sebenarnya masih banyak sekali manfaat Teknologi Informasi (TI) yang tidak mungkin disebutkan satu per satu, tapi terkait dengan hal itu, muncul sebuah pertanyaan baru, “Bagaimana kita menyikapi arsitektur digital?”

Kehadiran dunia digital dalam arsitektur ‘memaksa’ seorang arsitek atau desainer interior untuk dapat menguasainya, setidaknya menguasai kompetensi dasarnya. Karena pada era sekarang ini, kemampuan penguasaan teknologi terkadang bisa menjadi syarat mutlak untuk mampu berdaya saing. Namun meski telah menguasai konpetensi arsitektur digital sedemikian rupa, janganlah kita melupakan manual drawing. Secanggih apapun software arsitektur digital, pastilah terdapat kekurangan. Jadi walau bagaimanapun, kemampuan menguasai dunia digital pun harus dibackup dengan kemampuan hand drawing yang bagus pula.