Saat ini layanan Cloud Storage sudah banyak bertebaran di internet, dari yang gratisan hingga berbayar. Contoh yang populer saat ini adalah Dropbox yang menyediakan space sebesar 2GB secara cuma-cuma yang bisa diupgrade hingga maksimal 18GB, kemudian ada lagi Google DriveSugarSync,SpiderOak dan Microsoft SkyDrive. Semuanya memiliki kelebihan dan kekurangannya masing-masing. Untuk lebih jelas mengenai perbandingan layanan Cloud Storage dapat anda baca di artikel “Perbandingan Beberapa Cloud Storage“.
Nah di tutorial kali ini kita akan mencoba membuat layanan Cloud Storage sendiri yang dapat  digunakan untuk pribadi, komunitas, maupun lembaga atau perusahaan. Disini kita akan menggunakan sebuah CMS (Content Management System) yang memang khusus dibuat untuk layanan Cloud Storage mirip Dropbox atau Google Drive, CMS tersebut adalahownCloud yang dapat diunduh secara cuma-cuma dan merupakan salah satu perangkat lunak sumber terbuka (Open Source). Daftar lengkap fitur dari ownCloud dapat ditemukan disini.
OwnCloud termasuk dalam kategori Infrastructure as a Service (IaaS) Layanan awan. Dengan ownCloud kita dapat menyimpan file, folder, kontak, audio, galeri foto, kalender dan dokumen lainnya. Kita juga dapat mengakses file dan melakukan sinkronisasi file yang terdapat pada server ownCloud dengan perangkat mobile, desktop, atau peramba web.
Catatan: Untuk tutorial instalasi web server (Apache, MySQL, PostgreSQL, PHP) tidak akan dijelaskan disini, saya anggap mesin yang akan kita gunakan sebagai tempat instalasi ownCloud sudah terdapat paket-paket dependensi yang diperlukan oleh ownCloud. 
Baik, langsung saja berikut adalah step-by-step cara menginstalasi ownCloud.
Langkah pertama adalah memastikan bahwa di environment server kita sudah terinstal software berikut:
  • Apache HTTP Server versi 2 keatas
  • PHP versi 5.1 keatas : php5 php5-json php-xml php-mbstring php5-zip php5-gd php5-sqlite curl libcurl3 libcurl3-dev php5-curl php-pdo
  • Untuk database dapat menggunakan SQLite, MySQL 5.1 keatas, atau PostgreSQL 8 keatas
