Copyright © Muhammad Abdan Syakuran
Design by Dzignine
Minggu, 27 November 2016

Pemrograman Berbasis Blok

Blok adalah suatu fungsi yang melakukan tugas tertentu atau instruksi yang di eksekusi ketika dipanggil dari bagian lain dalam suatu program.
Tujuan pembuatan blok/fungsi adalah :
  • Memudahkan dalam pembuatan program.
  • Menghemat ukuran program.
  • Menguraikan tugas pemrograman rumit menjadi langkah-langkah yang lebih sederhana atau kecil.
  • Mengurangi duplikasi kode (kode yang sama ditulis berulang-ulang) dalam program.
  • Dapat menggunakan kode yang ditulis dalam berbagai program yang berbeda.
  • Memecah program besar menjadi kecil sehingga dapat dikerjakan oleh programmer-programmer atau dipecah menjadi beberapa tahap sehingga mempermudah pengerjaan dalam sebuah projek.
  • Menyembunyikan informasi dari user sehingga mencegah adanya perbuatan iseng seperti memodifikasi atau mengubah program yang kita buat.
  • Meningkatkan kemampuan pelacakan kesalahan, jika terjadi suatu kesalahan kita tinggal mencari fungsi yang bersangkutan saja dan tak perlu mencari kesalahan tersebut di seluruh program.
Pada bahasa pemrograman C++ dibutuhkan data dan fungsi/blok untuk dikombinasikan menjadi kelas-kelas atau objek-objek. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Bahasa C++ merupakan bahasa pemograman yang berasal dari bahasa awal C yang melalui proses penyempurnaan. Bahasa C++ dikenal sebagai bahasa yang rumit dan panjang di bandingkan dengan bahasa pemograman lainnya. Namun Bahasa C++ merupakan bahasa pemrograman yang cocok untuk pembuatan sebuah program, software, game yang berfokus pada performa.

Jenis-jenis blok fungsi pada C++
1. Void (Fungi tanpa nilai balik)
Fungsi yang void sering disebut juga prosedur. Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut.
Ciri-ciri dari jenis fungsi Void adalah sebagai berikut:
  • Tidak adanya keyword return.
  • Tidak adanya tipe data di dalam deklarasi fungsi.
  • Menggunakan keyword void.
  • Tidak dapat langsung ditampilkan hasilnya.
  • Tidak memiliki nilai kembalian fungsi
Contoh fungsi void :
#include <iostream.h>
#include <conio.h>
void volume(int &vol, int p, int l, int t)
{ vol = p*l*t; }
main(){
int pj,lb,tg, hsl;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
cout<<"Tinggi = ";cin>>tg;
volume(hsl,pj,lb,tg);
cout<<"\nVolume = "<<hsl;
getch();
}











2. Non Void (Fungsi dengan nilai balik)
Fungsi non-void disebut juga function. Disebut non-void karena mengembalikan nilai kembalian yang berasal dari keluaran hasil proses function tersebut.
Ciri-ciri dari jenis fungsi non void adalah sebagai berikut:
  • Ada keyword return
  • Ada tipe data yang mengawali fungsi
  • Tidak ada keyword void
  • Memiliki nilai kembalian.
  • Dapat dianalogikan sebagai suatu variabel yang memiliki tipe data tertentu sehingga dapat langsung ditampilkan hasilnya
Contoh fungsi non void :

#include <iostream.h>
#include <conio.h>
int volume(int p, int l, int t)
{ int vol;
vol = p*l*t;
return vol; }
main(){
int pj,lb,hsl,tg;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
cout<<"Tinggi = ";cin>>tg;
hsl=volume(pj,lb,tg);
cout<<"\nLuasnya = "<<hsl;
getch();
}











Kamis, 17 November 2016

