welcome to my blog, please read this post, thank you...

Labels

Kamis, 23 Mei 2013

Parallel Computation


Parallelism Concept

Paralel Processing adalah kemampuan menjalankan tugas atau aplikasi lebih dari satu aplikasi dan dijalankan secara simultan atau bersamaan pada sebuah komputer. Secara umum, ini adalah sebuah teknik dimana sebuah masalah dibagi dalam beberapa masalah kecil untuk mempercepat proses penyelesaian masalah.

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

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. Maka diperlukan perangkat lunak pendukung yang disebut middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.

Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU.

Tujuan dari komputasi paralel adalah meningkatkan kinerja komputer dalam menyelesaikan berbagai masalah. Dengan membagi sebuah masalah besar ke dalam beberapa masalah kecil, membuat kinerja menjadi cepat.


Distributed Processing

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.

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.


Architectural Parallel Computer

1    1. Komputer SISD (Single Instruction stream-Single Data stream)
Pada komputer jenis ini semua instruksi dikerjakan terurut satu demi satu, tetapi juga dimungkinkan adanya overlapping dalam eksekusi setiap bagian instruksi (pipelining).

2    2. Komputer SIMD (Single Instruction stream-Multiple Data stream)
Pada komputer SIMD terdapat lebih dari satu elemen pemrosesan yang dikendalikan oleh sebuah unit pengendali yang sama. Seluruh elemen pemrosesan menerima dan menjalankan instruksi yang sama yang dikirimkan unit pengendali.

3    3. Komputer MISD (Multiple Instruction stream-Single Data stream)
Komputer jenis ini memiliki unit pemroses yang masing-masing menerima dan mengoperasikan instruksi yang berbeda terhadap aliran data yang sama, dikarenakan setiap unit pemroses memiliki unit pengendali yang berbeda.

4    4. Komputer MIMD (Multiple Instruction stream-Multiple Data stream)
Pada sistem komputer MIMD murni terdapat interaksi di antara pemroses. Hal ini disebabkan seluruh aliran dari dan ke memori berasal dari space data yang sama bagi semua pemroses.


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. 

Terdapat 2 buah teknik pada thread, yaitu :
1    1. 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.

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


Pengantar Massage Passing, OpenMP

Massage Passing merupkan suatu teknik bagaimana mengatur suatu alur komunikasi messaging terhadap proses pada system. Message passing dalam ilmu komputer adalah suatu bentuk komunikasi yang digunakan dalam komputasi paralel , pemrograman-berorientasi objek , dan komunikasi interprocess . Dalam model ini, proses atau benda dapat mengirim dan menerima pesan yang terdiri dari nol atau lebih byte, struktur data yang kompleks, atau bahkan segmen kode ke proses lainnya dan dapat melakukan sinkronisasi. Paradigma Message passing yaitu :
  • Banyak contoh dari paradigma sekuensial dipertimbangkan bersama-sama.
  • Programmer membayangkan beberapa prosesor, masing-masing dengan memori, dan menulis sebuah program untuk berjalan pada setiap prosesor. 
  • Proses berkomunikasi dengan mengirimkan pesan satu sama lain.

OpenMP merupakan API yang mendukung multi-platform berbagi memori multiprocessing pemrograman C , C + + , dan Fortran , pada kebanyakan arsitektur prosesor dan system operasi , termasuk Solaris , AIX , HP-UX , GNU / Linux , Mac OS X , dan Windows platform. Ini terdiri dari satu set perintah kompiler, rutinitas library, dan variable lingkungan yang mempengaruhi perilaku run-time. OpenMP dikelola oleh nirlaba teknologi konsorsium OpenMP Arsitektur Review Board (ARB atau OpenMP), bersama-sama didefinisikan oleh sekelompok perangkat keras komputer utama dan vendor perangkat lunak, termasuk AMD , IBM , Intel , Cray , HP , Fujitsu , Nvidia , NEC , Microsoft , Texas Instruments , Oracle Corporation , dan banyak lagi.


PengantarPemrograman CUDA GPU

CUDA (Compute Unified Device Architecture) merupakan suatu framework dari bahasa pemrograman yang mendukung bahas C , dimana mampu berkomunikasi langsung dengan GPU dan sangat mudah bekerjasama untuk segala multi-threading  parallel execution hampir diseluruh prosesor pada GPU. CUDA menggukan konsep nvcc sebagai ORM dalam object programmingnya. CUDA merupakan produk dari NVIDIA sebagai produsen graphic komputer ternama.