Untuk sistem operasinya sendiri dapat menggunakan GNU Linux, Microsoft Windows, Solaris, MacOSX maupun keluarga BSD (FreeBSD, NetBSD, OpenBSD, dll) selama terdapat web server HTTP dan PHP serta database engine (SQLite, MySQL, PostgreSQL). ownCloud juga mendukung autentifikasi pengguna berdasarkan LDAP.
Setelah yakin mesin yang akan kita gunakan sudah memenuhi persyaratan diatas maka langkah selanjutnya adalah mengunduh paket ownCloud di alamat berikut:
Untuk pengguna linux dapat menggunakan perintah berikut:
wget -qO – “http://owncloud.org/owncloud-download-4-0-0″ | tar zjvf -
cp -r owncloud/* /path/tempat/webserver
Catatan: yang berwarna dilahkan disesuaikan sesuai dengan direktori public_html anda masing-masing.
Contoh:
  • CentOS / Fedora  :  /var/www/html
  • Debian / Ubuntu   :  /var/www
Setelah tersalin selanjutnya kita akses alamat hostnya, misal dalam contoh kali ini saya mengunakan localhost, sehingga akan tampil halaman untuk membuat sebuah akun administrator seperti berikut:
Membuat Akun Administrator ownCloud
Silahkan klik pada menu “Advanced” untuk mengubah direktori tempat data akan disimpan dan tentukan database yang akan digunakan apakah SQLite, MySQL atau PostgreSQL. Saran saya jika data atau penggunanya tidak terlalu banyak kita bisa menggunakan SQLite, sedangkan jika datanya besar maka gunakan MySQL atau PostgreSQL. Jika kita menggunakan MySQL atau PostgreSQL sebagai databasenya, maka sebelumnya kita harus membuatkan databasenya terlebih dahulu.
Untuk membuat database di MySQL beserta penggunanya dapat menggunakan query berikut:
CREATE DATABASE owncloud;
GRANT ALL ON owncloud.* TO ‘dbuser‘@’localhost‘ IDENTIFIED BY dbpass‘;
FLUSH PRIVILEGES;
Sedangkan untuk PostgreSQL sebagai berikut:
CREATE USER dbuser WITH PASSWORD ‘dbpass‘;
CREATE DATABASE owncloud OWNER dbuser ENCODING ‘UTF8′;
GRANT ALL PRIVILEGES ON DATABASE owncloud TO dbuser;
Catatan: silahkan sesuaikan yang saya beri warna merah tebal.
Kemudian isi form untuk koneksi database pada instalasi ownCloud dengan nama database, pengguna dan kata sandi database yang telah kita buat tadi.
Setup Database ownCloud
Setelah terisi dengan benar selanjutnya klik “Finish“. Maka ownCloud akan membuatkan struktur tabel pada database dan memasukkan satu akun administrator yang tadi kita buat. Berikut adalah tabel yang dibuat oleh ownCloud:
Nah instalasi ownCloud sudah selesai, tapi ada satu masalah yang harus diatasi. Pada saat pertama kali kita menjalankan ownCloud yang sudah kita instal akan muncul galat seperti ini:
Cannot modify header information – headers already sent by (output started at …….
Jangan panik karena itu memang salah satu bugs kecil dari versi ownCloud yang kita gunakan ini. Untuk mengatasinya cukup mudah, buka file berikut ini dengan menggunakan text editor:
/path/tempat/instalasi/owncloud/apps/files_odfviewer/appinfo/app.php
Kemudian hapus whitespace pada akhir baris kodenya hingga akhir penutup tag PHP.
<?php
OCP\Util::addStyle( ‘files_odfviewer’, ‘webodf’ );
OCP\Util::addStyle( ‘files_odfviewer’, ‘odfviewer’ );
OCP\Util::addScript(‘files_odfviewer’, ‘viewer’ );
OCP\Util::addScript(‘files_odfviewer’, ‘webodf’);
?>
[THIS IS A BLANK LINE]
Ubah menjadi seperti berikut ini:
<?php
OCP\Util::addStyle( ‘files_odfviewer’, ‘webodf’ );
OCP\Util::addStyle( ‘files_odfviewer’, ‘odfviewer’ );
OCP\Util::addScript(‘files_odfviewer’, ‘viewer’ );
OCP\Util::addScript(‘files_odfviewer’, ‘webodf’);
?>
Tutorial lengkap mengatasi galat tersebut dapat anda baca disini. Selesai sudah proses instalasi ownCloud.
Akhirnya kita sampai juga di penghujung tutorial singkat ini, semoga dapat bermanfaat bagi siapapun yang membutuhkan. Sekian dulu tutorial singkat membuat Cloud Storage ini. Untuk mencoba menggunakannya silahkan anda lakukan sendiri karena menu-menu yang terdapat di ownCloud ini saya rasa cukup mudah dipahami. Silahkan lakukan eksplorasi lebih lanjut, dan jika anda ingin bertanya mengenai pembahasan tutorial ini silahkan ertanya melalui kolom komentar dibawah. Terima kasih, see you next time.
Referensi:
  • http://owncloud.org/install/
  • http://www.tukangubuntu.com/owncloud-3.html
  • http://www.howtoforge.com/your-cloud-your-data-your-way-owncloud-4.0-nginx-postgresql-on-centos-6.2
  • http://www.cloudindonesia.or.id/membuat-layanan-cloud-storage-sendiri-dengan-owncloud.html

Sering kita temui website yang tipikal: “Welcome to my homepage,” animasi e-mail, background dengan tulisan miring (diagonal), animasi garis pembatas, tabel dengan border tiga-dimesi dan lain-lain. Hal ini terjadi akibat dari fasilitas Template yang disediakan oleh software pembuat web seperti: FrontpageT, Corel WebDesignerT, dan sebagainya yang ditujukan untuk mempermudah penggunanya dalam membangun website.
Jika anda puas dengan hasil kerja anda membangun website dengan fasilitas template, sudahlah cukup sampai disini. Tetapi jika anda tidak puas dengan apa yang anda buat, dan anda merasa ingin lebih baik, maka anda perlu mengetahui bagaimana Web Designer membangun suatu Website, terlepas anda punya bakat seni atau tidak.
  1. Unik : Dalam membuat karya apapun seorang designer mempunyai kesadaran untuk tidak meniru atau menggunakan karya orang lain. Begitu pula seorang Web Designer harus mempunyai budaya malu untuk menggunakan icon, animasi, button, dll, yang telah digunakan atau dibuat oleh orang lain.
  2. Komposisi : Seorang Web Designer selalu memperhatikan komposisi warna yang akan digunakan dalam website yang dibuatnya. Pergunakan selalu Palette 216 WebColor, yang dapat diperoleh dari Adobe.com, hal ini untuk mencegah terjadinya dither pada image yang berformat GIF. Dalam membangun website suatu perusahaan, Web Designer selalu menyesuaikan warna yang digunakan dengan Corporate Color perusahaan tersebut. Sebagai contoh: Telkom Corporate Color-nya adalah biru, Coca-Cola : merah dan putih, Standard-Chartered : hijau dan biru, dsb. Untuk kemudian warna-warna tadi digunakan sebagai warna dominan atau sebagai elemen pendukung (garis, background, button, dsb).
  3. Simple : Web Designer banyak yang menggunakan prinsip “Keep it Simple”, hal ini ditujukan agar tampilan website tersebut terlihat rapi, bersih dan juga informatif.
  4. Semiotik : Semiotika adalah ilmu yang mempelajari tentang tanda-tanda. Dalam hal ini diharapkan dengan melihat tanda atau gambar, user/ audience dapat dengan mudah dan cepat mengerti. Sebagai contoh: Jangan membuat gambar/image yang berkesan tombol, padahal itu bukan tombol/ link.
  5. Ergonomis : Web Designer selalu memperhatikan aspek ergonomi. Ergonomi disini adalah dalam hal kenyamanan user dalam membaca dan kecepatan user dalam menelusuri website tersebut. Web Designer memilih ukuran Fonts yang tepat sehingga mudah dibaca, Web Designer menempatkan link sedemikian rupa sehingga mudah dan cepat untuk di akses dan lebih penting lagi adalah Informatif.
  6. Fokus : Tentukan hirarki prioritas dari pesan yang akan disampaikan, misalnya: Judul harus besar, tetapi jangan sampai akhirnya akan konflik dengan subjudul yang berukuran hampir sama. Hal ini akan membingungkan user/audience untuk menentukan pesan mana yang harus lebih dahulu dibaca/ dilihat.
  7. Konsisten : Tentukan font apa yang akan digunakan sebagai Body-text, Judul, Sub Judul dan sebagainya, sehingga website tersebut akan terlihat disiplin dan rapi. Sesuaikan jenis huruf yang digunakan dengan misi dan visi website tersebut, misalnya: hindari menggunakan font Comic dalam membangun website suatu perusahaan resmi.
Demikian beberapa aspek dan prinsip yang digunakan Web Designer dalam membuat website, selebihnya merupakan ekspresi dari pembuat website itu sendiri yang terwujud dalam penggayaan penyusunan website.
Software-software pembuat suatu website
Desain : Untuk membuat desain suatu homepage biasanya para web designer dimulai dengan software ini sebagai tampilan sementara atau dalam membuat layout homepage.
  1. Adobe Photoshop : Desain berbasis titik ( bitmap )
  2. Adobe Image Ready : Memotong gambar-gambar ke dalam format html
  3. Adobe Illustrator : Desain berbasis vector
  4. CorelDraw : Desain berbasis vector
  5. Macromedia Freehand : Desain berbasis vector
Efek Desain : Hal ini dilakukan untuk menghidupkan desain yang telah kita rancang. Seperti menambah efek cahaya, textur dan manipulasi teks.
  1. Macromedia Firework : Efek teks
  2. Painter : Memberikan efek lukisan
  3. Ulead Photo Impact : Efek frame dan merancangan icon yang cantik.
  4. Plugins Photoshop : Seperti Andromeda, Alien Skin, Eye Candy, Kai’s Power Tool dan Xenofex juga sangat mendukung untuk memberi efek desain sewaktu anda mendesain layout homepage di Photoshop.
Animasi : Penambahan animasi perlu untuk membuat homepage agar kelihatan menarik dan hidup.
  1. 3D Studio Max : Untuk membuat objek dan animasi 3D.
  2. Gif Construction Set : Membuat animasi file gif
  3. Macromedia Flash : Menampilkan animasi berbasis vector yang berukuran kecil.
  4. Microsoft Gif Animator : Membuat animasi file gif
  5. Swift 3D : Merancang animasi 3D dengan format file FLASH.
  6. Swish : Membuat berbagai macam efek text dengan format file FLASH.
  7. Ulead Cool 3D : Membuat animasi efek text 3D.
Web Editor : Menyatukan keseluruhan gambar dan tata letak desain, animasi, mengisi halaman web dengan teks dan sedikit bahasa script.
  1. Alaire Homesite
  2. Cold Fusion
  3. Microsoft Frontpage
  4. Macromedia Dreamweaver
  5. Net Object Fusion
Programming : Hal ini dilakukan setelah sebagian besar desain homepage telah rampung. Programming bertugas sebagai akses database, form isian dan membuat web lebih interaktif. Contoh : Membuat guestbook, Form isian, Forum, Chatting, Portal, Lelang dan Iklanbaris.
  1. ASP ( Active Server Page )
  2. Borland Delphy
  3. CGI ( Common Gateway Interface )
  4. PHP
  5. Perl
Upload : File html kita perlu di letakkan ( upload ) di suatu tempat ( hosting ) agar orang di seluruh dunia dapat melihat homepage kita.
  1. Bullet FTP
  2. Cute FTP
  3. WS-FTP
  4. Macromedia Dreamweaver : dengan fasilitas Site FTP
  5. Microsoft Frontpage : dengan fasilitas Publish
Sound Editor : Homepage kita belum hidup tanpa musik. Untuk mengedit file midi atau wav, perlu alat khusus untuk itu.
  1. Sound Forge : Mengedit dan menambah efek file yang berformat mp3 dan wav.
  2. Cakewalk : Mengedit dan menambah efek untuk file yang berformat midi
Banyak sekali memang software untuk membuat suatu homepage dan kita tidak perlu mempelajari semua software tersebut di atas. Tapi untuk mempermudah, bagi pemula lebih baik dimulai terlebih dulu dengan mempelajari software Microsoft Frontpage atau Macromedia Dreamweaver agar lebih mengenal aturan-aturan membuat homepage dan mengenal bahasa html. Setelah itu baru Adobe Photoshop yang dipakai kebanyakan para desainer.
Langkah-langkah Membuat Homepage
Bermacam-macam langkah yang digunakan profesi web kita untuk membuat suatu homepage. Berikut ini adalah proses secara umum yang dilakukan kebanyakan profesi web di Indonesia untuk membuat web.
  1. Membuat Sketsa Desain : Desainer bisa saja menuangkan ide dalam membuat interface suatu homepage dalam bentuk sketsa di kertas dahulu. Untuk kebanyakan orang, biasanya langkah ini dilewatkan dan langsung pada langkah membuat layout desain dengan menggunakan software.
  2. Membuat Layout Desain : Setelah sketsa sudah jadi, kita menggunakan software seperti Adobe Photoshop, Adobe Illustrator, Macromedia Fireworks dan Macromedia Freehand untuk memperhalus sketsa desain.
  3. Membagi gambar menjadi potongan kecil-kecil : Setelah layout desain homepage sudah jadi. File gambarb tersebut dipecah menjadi potongan kecil-kecil untuk mengoptimize waktu download. Untuk melakukan hal tersebut dapat menggunakan software Adobe Image Ready. Software ini dapat langsung memotong gambar yang besar tadi dan otomatis juga menjadikannya ke dalam format html. Langkah ini bisa saja dilewatkan bila ukuran gambar kita tidak terlalu besar.
  4. Membuat Animasi : Animasi diperlukan untuk menghidupkan homepage kita agar menarik pengunjung. Macromedia Flash dan Gif Construction Set dapat dipakai untuk melakukan hal tersebut.
  5. Membuat HTML : Setelah itu kita merapikan layout desain kita seperti menempatkan beberapa tombol dan gambar, menambah text, mengedit script HTML, membuat layout form ke dalam format HTML. Untuk itu kita perlu software HTML Editor seperti Macromedia Dreamweaver, Microsoft Frontpage dan Allaire Homesite.
  6. Programming dan Script : Untuk website e-commerce, iklan baris, lelang, database, membuat guestbook, counter dan forum diskusi. File HTML kita perlu programming untuk melakukan aktivitas semacam itu. Programming dan script ini bisa dibuat dengan menggunakan ASP, Borland Delphy, CGI, PHP, Visual Basic. Dan perlu diperhatikan bahwa programming dan script ini biasanya dilakukan setelah desain homepage kita telah jadi.
  7. Upload HTML : Setelah file kita telah menjadi html beserta gambar dan scriptnya. Kita perlu meng-upload file kita ke suatu tempat ( hosting ), agar semua orang di dunia dapat mengakses halaman html kita. Biasanya Macromedia Dreamweaver dengan fasilitas site FTP dan Microsoft Frontpage dengan Publishnya telah menyediakan fasilitas upload ini. Atau dapat menggunakan software seperti WS-FTP, Cute FTP, Bullet FTP.
Source : http://www.binushacker.net/design-website.html

Library adalah class yang lebih general yang bisa digunakan dilebih dari satu aplikasi. Contoh library yang umum dalam aplikasi bisnis misalkan : PHPExcel

Dengan menggunakan library maka program mendapatkan kemampuan tambahan. Contoh library lainnya misalkan ORM seperti ReadBean.

Nah, jika menemukan model yang sepertinya bisa digunakan didalam tiap aplikasi. Cobalah buat menjadi library.
Helper dalam codeigniter adalah fungsi yang bisa berdiri sendiri, dan tidak terikat kepada class ataupun library. Helper diimplementasikan sebagai sebuah fungsi yang dapat dipanggil kapan saja asalkan helper di load dari controller.

Lokasi helper bawaan ada di folder system/helpers atau folder application/helpers. Untuk helper yang anda akan buat sendiri tempatkanlah didalam folder application/helpers. Untuk penamaan harus mengikuti format penamaan Codeigniter, yaitu xxxx_helper.php , dimana xxxx adalah nama yang anda inginkan.

Contoh Kode helper :

//file contoh_helper.php
<?php
if(!function_exists("contoh_helper")
{

function contoh()
{
 echo "Saya helper";
}
}
?>
Ya, seperti itulah helper, hanya sebuah function yang tidak terikat kepada siapapun. Contoh umum helper adalah : fungsi terbilang , fungsi ini dibutuhkan untuk mengkonversi angka menjadi kata - kata.

Penggunaan Helper seperti penggunaan model pada umumnya , cukup di load, lalu dipanggil seperti fungsi biasa.
<?php
     //load helper
     $this->load->helper("contoh");
 
     //dipanggil
     contoh();
?>
Menggunakan Helper pada codeigniter sangat mudah. Cukup Meload Helper Lalu gunakan fungsinya seperti menggunakan fungsi pada umumnya. Contoh :


<?php
      //load
      $this->load- > helper("url");

     echo base_url();
?>

Kode ini meload file url_helper.php lalu menjalankan fungsi base_url();

Jika pernah menggunakan php tentu familiar dengan fungsi header("location:url") yang gunakannya untuk meredirek halaman.

Nah di codeigniter fungsi ini telah disederhanakan, untuk menggunakannya harus meload url helper

$this->load->helper('url');


Url helper ini salah satu fungsi didalamnya adalah redirect(location),
contoh :

redirect("gaji/print_gaji/1");

Sebagai orang yang sudah terbiasa menggunakan PHP, tentu kita akan terpikir bagaimana pemrosesan Input dari Browser. Di PHP standar kita mengenal $_GET dan $_POST sebagai array yang membantu kita dalam menangani data yang dikirim lewat link alias $_GET dan $_POST sebagai data yang dikirim lewat form dengan method post.
Dalam codeigniter penanganan post tidaklah berbeda, kita tetap bisa menggunakan $_POST, sedangkan penanganan $_GET menjadi sangat berbeda, perbedaan itu karena beberapa hal :
- penggunaan pretty URL
- Page adalah function dalam class Controller
Penggunaan Pretty URL yang dimaksud adalah perubahan cara penulisan yang biasa kita kenal
sebelumnya kita mengenal http://localhost/index.php?mod=news&id=1 sedangkan di Codeigniter kita mengenal http://localhost/index.php/news/1.html
nah dari sini bisa kita lihat mengapa terjadi perubahan dalam penanganan data yang dilewatkan dengan $_GET. Dan yang dilakukan oleh CodeIgniter pada url http://localhost/index.php/news/1.html sebenarnya adalah menjadikan variabel pertama (news) sebagai Controller dan selanjutnya (1) sebagai variabel pertama dari function index didalam controller tersebut.
Apakah Framework Itu ?

Jika kita mendengan kata framework, mungkin yang terbayang di benak kita adalah arti dari kata framework yaitu "bingkai kerja", tapi secara pasti bagaimana framework bekerja ktia belum tentu terpikir.

Nah, sederhananya framework dapat kita artikan sebagai langkah kerja terstruktur, mirip dengan wizard ataupun buku manual untuk memasang peralatan knock down, bisa juga diistilahkan dengan lego dimana bagian - bagian tertentu telah terbentuk dan ada kerangka utama.

Jika masih bingung dengan penjelasan diatas, mungkin framework dapat kita artikan sebagai alat yang kita harus ikuti cara penggunaannya sehingga menyederhanakan langkah yang harus kita lakukan jika tanpa framework.