LATIHAN SOAL SOD

  1. Diskusikan hambatan-hambatan yang harus dipertimbangkan dalam merancang sebuah indek Inversi untuk Multi-key file.
  2. Diskusikan hambatan-hambatan yang harus dipertimbangkan dalam merancang sebuah indek untuk Multi-list file.
  3. Mengapa kebanyakan implementasi dari struktur alternate-key indek sequential menggunakan pendekatan inverted dibanding pendekatan multi-list ?
  4. Jelaskan permintaan (request) yang dapat dilayani oleh indeknya sendiri dalam sebuah inverted file ?
  5. Pada beberapa Multi-list file, setiap indek entry mencakup panjang dari linked list yang berkaitan. Jenis permintaan apa yang menguntungkan dengan informasi yang tersedia ini. 
  6. Diskusikan keuntungan dan kerugian dalam memberikan tanggung jawab kepada programmer aplikasi untuk merancang file yang digunakan untuk programmnya, dibanding memberikan tanggung jawab kepada orang lain.
Jawab
  1. Semakin banyak file maka akan banyak pula key untuk menunjukkan tiap ID ke key lain. Misal, file yang kita punya ada 5 dan akan dihubungkan dengan indek inversi, dan tiap file mempunyai 5 record, maka kita harus membuat 5 key sebagai primary dan 5 key lagi sebagai secondary. Maka dengan begitu total key yang kita harus dibuat ada 50 termasuk primary dan secondary, dan bagaimana bila ada 1000 record, akan semakin banyak pula key yang perlu dibuat.
  2. Multi-list file hanya mempunyai sebuah penunjuk untuk data record pertama dengan nilai key. Data record mempunyai penunjuk data record selanjutnya dengan nilai key dan seterusnya. Maka terdapat sebuah linked-list dari data record untuk setiap nilai dari secondary key. Hambatannya yaitu untuk sebuah penunjuk yang menunjuk ke alamat dimana data disimpan maka dibutuhkan banyak kunci, maka di tabel tersebut disimpan pula kunci-kunci atribut lainnya yang dibutuhkan.
  3. Karena pendekatan inverted penggunaannya lebih mudah dan sederhana dibentuk sebagai sebuah file karena sebuah key pada indek inversi mempunyai semua nilai key dan masing-masing nilai key mempunyai petunjuk ke record yang bersangkutan. Sedangkan pendekatan multi list membutuhkan banyak kunci dimana tabel tersebut disimpan pula kunci-kunci atribut lainnya yang dibutuhkan.
  4. Indek inversi mempunyai semua nilai key, masing-masing nilai key mempunyai penunjuk ke record yang diminta. Misal, sebuah indek inversi dengan nilai key SOCNO untuk sebuah relatif file dengan nilai key ID akan memberikan sebuah file yang dapat diakses oleh sebuah ID atau SOCNO secara langsung atau direct.
  5. Sebuah nilai key hanya mempunyai sebuah petunjuk untuk data record pertama dengan nilai key. Maka pada multi list file terdapat sebuah linked-list dari data record untuk setiap nilai dari seconary key, misal dalam pencarian sequential membutuhkan 5 data akses berarti memiliki 5 nilai keynya masing-masing.
  6. Keuntungannya yaitu programmer dapat lebih mengerti bagaimana rancangan file yang dibuat dan akan lebih mudah untuk pengaplikasiannya  kedalam sebuah program.Sedangkan kerugiannya yaitu, pekerjaan programmer akan terhambat karena terlalu banyak tugas yang harus dikerjakan.

Sabtu, 29 Oktober 2016

Cloud Computing