GPU (Graphics Processing Unit) merupakan prosesor yang didedikasikan untuk render cepat dalam pemrosesan polygon baik itu texturing dan shading. Terdiri atas banyak core namun masih menggunakan arsitektur yang sederhana, sehingga harganya relative murah dan di produksi secara masal untuk berbagai keperluan misalnya peneilitian/ilmuah.

Dalam permainan komputer industri, GPU yang digunakan tidak hanya untuk rendering grafis tetapi juga dalam perhitungan fisika permainan (efek fisik seperti puing-puing, asap, api, cairan). CUDA juga telah digunakan untuk mempercepat aplikasi non-grafis dalam biologi komputasi , kriptografi dan bidang lainnya oleh urutan besarnya atau lebih.



Referensi 

Rabu, 22 Mei 2013

Komputasi Cloud


Pendahuluan

Cloud Computing (Komputasi Awan) adalah suatu konsep umum yang mencakup SaaS, Web 2.0, dengan menggabungkan pemanfaatan teknologi komputer dan disajikan dalam bentuk suatu layanan. Yang dimaksud dengan Saas dan Web 2.0 adalah sebuah software as a service atau perangkat lunak yang berbentuk layanan, digunakan untuk mengembangkan suatu aplikasi yang berbasis web (Internet). Misalnya Facebook, didalam social networking ini memiliki berbagai aplikasi seperti game, acara undangan, tautan dan sebagainya. Dengan SaaS dan Web 2.0, pencipta Facebook menggunakannya untuk aplikasi tersebut dengan syarat harus melalui internet atau system online.

Pada cloud computing, penyimpanan data hanya dilakukan pada server utama, sehingga pengguna hanya dapat mengaksesnya tanpa harus mengetahui infrastruktur pembuatan aplikasinya. Hanya perlu interface software saja untuk mengakses server. Interface ini pada umumnya merupakan web browser yang tersedia dengan banyak pilihan dan tidak berbayar.        
                                                                                                     
Tanpa kita sadari sebenarnya kita sudah sering menggunakan aplikasi dengan sistem berbasis cloud computing. Contoh lainnya seperti Hotmail, Yahoo!Mail atau Gmail. Untuk melihat email, kita bisa melakukannya di mana saja, yang penting ada internet dan browser. Software dan data kita tidak tersimpan di komputer yang kita pakai melainkan terletak di cloud server. 


Pengantar Komputasi GRID

Menurut definisi Grid Computing atau Komputasi Grid merupakan salah satu dari tipe Komputasi Paralel, adalah penggunaan sumber daya yang melibatkan banyak komputer terpisah secara geografis namun tersambung via jalur komunikasi (termasuk Internet) untuk memecahkan persoalan komputasi skala besar. Semakin cepat jalur komunikasi terbuka, maka peluang untuk menggabungkan kinerja komputasi dari sumber-sumber komputasi yang terpisah menjadi semakin meningkat. Dengan demikian, skala komputasi terdistribusi dapat ditingkatkan secara geografis lebih jauh lagi, melintasi batas-batas domain administrasi yang ada.


Ide awal komputasi grid dimulai dengan adanya distributed computing, yaitu mempelajari penggunaan komputer terkoordinasi yang secara fisik terpisah atau terdistribusi. Sistem terdistribusi membutuhkan aplikasi yang berbeda dengan sistem terpusat. Kemudian berkembang lagi menjadi parallel computing yang merupakan teknik komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan.

Beberapa konsep dasar dari Komputasi Grid, yaitu :
  • Sumber daya dikelola dan dikendalikan secara lokal.
  • Sumber daya berbeda dapat mempunyai kebijakan dan mekanisme berbeda, mencakup Sumber daya komputasi dikelola oleh sistem batch berbeda, Sistem storage berbeda pada node berbeda, Kebijakan berbeda dipercayakan kepada user yang sama pada sumber daya berbeda pada Grid.
  • Sifat alami dinamis: Sumber daya dan pengguna dapat sering berubah
  • Lingkungan kolaboratif bagi e-community (komunitas elektronik, di internet)



Virtualisasi

Virtualisasi bisa diartikan sebagai pembuatan suatu bentuk atau versi virtual dari sesuatu yang bersifat fisik, misalnya sistem operasi,  perangkat storage/penyimpanan data atau sumber daya jaringan. Virtualisasi bisa diimplementasikan kedalam berbagai bentuk, antara lain :
  • Network Virtualization : VLAN, Virtual IP (untclustering), Multilink
  • Memory Virtualization : pooling memory dari node-node di cluster
  • Grid Computing : banyak komputer = satu
  • Application Virtualization : Dosemu, Wine
  • Storage Virtualization : RAID, LVM
  • Platform Virtualization : virtual computer
Keuntungan Penggunaan Virtualisasi :
  • Pengurangan Biaya Investasi Hardware.
  • Kemudahan Backup & Recovery.
  • Kemudahan Deployment. Server virtual dapat dikloning sebanyak mungkin dan dapat dijalankan pada mesin lain dengan mengubah sedikit konfigurasi.
  • Mengurangi Panas ruang server/data center.
  • Mengurangi Biaya Space.
  • Kemudahan Maintenance & Pengelolaan.
  • Standarisasi Hardware.
  • Kemudahan Replacement.

Kerugian Penggunaan Virtualisasi :
  • Satu Pusat Masalah, jika server induk bermasalah, semua sistem virtual machine didalamnya tidak bisa digunakan.
  • Virtualisasi membutuhkan spesifikasi server yang lebih tinggi untuk menjalankan server induk dan mesin virtual didalamnya.
  • Satu Pusat Serangan. Penempatan semua server dalam satu komputer akan menjadikannya sebagai target serangan.


Distributed Computation Dalam Cloud Computing

Seperti yang telah di jelaskan sebelumnya, cloud computing adalah teknologi yang memberikan berbagai jenis sumber daya sebagai layanan, terutama melalui internet. Sedangkan komputasi terdistribusi adalah konsep menggunakan sistem terdistribusi terdiri dari banyak node diatur sendiri untuk memecahkan masalah yang sangat besar (yang biasanya sulit untuk diselesaikan dengan satu komputer). Cloud computing pada dasarnya adalah penjualan dan model distribusi untuk berbagai jenis sumber daya melalui internet, sedangkan komputasi terdistribusi dapat diidentifikasi sebagai jenis komputasi, yang menggunakan sekelompok mesin untuk bekerja sebagai satu kesatuan untuk memecahkan masalah skala besar. Komputasi terdistribusi mencapai hal ini dengan memecah masalah ke tugas sederhana, dan menugaskan tugas-tugas ke node individu.


Map Reduce dan NoSQL (Not Only SQL)

Map reduce adalah sebuah framework pemrograman untuk memproses data yang berukuran besar, biasanya digunakan untuk komputasi terdistribusi pada kumpulan komputer.

NoSQL adalah tipe database yang sangat jauh berbeda dengan konsep RDBMS(Relational Database Management System) ataupun ODBMS(Objecy Oriented Database Management System). Perbedaan utamanya karena tidak mengenal istilah relation dan tidak menggunakan konsep schema. Kalau biasanya dapatmenggunakan query 'Join’ di sini tidak bisa menggunakannya karena setiap tabel berdiri sendiri tanpa tergantung dengan tabel lainnya alias independen.

Selain itu di dalam konsep DBMS biasanya sebelum insert data diharuskan untuk mendefinisikan terlebih dahulu struktur tabel seperti tipe data dan ukurannya, di konsep NoSQL ini bisa menyimpan data tanpa perlu mendefinisikan tipe data dan ukurannya lagi. Jadi lebih fleksibel bila ada perubahan di masa mendatang.  Adapun beberapa database NoSQL yang ada saat ini yaitu Cassandra, Big Table, CouchDB, Redis, Riak, Dynamo dan lainnya.


NoSQL Database

NoSQL adalah yang cepat, portabel, sistem manajemen database relasional tanpa batas sewenang-wenang, (selain memori dan kecepatan prosesor) yang berjalan di bawah, dan berinteraksi dengan, NoSQL ini kompatibel dengan "Relational Model".