A.      Definisi :
Cloud Computing merupakan gabungan pemanfaatan teknologi komputer (computing') dan pengembangan berbasis Internet ('cloud').
Menurut sebuah makalah tahun 2008 yang dipublikasi IEEE Internet Computing "Cloud Computing adalah suatu paradigma di mana informasi secara permanen tersimpan di server di internet dan tersimpan secara sementara di komputer pengguna (client) termasuk di dalamnya adalah desktop, komputer tablet, notebook, komputer tembok, handheld, sensor-sensor, monitor dan lain-lain.
B.      Jenis :
o    Infrastructure as a Service (IaaS)
Infrastructure as a Service adalah layanan komputasi awan yang menyediakan infrastruktur IT berupa CPU, RAM, storage, bandwith dan konfigurasi lain. Komponen-komponen tersebut digunakan untuk membangun komputer virtual. Komputer virtual dapat diinstal sistem operasi dan aplikasi sesuai kebutuhan. Keuntungan layanan IaaS ini adalah tidak perlu membeli komputer fisik sehingga lebih menghemat biaya. Konfigurasi komputer virtual juga bisa diubah sesuai kebutuhan. Misalkan saat storage hampir penuh, storage bisa ditambah dengan segera. Perusahaan yang menyediakan IaaS adalah Amazon EC2, TelkomCloud dan BizNetCloud.
o    Platform as a Service (PaaS)
Platform as a Service adalah layanan yang menyediakan computing platform. Biasanya sudah terdapat sistem operasi, database, web server dan framework aplikasi agar dapat menjalankan aplikasi yang telah dibuat. Perusahaan yang menyediakan layanan tersebutlah yang bertanggung jawab dalam pemeliharaan computing platform ini. Keuntungan layanan PaaS ini bagi pengembang adalah mereka bisa fokus pada aplikasi yang mereka buat tanpa memikirkan tentang pemeliharaan dari computing platform. Contoh penyedia layanan PaaS adalah Amazon Web Service dan Windows Azure.
o    Software as a Service (SaaS)
Software as a Service adalah layanan komputasi awan dimana kita bisa langsung menggunakan aplikasi yang telah disediakan. Penyedia layanan mengelola infrastruktur dan platform yang menjalankan aplikasi tersebut. Contoh layanan aplikasi email yaitu gmail, yahoo dan outlook sedangkan contoh aplikasi media sosial adalah twitter, facebook dan google+. Keuntungan dari layanan ini adalah pengguna tidak perlu membeli lisensi untuk mengakses aplikasi tersebut. Pengguna hanya membutuhkan perangkat klien komputasi awan yang terhubung ke internet. Ada juga aplikasi yang mengharuskan pengguna untuk berlangganan agar bisa mengakses aplikasi yaitu Office 365 dan Adobe Creative Cloud.
C.      Contoh Perusahaan :
DROPBOX
 
Dropbox adalah layanan penyedia data berbasis web yang dioperasikan oleh Dropbox, Inc. Dropbox menggunakan sistem penyimpanan berjaringan yang memungkinkan pengguna untuk menyimpan dan berbagi data serta berkas dengan pengguna lain di internet menggunakan sinkronisasi data. Dropbox didirikan pada tahun 2007 oleh lulusan Massachusetts Institute of Technology (MIT) Drew Houston dan Arash Ferdowsi dengan modal awal yang didapat dari Y Combinator.

Dropbox menyediakan layanan secara gratis ataupun berbayar, masing-masing dengan keuntungan yang bervariasi. Pada tahun 2011 Dropbox juga meluncurkan "Dropbox for Teams", sebuah layanan dari Dropbox yang dikhususkan untuk kelompok bisnis atau kelompok lainnya yang membutuhkan layanan untuk mengendalikan administrasi, tagihan yang terpusat, dan lain sebagainya. "Dropbox for Teams" tetap tersedia di situs web, namun harga yang ditawarkan berbeda dengan layanan Dropbox lainnya.

Bila dibandingkan dengan layanan serupa lainnya, Dropbox menawarkan jumlah pengguna yang relatif besar, dengan penggunaan sistem operasi yang bervariasi, baik untuk perangkat mobile ataupun desktop. Terdapat berbagai versi untuk berbagai sistem operasi, termasuk untuk Microsoft Windows, Mac OS X, dan Linux (resmi atau tidak resmi). Dan tersedia juga berbagai versi untuk perangkat mobile, diantaranya Android, Windows Phone 7, iPhone, iPad, WebOS, dan Blackberry, dan klien yang berbasis web. Dropbox menggunakan model finansial Freemium, dan layanan gratisnya menyediakan 2 GB penyimpanan online gratis. Para pengguna yang menyarankan Dropbox ke orang lain bisa meningkatkan kapasitas penyimpanan hingga 8 GB. Kompetitor utama dari Dropbox antara lain, Box.net, FilesAnywhere, CloudMe, CrashPlan, Egnyte, iCloud, Mozy, SpiderOak, SugarSync, TitanFile, Ubuntu One, Windows Live SkyDrive, Wuala dan ZumoDrive.

SEJARAH DROPBOX
Pendiri Dropbox, Drew Houston memperoleh ide mengenai Dropbox setelah USB Drive miliknya beberapa kali tertinggal ketika ia menjadi murid di MIT. Ia mengatakan bahwa layanan yang tersedia saat itu bermasalah dengan penggunaan internet yang tidak dimaksimalkan, ukuran data yang besar, banyaknya error dan kesalahan, serta tidak praktis dan membingungkan banyak orang. Ia lalu mulai menciptakan sesuatu untuk dirinya sendiri, namun lalu menyadari bahwa hal ini dapat menguntungkan orang lain yang memiliki masalah yang sama. Houston lalu mendirikan Dropbox, Inc. pada tahun 2007, dan tidak lama setelah itu mendapatkan dana awal dari Y Combinator.[4] Dropbox secara resmi diluncurkan pada acara TechCrunch50, sebuah konferensi teknologi tahunan pada tahun 2008. 

Dikarenakan adanya perselisihan mengenai merek dagang antara Evenflow (perusahaan yang membawahi Dropbox) dan Proxy, Inc., nama domain resmi dari Dropbox adalah "getdropbox.com" hingga Oktober 2009, lalu kemudian akhirnya mereka berhasil memperoleh nama domain mereka saat ini, "dropbox.com".

Di Laporan Pangsa Pasar Desember 2010, OPSWAT melaporkan bahwa Dropbox telah menguasai 10,41% dari pasar Backup Client di seluruh dunia, berdasarkan angka instalasI Dropbox.

Pada Mei 2011, Dropbox melangsungkan penawaran dengan penyedia layanan mobile dari Jepang, Softbank dan Sony Ericsson. Salah satu bagian dari perjanjian tersebut adalah Dropbox akan tersedia di perangkat mobile mereka. Setahun sebelumnya, pada Mei 2010, pengguna Dropbox di Cina kesulitan dalam mengakses Dropbox. Tidak lama kemudian, Dropbox mengkonfirmasi bahwa mereka telah diblokir di Cina. Bila melihat fakta bahwa banyak dari penyensoran di Cina terjadi pada layanan populer dan memiliki nama besar, maka hal ini dapat menjadi bukti betapa pesatnya popularitas Dropbox dan banyaknya pengguna dalam ranah internasional.

Dan pada Oktober 2011, Dropbox telah memiliki lebih dari 50 juta pengguna.

MODEL BISNIS
Dropbox beroperasi di model finansial Freemium.

Dropbox menawarkan akun gratis yang dengan kapasitas data sebesar 2 GB dan akun berbayar dengan kapasitas sebesar 50 GB dan 100 GB, dan akun khusus kelompok dengan kapasitas data sebesar 1 TB atau lebih. Baik akun gratis atau berbayar memiliki fasilitas yang persis sama, yang membedakan hanyalah jumlah dari kapasitas penyimpanan yang ditawarkan. Menyediakan akun gratis bagi pengguna memakan banyak biaya bagi Dropbox, namun walaupun begitu Dropbox terus memberikan fasilitas akun gratis, karena hal ini mampu memberikan banyak keuntungan bagi Dropbox. Drew Houston, CEO dari Dropbox telah menyampaikan bahwa:

    "Pertumbuhan kami banyak disebabkan oleh promosi mulut ke mulut, atau viral. Jadi pengguna gratis masih sangat berguna: kami dapat tumbuh dengan pesat, dan mereka memperkenalkan Dropbox ke orang-orang yang mungkin mau membayar"

    "Memilih durasi yang tepat itu sulit, dan orang menyimpan data yang berbeda-beda di Dropbox mereka, Banyak dari pengguna yang mulai memakai akun berbayar setelah memiliki akun gratis untuk waktu yang lama."

Pada Oktober 2011, Forbes mengumumkan bahwa Dropbox telah memiliki 50 juta pengguna, yang 96% nya menggunakan akun gratis.
Dalam beberapa waktu yang singkat, Dropbox mengoperasikan sebuah program afiliasi yang memungkin pihak ketiga, yaitu pelanggan dari Dropbox, mendapatkan sedikit suntikan dana dari pendapatan Dropbox. Tapi program ini dihentikan pada 5 November 2009, karena tidak memberikan hasil yang baik. Dropbox pun memberikan penjelasan sebagai berikut:

    "Kami percaya bahwa usaha kami sebagai sebuah perusahaan lebih baik dihabiskan untuk perbaikan produk Dropbox dan memberikan fitur-fitur yang pelanggan kami butuhkan."

    "Karena kami hanyalah perusahaan kecil, kami harus sangat selektif mengenai proyek apa yang kami kerjakan, dan program afiliasi tersebut sepertinya bukan merupakan pilihan yang bijak untuk sumber penghasilan kami."

Pada tahun 2009, Dropbox mengimplementasikan sebuah program rujukan yang dapat mendorong pengguna untuk memberitahukan teman mereka mengenai Dropbox. Program rujukan ini memiliki dua sisi yang mendorong pengguna untuk berbagi info mengenai Dropbox: orang yang mendaftar untuk Dropbox lewat tautan rujukan mendapatkan lebih banyak kapasitas data dibanding pendaftaran biasa, dan kamu (yang memberikan tautan rujukan) juga mendapatkan lebih banyak kapasitas penyimpanan. Berdasarkan apa yang dikatakan Drew Houston di Startup Lessons Learnt Conference pada 23 April 2010, program rujukan tersebut diinspirasikan oleh program Paypal Sign Up Bonus. Program rujukan ini menghasilkan kesuksesan yang sangat besar, dan secara permanen meningkatkan jumlah pendaftar hingga 60%, dengan jumlah akun rujukan sebesar 35% berdasarkan pendaftaran sehari-hari. 30 hari sebelum presentasi di konferensi tersebut, Dropbox memperkirakan bahwa para pengguna mereka telah mengirimkan 2,8 juta undangan rujukan ke teman-teman mereka.

TEKNOLOGI
Baik server atau desktop client Dropbox, keduanya ditulis dengan Python. Dropbox menggunakan sistem penyimpanan Amazon's S3 untuk menyimpan data, walaupun Houston telah menyatakan bahwa Dropbox mungkin akan mengubah ke penyedia jasa penyimpanan lainnya suatu saat nanti. Dropbox juga menggunakan transfer SSL untuk sinkronisasi dan menyimpan data lewat enkripsi AES-256.

Klien Dropbox memungkinkan para pengguna untuk meletakkan data apapun menjadi sebuah berkas, yang kemudian dapat dihubungkan dengan layanan internet Dropbox dan ke komputer dan perangkat yang dimiliki pengguna-pengguna lainnya, yang juga memiliki klien Dropbox. Pengguna juga bisa mengunggah data secara manual lewat web browser. Dropbox dapat menjadi alternatif dari sneakernet (transportasi fisik lewat media yang dapat dipindahkan), dan bentuk tradisional lainnya dari transfer data, seperti FTP atau lampiran e-mail.