NoSQL merupakan turunan dari sistem database RDB. Yang terakhir dikembangkan di RAND Organisasi oleh Walter W. Hobbs. Beberapa Perl script termasuk dengan NoSQL masih sangat dekat dengan RDB yang asli, sehingga pangsa kredit yang baik bagi mereka pergi ke penulis asli. Seperti namanya, NoSQL bukan merupakan database SQL melainkan tingkat alat shell, seperti yang dijelaskan dalam Filsafat NoSQL. Bentuk setiap file data adalah suatu relasi, atau tabel, dengan baris dan kolom informasi.

NoSQL cenderung menjadi bias mendukung Linux . Ini berarti bahwa, di mana pun itu penting, NoSQL yang menggunakan versi GNU dari berbagai perintah UNIX, seperti yang adalah orang-orang biasanya ditemukan di Linux. NoSQL adalah Free Software , dirilis di bawah GNU General Public License . Karena itu, sepenuhnya memenuhi syarat juga sebagai Open Source Software. NoSQL telah ada selama lebih dari satu dekade sekarang dan tidak ada hubungannya dengan bayi yang baru lahir Gerakan NoSQL , yang telah menerima hype akhir-akhir ini. Sementara mantan adalah paket perangkat lunak didefinisikan-baik, adalah sebuah database relasional untuk semua efek dan hanya tidak sengaja tidak menggunakan SQL sebagai bahasa query, pendatang baru ini kebanyakan konsep (dan tidak berarti novel yang baik), yang berangkat dari model relasional sama sekali dan karena itu seharusnya lebih tepat disebut "NoREL", atau sesuatu seperti itu.

Beban kerja database modern biasanya termasuk scaling untuk data set (misalnya 3 TB Digg untuk lencana hijau, 50 TB Facebook untuk pencarian kotak masuk atau's 2 eBay PB data keseluruhan), per-server kinerja, dan skema kaku. Sistem NoSQL sering memberikan jaminan konsistensi lemah seperti konsistensi akhirnya dan transaksi terbatas pada item data tunggal, walaupun seseorang dapat memaksakan penuh ASAM jaminan dengan menambahkan lapisan middleware tambahan. Tidak menyediakan kemampuan relasional membuatnya lebih mudah untuk penyimpanan data skala tidak harus membayar biaya yang berkaitan dengan jaminan relasional yang mungkin tidak diperlukan oleh proyek yang menggunakan database.

Beberapa sistem NoSQL mempekerjakan arsitektur terdistribusi , dengan data yang dimiliki secara berlebihan di beberapa server, sering menggunakan tabel hash didistribusikan . Dengan cara ini, sistem dapat ditingkatkan dengan mudah dengan menambahkan lebih banyak server, dan kegagalan server dapat ditolerir. Mempromosikan antarmuka yang sangat sederhana seperti array asosiatif atau-nilai pasangan kunci. Sistem lain, seperti native XML database , mempromosikan dukungan dari XQuery standar.




Referensi 

Teori Komputasi Modern

Pendahuluan

Pada kesempatan kali ini, saya akan membahas mengenai Teori Komputasi, sebelum membahas lebih dalam sebaiknya kita mengetahui terlebih dahulu pengertian dari teori dan komputasi.
Teori adalah serangkaian bagian atau variabel, definisi, dan dalil yang saling berhubungan yang menghadirkan sebuah pandangan sistematis mengenai fenomena dengan menentukan hubungan antar variabel, dengan menentukan hubungan antar variabel, dengan maksud menjelaskan fenomena alamiah. Sedangkan komputasi adalah  cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma atau proses menjalankan urutan langkah-langkah (algoritma) dalam menyelesaikan masalah. dari pengertian yang telah dijelaskan diatas, maka Teori Komputasi adalah cabang ilmu komputer dan matematika yang membahas bagaimanakah suatu masalah dapat dipecahkan dengan model komputasi dengan menggunakan algoritma.


Sejarah Komputasi Modern

Pada awal abad 20, banyak kebutuhan komputasi ilmiah bertemu dengan semakin canggih komputer analog, yang menggunakan mekanis atau listrik langsung model masalah sebagai dasar perhitungan. Namun, ini tidak dapat diprogram dan umumnya tidak memiliki fleksibilitas dan keakuratan komputer digital modern.
George stibitz secara internasional diakui sebagai ayah dari komputer digital modern. Sementara bekerja di laboratorium bel di November 1937, stibitz menciptakan dan membangun sebuah relay berbasis kalkulator ia dijuluki sebagai "model k". Beliau adalah orang pertama yang menggunakan sirkuit biner untuk melakukan operasi aritmatika. Kemudian model menambahkan kecanggihan yang lebih besar termasuk aritmatika dan kemampuan pemrograman kompleks.
Salah satu tokoh yang sangat mempengaruhi perkembangan komputasi modern adalah John von Neumann (1903-1957). Beliau adalah ilmuan yang meletakkan dasar-dasar komputer modern.
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 dianggap sebagai Turing lengkap.
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.
The Harvard Mark I ditemukan pada 1944, mempunyai skala besar, merupakan komputer elektromekanis dengan programmability terbatas.
Lalu lahirlah US Army’s Ballistic Research Laboratory ENIAC ditemukan pada tahun 1946, komputer ini digunakan unutk menghitung desimal aritmatika dan biasanya disebut sebagai tujuan umum pertama komputer elektronik.


Macam - Macam Komputasi Modern

1. Mobile computing atau komputasi bergerak
Komputasi bergerak merupakan kemajuan teknologi komputer sehingga dapat berkomunikasi menggunakan jaringan tanpa menggunakan kabel dan mudah dibawa atau berpindah tempat, tetapi berbeda dengan komputasi nirkabel. Untuk kemajuan teknologi ke arah yang lebih dinamis membutuhkan perubahan dari sisi manusia maupun alat. Contohnya : GPS, smartphone dan lain sebagainya. 

2. Grid computing
Komputasi grid menggunakan komputer yang terpisah oleh geografis, didistibusikan dan terhubung oleh jaringan untuk menyelasaikan masalah komputasi skala besar.
Ada beberapa daftar yang dapat dugunakan untuk mengenali sistem komputasi grid, adalah :
- Sistem untuk koordinat sumber daya komputasi tidak dibawah kendali pusat.
- Sistem menggunakan standard dan protocol yang terbuka.
- Sistem mencoba mencapai kualitas pelayanan yang canggih, yang lebih baik diatas kualitas komponen   individu pelayanan komputasi grid.

3. Cloud computing
Komputasi cloud merupakan gaya komputasi yang terukur dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet. Komputasi cloud menggambarkan pelengkap baru, konsumsi dan layanan IT berbasis model dalam internet, dan biasanya melibatkan ketentuan dari keterukuran dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet.


Implementasi Komputasi Modern

Komputasi modern dapat diimplementasikan pada berbagai macam bidang, seperti :
  • Fisika : menyelesaikan permasalahan medan magnet dengan menggunakan komputasi fisika, dalam hal ini menentukan besarnya medan magnet dan membandiangkan hubungan antara medan magnet dengan panjang kawat.
  • Kimia : algoritma dan program komputer dapat digunakan untuk memungkinkan peramalan sifat-sifat atom dan molekul. Kajian komputasi juga dapat dilakukan untuk menjelajahi mekanisme reaksi dan menjelaskan pengamatan pada reaksi di laboratorium, serta memahami sifat dan perubahan pada sistem makroskopis melalui simulasi yang berlandaskan hukum-hukum interaksi yang ada dalam sistem.
  • Matematika : penerapan teknik-teknik komputasi matematika meliputi metode numerik, scientific computing, metode elemen hingga, metode beda hingga, scientific data mining, scientific process control dan metode terkait lainnya untuk menyelesaikan masalah-masalah real yang berskala besar.
  • Ekonomi : mempeljarai titik pertemuan antara ekonomi dan komputasi, meliputi agent-based computational modelling, computational econometrics dan statistika, komputasi keuangan, computational modelling of dynamic macroeconomic systems dan pengembangan alat bantu dalam pendidikan komputasi ekonomi.
  • Biologi : merupakan penerapan berupa aplikasi dari teknologi informasi dan ilmu komputer terhadap bidang biologi molekuler.
  • Geografi : komputasi awan didefinisikan sebagai sebuah model yang memungkinkan kenyamanan, akses on-demand terhadap kumpulan sumber daya komputasi (contohnya jaringan, server, media penyimpanan, aplikasi, dan layanan komputasi) yang konfigurasinya dapat dilakukan dengan cepat dan disertai sedikit usaha untuk mengelola dan berhubungan dengan penyedia layanannya.

Referensi :