Bagi mahasiswa jurusan teknik informatika, kata protokol merupakan sebuah kata yang sering didengar. Jika kita membicarakan mengenai protokol pasti berkaitan erat dengan yang namanya jaringan komputer. Pada artikel ini, penulis akan menjelaskan sedikit apa itu protokol dan bagaimana contoh nyata protokol pada kehidupan nyata.

Apa Itu Protokol ?

Protokol adalah sebuah bahasa atau dapat dikatakan juga sebagai tata bahasa untuk berkomunikasi antara satu pihak dengan pihak yang lain.

Dari pengertian diatas dapat kita simpulkan bahwa dengan menggunakan protokol kita dapat melalukan komunikasi. Komunikasi disini adalah komunikasi antar komputer. Pada zaman sekarang, jenis - jenis protokol yang dapat kita gunakan untuk melakukan komunikasi antar komputer terbilang banyak, diantaranya seperti protokol http, smtp, ftp dan lain sebagainya.

Masing - masing protokol mempunyai fungsi yang sama yaitu saling berkomunikasi akan tetapi memiliki cara implementasi yang berbeda - beda. Contohnya misalnya protokol http merupakan protokol yang digunakan untuk transfer atau pertukaran data dalam bentuk hyper text antar client server sedangkan protokol smtp digunakan untuk mengirim atau pertukaran data dalam bentuk email. Kedua protokol diatas berfungsi untuk saling komunikasi akan tetapi secara tidak langsung implementasi dari kedua protokol tersebut adalah berbeda.

Contoh Penerapan Protokol Dalam Kehidupan Nyata

Dalam keseharian kita, sebenarnya terdapat banyak sekali contoh nyata implementasi protokol jaringan. Pada artikel ini, penulis memberikan gambaran tentang protokol dengan contoh POS dan TIKI. Jika kita ingin mengirim surat melalui POS maka tahapan kerjanya seperti berikut.

  1. Persiapkan dokumentasi / surat yang hendak anda kirim
  2. Masukkan surat atau dokumentasi tersebut ke dalam map surat agar surat tidak rusak
  3. Tuliskan alamat tujuan pada map surat anda
  4. Cara membayar untuk jasa POS yaitu dengan cara membeli perangko, sehingga anda tidak dapat secara langsung membayar secara tunai
  5. Tempelkan perangko di map surat anda
  6. Datang ke kantor POS lalu serahkan map surat anda kepada petugas

Jika kita menggunakan jasa TIKI, maka berikut adalah tahapan kerjanya.

  1. Persiapkan dokumentasi / surat yang hendak anda kirim
  2. Masukkan surat atau dokumentasi tersebut ke dalam map surat agar surat tidak rusak
  3. Tuliskan alamat tujuan pada map surat anda
  4. Datang ke loket TIKI, lalu anda akan bertemu dengan petugas disana
  5. Anda melakukan pengisian formulir dan membayar cash sesuai dengan harga yang telah ditetapkan

Dari contoh diatas dapat kita lihat, bahwa kedua perusahaan tersebut sama - sama dapat mengirim surat akan tetapi memiliki tahapan yang berbeda, dimana tahapan yang berbeda ini dapat dilihat pada bagian pembelian perangko dan pembayaran cash. Hal ini juga berlaku pada sebuah protokol, setiap protokol memiliki fungsi yang sama yaitu komunikasi akan tetapi setiap protokol memiliki implementasi yang berbeda - beda.

Kesimpulan

Protokol adalah sebuah bahasa atau tata bahasa yag digunakan untuk melalukan komunikasi jaringan. Setiap protokol memiliki tujuan yang sama yaitu melakukan komunikasi antar komputer, akan tetapi masing - masing protokol melakukan implementasi berbeda - beda.

Membuat sebuah aplikasi berbasis web adalah salah satu keahlian yang banyak dibutuhkan. Di dalam dunia kerja, memiliki skill dalam membuat aplikasi web memiliki nilai plus tersendiri. Beberapa mahasiswa sering bertanya kepada penulis tentang bagaimana cara membuat web ? membuat web menggunakan tool apa saja ? dan lain sebagainya. Pertanyaan tersebut memang sederhana akan tetapi memiliki jawaban yang cukup panajang. Pada artikel ini, penulis ingin sharing tentang apa saja yang perlu dipelajari agar kita dapat mengerti dan membuat web sendiri :).

Pelajari HTML

HTML(hypertext markup Language) adalah sebuah bahasa markup untuk membuat sebuah halaman web.

Yang pertama kali yang harus anda pelajari adalah html. Mengapa html ? dikarenakan semua aplikasi web pasti ditulis dengan html. Html biasanya digunakan untuk membuat tampilan halaman web. Seorang developer web yang sudah ahli, tag - tag html merupakan hafalan di luar kepala sehingga dia sangat paham betul sintak - sintak html. Nah bagaimana agar kita bisa seperti developer diatas ? cara nya mudah yaitu sering - sering ngoding html dengan menggunakan text editor yang tidak memiliki auto complete seperti gedit, notepad++ dan sebagainya. Silahkan anda pelajari seluruh tag html terutama html 5 di w3school.

Pelajari CSS

CSS(Cascading Style Sheet) berfungsi untuk mengatur component - component web seperti warna, lebar, style dan sebagainya.

Mengapa kita harus mempelajari css ? kan sekarang banyak template dan framework css seperti bootstrap ? Inti dari mempelajari css adalah agar anda dapat mengetahui minimal bagaimana caranya mengubah warna, bagaimana cara mengatur tinggi, lebar dan sebagainya. Sehingga dengan mempelajari css, anda tidak hanya bisa menggunakan framework css bahkan anda dapat membuat template anda sendiri. Pada saat melamar kerja, setiap developer front end pasti diwajibkan menguasai css, mengapa demikian ? dikarenakan setiap perusahaan pasti menginginkan pembuatan template web yang bagus sesuai dengan permintaan perusahaan tersebut.

Pada zaman sekarang terdapat beberapa bahasa baru agar anda dapat lebih optimal untuk melakukan coding css, diantaranya adalah less dan sass. Biasanya developer akan menggunakan bahasa diatas karena masing - masing bahasa diatas dapat menggunakan annotation fitur - fitur lain nya. Bahasa diatas nantinya akan di conver menjadi css yang siap dipakai. Bagi anda yang ingin belajar css silahkan akses di w3school.

Pelajari JavaScript

JavaScript adalah salah satu bahasa tingkat tinggi dan dinamis. JavaScript dikembangkan oleh Brendan Eich.

JavaScript adalah salah satu bahasa yang sangat powerfull. Hal ini terbukti pada zaman sekarang perkembangan teknologi javascript bagaikan pertumbuhan jamur di musim hujan :). Pada zaman dulu, javascript hanyalah bahasa yang dapat berjalan pada client, akan tetapi pada tahun 2009 Ryan Dahl membuat node js dari javascript yang dapat jalan di server.

Pada sub ini, kita hanya fokus pada javascript di sisi client. Di sisi client terdapat banyak framework yang dapat kita pelajari. Berikut adalah contoh framework dan library yang bisa dipelajari.

Fungsi dari javascript sebenarnya sangatlah banyak, diantaranya adalah kita dapat membuat aplikasi dengan konsep ajax. Dimana konsep ajax ini sangatlah banyak digunakan karena pertukaran data terjadi di belakang aplikasi. Bagi anda yang ingin belajar javascript silahkan akses w2school.

Pilih Bahasa Pemrograman

Tahap selanjutnya adalah anda diharuskan memilih bahasa pemrograman. Bahasa pemrograman dipilih adalah bahasa pemrograman yang mendukung untuk membuat aplikasi web seperti java, php, ruby, javascript dan lain sebagainya. Untuk pemilihan bahasa pemrograman silahkan dilihat kembali kebutuhan aplikasi yang akan dibuat. Jika aplikasi berskala enterprise maka gunakan bahasa pemrograman java, jika aplikasi menengah keatas anda dapat menggunakan java, php, ruby atau node js.

Nah jika anda mahasiswa, anda harus pilih bahasa apa untuk membuat sebuah aplikasi web ? kalau penulis menyarankan untuk mempelajari 1 bahasa yang benar - benar anda kuasai akan tetapi bahasa tersebut masih sangat digunakan untuk zaman sekarang contohnya seperti java dan php. Jika anda telah menguasa bahasa tersebut, untuk memperluas ilmu pengetahuan, anda dapat mempalajari bahasa - bahasa pemrograman lain seperti ruby dan node js. Jadi silahkan tentukan bahasa pemrograman untuk membuat aplikasi web yang anda inginkan :).

Pelajari Protokol Http

Http(Hypertext Transfer Protocol) adalah sebuah protokol jaringan lapisan aplikasi yang digunakan untuk sistem informasi terdistribusi, kolaboratif, dan menggunakan hipermedia.

Mengapa anda harus mempelajari protokol http ? dikarenakan untuk melakukan akses sebuah web kita akan menggunakan protokol sebagai penghubung antara client dan server. Jika anda tidak mengerti protokol http bagaimana anda dapat menyambungkan antara komputer server yang menjalankan aplikasi web anda dengan aplikasi browser yang terdapat di komputer client ?.

Apa saja yang harus dipelajari pada protokol http ? yang anda harus pelajari adalah bagaimana cara akses dari client ke server, method - method apa saja yang terdapat pada protokol http dan lain sebagainya. Jika anda mengerti bagaimana cara kerja protokol http maka anda tidak akan terlalu kesulitan ketika nanti nya anda akan mempelajari tentang teknologi web service.

Berikut adalah list apa saja yang penulis pelajari sehingga penulis bisa membuat aplikasi web.

  1. belajar html
  2. belajar css
  3. belajar javascript
  4. belajar jquery
  5. belajar angular js
  6. Belajar Ajax
  7. belajar bahasa pemrograman java
  8. belajar framework java web seperti spring mvc
  9. belajar ruby on rails
  10. belajar node js

Sekian artikel mengenai belajar web mulai dari mana dan terima kasih :).

Pada artikel sebelumnya, penulis telah membahas mengenai bagaimana cara instalasi dan konfigurasi postgresql :). Jika pada artikel sebelumnya kita hanya belajar bagaimana cara instalasi, konfigurasi serta belajar mengenai DDL, DML dan DCL pada postgresql, sedangkan pada artikel ini kita akan membahas mengenai sequence pada postgresql :).

Apa Itu Sequence Pada PostgreSQL ?

Sequence adalah urutan atau berurutan, Artinya sebuah key yang digenerate secara berurutan atau disebut juga dengan sequential key.

Sequence merupakan salah satu fitur yang terdapat pada postgresql. Sequence memiliki konsep yang sama dengan auto increment yang terdapat pada mysql akan tetapi terdapat beberapa perbedaan, diantaranya adalah.

  1. Sequence dapat di custom, artinya kita dapat melakukan custom terhadap maksimal angka yang digenerate, minimal angka yang digenerate, besarnya increment atau pengulangan dan lain sebagainya.
  2. Sequence bersifat dinamic, dimana kita dapat menentukan angka awal yang digenerate, berbeda dengan auto increment yang selalu diawali dengan angka 1.
  3. Auto increment biasanya dibuat berbarengan dengan membuat tabel atau dapat juga pada saat melakukan alter tabel sedangkan sequence dibuat secara terpisah atau bisa juga menggunakan type data serial pada postgresql untuk membuat secara otomatis sequence sehingga sequence dengan type data serial sangatlah mirip dengan auto increment.

Berikut adalah list database yang menggunakan sequence :

Membuat Sequence Pada PostgreSQL

Sebelum membuat sequence, kita terlebih dahulu membuat tabel. Database yang akan digunakan adalah belajar-postgresql sama seperti pada artikel instalasi dan konfigurasi postgresql. Untuk membuat tabel, silahkan jalanlan perintah berikut.

CREATE TABLE barang(
    id_barang integer NOT NULL PRIMARY KEY,
    nama_barang character(50) NOT NULL,
    jenis_barang character(5) NOT NULL,
    harga_barang money
);

Codingan sql diatas berfungsi untuk membuat tabel dengan nama barang dimana untuk type data angka kita akan gunakan integer, untuk string kita akan gunakan character sedangkan untuk uang kita gunakan type data money.

Setelah selesai, tahap selanjutnya adalah kita membuat sequence. Untuk membuat sequence jalankan perintah berikut.

CREATE SEQUENCE IF NOT EXISTS nomor_sequence
    INCREMENT BY 1
    MINVALUE 1
    MAXVALUE 987654321
    START WITH 1;

Berikut adalah penjelasan mengenai codingan diatas.

  • CREATE SEQUENCE IF NOT EXISTS nomor_sequence berfungsi untuk membuat sebuah sequence dengan nama nomor_sequence, akan tetapi sebelum sequence dibuat terdapat pengecekan dengan adanya perintah IF NOT EXISTS. Jika sequence telah ada maka sequence tidak dibuat begitu pula sebaliknya.
  • INCREMENT BY 1 berfungsi sebagai tingkatan iterasi, maksudnya setiap kali data diinput maka sequence akan bertambah 1, anda dapat mengganti angka 1 menjadi angka berapa pun sesuai dengan keinginan anda.
  • MINVALUE 1 berfungsi untuk menandakan bahwa minimal value yang dihasilkan oleh sequence tersebut adalah angka 1.
  • MAXVALUE 987654321 merupakan kebalikan dari MINVALUE dimana pada sequence kita dapat menentukan batas maksimal key atau angka yang dihasilkan oleh sequence tersebut.
  • START WITH 1 berfungsi untuk mendeklarasikan bahwa sequence yang dibuat akan dimulai dari angka 1.

Untuk mengecek apakah sequence telah dibuat atau belum, bisa jalankan perintah berikut.

SELECT sequence_name FROM information_schema.sequences WHERE sequence_schema='public';

dan outputnya akan seperti ini jika sequence berhasil dibuat.

sequence_name
----------------
 nomor_sequence
(1 row)

Uji Coba Sequence Pada PostgreSQL

Untuk melakukan ujia coba sequence pada postgresql sangatlah gampang, kita hanya perlu melakukan insert sebuah data ke database. Silahkan jalankan perintah berikut.

INSERT INTO barang(id_barang, nama_barang, jenis_barang, harga_barang)
VALUES(nextval('nomor_sequence'), 'rinso', 'cair', 1000);

Untuk memanggil sequence, cukup dengan menggunakan sintak nextval('nama sequence'). Dimana pada insert data diatas, kita menggunakan sequence dengan nama nomor_sequence yang telah dibuat. Langkah selanjutnya lakukan pengecekan data dengan perintah.

SELECT * FROM barang;

maka outputnya akan seperti ini.

 id_barang |                nama_barang                | jenis_barang | harga_barang 
-----------+-------------------------------------------+--------------+--------------
         1 | rinso                                     | cair         |   Rp1.000,00
(1 row)

Mengubah Sequence Pada PostgreSQL

Untuk mengubah sequence pada postgresql, kita dapat menggunakan perintah alter. Misalkan kita ingin merubah increment menjadi 2, maka anda dapat mengubah sequence tersebut dengan perintah.

ALTER SEQUENCE IF EXISTS nomor_sequence
    INCREMENT BY 2;

Setelah selesai, lakukan insert data kembali untuk mengetahu bahwa sequence telah berubah dengan perintah.

INSERT INTO barang(id_barang, nama_barang, jenis_barang, harga_barang)
VALUES(nextval('nomor_sequence'), 'aqua', 'cair', 5000);

Kemudian jalankan perintah select kembali untuk menampilkan barang, maka akan muncul output seperti berikut.

 id_barang |                 nama_barang              | jenis_barang | harga_barang 
-----------+------------------------------------------+--------------+--------------
         1 | rinso                                    | cair         |   Rp1.000,00
         3 | aqua                                     | cair         |   Rp5.000,00
(2 rows)

Bisa dilihat bahwa sequence nya berhasil di ubah, dimana id nya akan terus bertambah sebanyak 2 per inputan data.

Menghapus Sequence Pada PostgreSQL

Untuk menghapus sequence, kita dapat menggunakan perintah drop. Untuk menghapus sequence nomor_sequence silahkan jalankan perintah berikut.

DROP SEQUENCE IF EXISTS nomor_sequence;

Kemudian lakukan pengecekan sequence kembali, jika berhasil maka akan muncul output seperti berikut.

sequence_name 
---------------
(0 rows)

Sekian artikel mengenai belajar membuat sequence pada postgresql dan terima kasih :).

Pada artikel sebelumnya penulis telah membahas sedikit mengenai cloud computing. Pada artikel ini, penulis akan membuat cloud storage sendiri dengan owncloud sehingga bisa diakses oleh siapa pun dan dimana pun dengan ketentuan komputer client terhubung dengan 1 jaringan komputer server. Pada artikel ini akan dibahas bagaimana cara instalasi, konfigurasi owncloud pada laptop masing - masing sehingga laptop anda nantinya akan kita gunakan sebagai server. Nah bagaimana jika kita ingin mengakses lewat aplikasi owncloud melalui mobile ? pastinya kita akan menggunakan provider yang support untuk owncloud.

Apa Itu OwnCloud ?

OwnCloud adalah salah satu CMS(Content Management System) untuk layanan cloud storage seperti google drive, dropbox dan owncloud berbasis layanan model IaaS.

Dengan menggunakan owncloud, kita dapat mengatur layanan cloud storage mulai dari user, group user, limited akses, size quota user dan lain sebagainya. Owncloud bisa kita jadikan sebagai salah satu bahan testing untuk cloud computing dikarenakan owncloud termasuk salah satu kategori dari model layanan cloud computing.

Setup OwnCloud

OwnCloud dibangun dengan menggunakan bahasa pemrograman PHP, bagi yang belum melakukan instalasi php, silahkan lihat di artikel instalasi perlengkapan php untuk coding php. Owncloud support untuk 2 database yaitu mysql/mariadb dan postgresql, pada artikel ini penulis akan menggunakan database postgresql, bagi yang belum melakukan instalasi postgresql, silahkan lihat artikel di instalasi dan konfigurasi PostgreSQL pada linux. Silahkan download owncloud di owncloud, Setelah selesai silahkan extract di dalam folder /var/www/html kemudian berikan hak akses dengan perintah.

sudo chmod -R 777 /var/www/html/*

Setelah selesai, selanjutnya kita akan membuat database owncloud di postgresql, silahkan buka terminal lalu jalankan perintah berikut.

createdb -h localhost -U postgres -E utf-8 -O postgres owncloud

Perintah diatas akan membuat sebuah database dengan nama owncloud. Tahap selanjutnya silahkan akses owncloud melalui browser pada url http://127.0.0.1/owncloud/ maka akan muncul gambar seperti berikut.

Screenshot from 2016-03-05 09:16:12.png

Silahkan isi form yang telah disediakan berdasarkan konfigurasi yang anda inginkan, disini penulis menggunakan database postgresql. Jika telah selesai, maka akan muncul halaman seperti berikut.

Screenshot from 2016-03-05 09:18:10.png

Gambar diatas adalah halaman default admin.

Membuat User Baru

Secara default, owncloud hanya membuat user untuk admin. Untuk membuat user baru silahkan pilih panel admin, lalu pilih menu users. Silahkan tambahkan group baru terlebih dahulu, misalnya grup nya adalah user. Setelah selesai lalu silahkan buatlah user baru untuk dapat megakses cloud storage nya sendiri, misalnya username : mufrizal, password : rizki dan group : user. Setelah selesai, anda juga dapat memilih quota nya, berikut adalah contoh user yang telah dibuat.

Screenshot from 2016-03-05 09:28:25.png

Untuk melakukan akses berdasarkan user tersebut, silahkan logout dan login kembali dengan user yang telah anda buat tadi.

Instalasi Dan Konfigurasi Client Desktop OwnCloud

Owncloud telah menyediakan sebuah aplikasi client berbasis desktop yang dapat kita gunakan untuk mengakses cloud storage yang telah kita buat. Untuk melakukan instalasi client desktop owncloud, silahkan jalankan perintah berikut.

sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Ubuntu_16.04/ /' >> /etc/apt/sources.list.d/owncloud-client.list"

Perintah diatas berfungsi untuk menambah repository ppa yang kita butuhkan untuk instalasi client desktop owncloud. Langkah selanjutnya adalah melakukan import key dengan perintah.

wget http://download.opensuse.org/repositories/isv:ownCloud:desktop/Ubuntu_16.04/Release.key
sudo apt-key add - < Release.key

Setelah selesai, lakukan update dan instal aplikasi dengan perintah berikut.

sudo apt-get update
sudo apt-get install owncloud-client

Silahkan buka aplikasi yang telah diinstall, kemudian isikan server address dengan url berikut.

http://127.0.0.1/owncloud

Setelah selesai, klik next maka akan muncup form input untuk username dan password. Silahkan masukkan username dan password yang telah anda buat. Lalu klik next, jika autentikasinya berhasil maka akan muncul window selanjutnya yang berisi tentang konfigurasi folder owncloud. Secara default, folder owncloud client berada di /home/nama user/owncloud. Setelah melakukan semua konfigurasi, kita dapat melakukan upload file. Cara melakukan upload file sama halnya seperti dropbox, yaitu silahkan copy kan file yang ingin kita upload ke dalam folder owncloud yang telah kita konfigurasikan tadi. Penulis melakukan konfigurasi folder owncloud di /home/rizki/owncloud, misalnya kita akan melakukan upload file Belajar-OwnCloud.md, silahkan buat sebuah file dengan nama Belajar-OwnCloud.md lalu tulisakan beberapa baris text, setelah selesai silahkan copy file tersebut ke dalam folder owncloud maka secara otomatis aplikasi client desktop owncloud akan melakukan sinkronisasi antara folder owncloud dengan folder yang ada di server.

Bagaimana kita tahu bahwa file tersebut telah berhasil di upload atau tidak ? caranya sangatlah mudah yaitu kita dapat melihat file tersebut di dalam folder aplikasi owncloudnya atau aplikasi web owncloudnya. Karena file - file tersebut hanya bisa diakses oleh root maka kita harus menjalankan nautilus dengan hak akses root. Silahkan jalankan perintah berikut untuk menjalakan nautilus dengan root.

sudo nautilus

Setelah selesai, silahkan buka folder /var/www/html/owncloud. Di dalam folder tersebut terdapat sebuah folder yaitu namanya adalah folder data. Folder data ini berisi file - file yang telah di upload oleh user, dan file - file tersebut dikelompokkan berdasarkan folder user nya sehingga nama foldernya akan disesuaikan dengan nama user. Berikut adalah gambar - gambar folder tersebut.

Screenshot from 2016-03-05 21:20:35.png

Jika ingin melihat filenya ada di dalam folder nama user owncloud/files, berikut adalah gambar dari file Belajar-OwnCloud.md yang telah kita upload tadi.

Screenshot from 2016-03-05 21:21:43.png

Instalasi Dan Konfigurasi OwnCloud Pada Provider OpenShift

Mengapa kita menggunakan provider ? karena kita ingin agar owncloud dapat diakses melalui internet :D. Salah satu provider yang dapat kita gunakan adalah openshift :). Jika anda ingin menggunakan provider lain, bisa dilihat di owncloud provider. Untuk tool client openshift sendiri kita akan menggunakan The OpenShift Client Tools (rhc). Untuk melakukan instalasi rhc, anda diharuskan melakukan instalasi ruby dan git, bagi yang belum melakukan instalasi ruby bisa di lihat pada artikel instalasi perlengkapan coding ruby dan untuk git bisa dilihat di artikel belajar git. Silahkan jalankan perintah berikut untuk instalasi rhc.

gem install rhc

Setelah selesai, lakukan setup account pada komputer anda dengan perintah rhc setup. Kemudian isikan username berserta password anda sehingga rhc akan secara otomatis melakukan autentikasi pada pc anda. Tahap selanjutnya adalah kita melakukan konfigurasi ssh key. Ssh key ini juga sama hal nya dengan di github. Jalankan perintah berikut untuk melakukan copy isi dari file id_rsa.pub.

xclip -sel clip < ~/.ssh/id_rsa.pub

Silahkan login ke web openshift, Kemudian pilih menu setting maka akan muncul gambar seperti berikut.

Screenshot from 2016-03-05 21:45:11.png

Silahkan paste tepat di dalam text box tersebut kemudian simpan key tersebut. Key ini merupakan public key yang merupakan pasangan dari private key. Private key berada pada komputer kita sendiri, sedangkan public key bisa dibagikan kepada aplikasi yang lain. Fungsinya adalah untuk keamanan data ketika adanya pertukaran data antar 2 komputer, algortima yang digunakan adalah RSA dengan konsep asymmetric algorithm. Tahap selanjutnya jangan lupa membuat domain, dimana domain ini berfungsi untuk mengelompokkan aplikasi yang akan kita buat.

Tahap selanjutnya adalah kita akan melakukan setup software yang dibutuhkan untuk owncloud dan membuat sebuah gear atau aplikasi. Lalu silahkan jalankan perintah berikut.

rhc app create owncloud php-5.4 postgresql-9.2 cron-1.4

Perintah diatas akan membuat sebuah gear atau aplikasi dengan nama owncloud, dimana di dalam gear atau aplikasi tersebut akan diinstall php, database postgresql dan cron. Jika berhasil maka outputnya seperti berikut.

RSA 1024 bit CA certificates are loaded due to old openssl compatibility
Application Options
-------------------
Domain:     mufrizal
Cartridges: php-5.4, postgresql-9.2, cron-1.4
Gear Size:  default
Scaling:    no

Creating application 'owncloud' ... done

  PostgreSQL 9.2 database added.  Please make note of these credentials:

   Root User: adming8aaee8
   Root Password: entGcfXWyG-_
   Database Name: owncloud

Connection URL: postgresql://$OPENSHIFT_POSTGRESQL_DB_HOST:$OPENSHIFT_POSTGRESQL_DB_PORT


To schedule your scripts to run on a periodic basis, add the scripts to 
your application's .openshift/cron/{minutely,hourly,daily,weekly,monthly}/
directories (and commit and redeploy your application).

Example: A script .openshift/cron/hourly/crony added to your application
         will be executed once every hour.
         Similarly, a script .openshift/cron/weekly/chronograph added
         to your application will be executed once every week.

Waiting for your DNS name to be available ... done

Cloning into 'owncloud'...
The authenticity of host 'owncloud-mufrizal.rhcloud.com (54.173.52.16)' can't be established.
RSA key fingerprint is cf:ee:77:cb:0e:fc:02:d7:72:7e:ae:80:c0:90:88:a7.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'owncloud-mufrizal.rhcloud.com,54.173.52.16' (RSA) to the list of known hosts.

Your application 'owncloud' is now available.

  URL:        http://owncloud-mufrizal.rhcloud.com/
  SSH to:     56daf3ba2d5271009000002c@owncloud-mufrizal.rhcloud.com
  Git remote: ssh://56daf3ba2d5271009000002c@owncloud-mufrizal.rhcloud.com/~/git/owncloud.git/
  Cloned to:  /home/rizki/programming/gitclone/owncloud

Run 'rhc show-app owncloud' for more details about your app.

Kemudian silahkan akses folder project yang telah di clone tadi dengan terminal. Kemudian jalankan perintah berikut untuk clone repository dari openshift karena secara default owncloud yang disediakan openshift masih versi lama.

git remote add upstream -m master git://github.com/openshift/owncloud-openshift-quickstart.git
git pull -s recursive -X theirs upstream master

Setelah selesai, lakukan push kembali dengan perintah.

git push

Jika berhasil maka outputnya seperti berikut.

Counting objects: 18671, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (11694/11694), done.
Writing objects: 100% (18671/18671), 61.18 MiB | 15.00 KiB/s, done.
Total 18671 (delta 6083), reused 18663 (delta 6080)
remote: Stopping PHP 5.4 cartridge (Apache+mod_php)
remote: Waiting for stop to finish
remote: Waiting for stop to finish
remote: Stopping Postgres cartridge
remote: Stopping Cron cartridge
remote: Building git ref 'master', commit 9b06956
remote: Starting pre_build...
remote: Completed pre_build.
remote: Checking .openshift/pear.txt for PEAR dependency...
remote: Starting build...
remote: ownCloud not yet installed...
remote: Downloading https://download.owncloud.org/community/owncloud-8.2.0.tar.bz2...
remote: Verifying md5...
remote: Extracting owncloud-8.2.0.tar.bz2...
remote: Setting current version to 8.2.0...
remote: Completed build.
remote: Preparing build for deployment
remote: Deployment id is a7a899c4
remote: Activating deployment
remote: Starting Postgres cartridge
remote: Postgres started
remote: Starting Cron cartridge
remote: Starting deploy...
remote: Copying to /var/lib/openshift/56daf3ba2d5271009000002c/app-root/data/current...
remote: Linking the instalation with the repo dir...
remote: Completed deploy.
remote: Starting PHP 5.4 cartridge (Apache+mod_php)
remote: Application directory "php/" selected as DocumentRoot
remote: Starting post_deploy...
remote: Requesting index.php to trigger autoconfig...
remote: CLIENT_RESULT: 
remote: CLIENT_RESULT: ownCloud configured successfully.
remote: CLIENT_RESULT: Take note of the default admin credentials:
remote: CLIENT_RESULT: 
remote: CLIENT_RESULT:       Username: admin
remote: CLIENT_RESULT:       Password: piGayRDPVGZ5
remote: CLIENT_RESULT: 
remote: CLIENT_RESULT: Don't forget to change your admin password!
remote: CLIENT_RESULT: 
remote: /var/lib/openshift/56daf3ba2d5271009000002c/app-root/runtime/repo/php /var/lib/openshift/56daf3ba2d5271009000002c
remote: Persisting configuration...
remote: /var/lib/openshift/56daf3ba2d5271009000002c
remote: Completed post_deploy.
remote: -------------------------
remote: Git Post-Receive Result: success
remote: Activation status: success
remote: Deployment completed with status: success
To ssh://56daf3ba2d5271009000002c@owncloud-mufrizal.rhcloud.com/~/git/owncloud.git/
   5e8d216..9b06956  master -> master

Setelah selesai, silahkan akses web nya berdasarkan nama domain anda, berikut adalah contoh nya

http://owncloud-$yourdomain.rhcloud.com

Seperti kita lihat pada task sebelumnya, pada saat push atau deploy ke openshift, owncloud secara otomatis melakukan konfigurasi ke database, konfigurasi ini sendiri sebenarnya telah disediakan pada repository openshift. Setelah melakukan akses web silahkan login dengan username dan password yang telah digenerate oleh owncloud, username dan password bisa dilihat pada task push ke openshift. Username dan password bisa dilihat pada baris.

remote: CLIENT_RESULT:       Username: admin
remote: CLIENT_RESULT:       Password: piGayRDPVGZ5

Jika berhasil login, maka akan muncul halaman home. Dan tidak ada perbedaan antara owncloud yang telah kita buat di komputer pribadi dengan yang ada di provider, perbedaanya hanyalah akses jaringan melalui internet. Berikut adalah gambar owcloud pada openshift.

Screenshot from 2016-03-05 23:21:35.png

Instalasi Dan Konfigurasi Client Mobile oCloud

Jika sebelumnya kita telah menggunakan client desktop owncloud untuk pc, pada bagian ini kita akan coba menggunakan mobile. Untuk mobile, kita bisa menggunakan OCloud, silahkan cari di playstore. Jika melalui web, aplikasinya bisa dilihat di play store.

Setelah selesai melakukan instalasi aplikasi tersebut, silahkan anda buat username dan password untuk user baru pada owncloud yang ada di openshift, tujuannya adalah kita ingin melakukan akses user tersebut melalui aplikasi mobile.

Setelah membuat user baru, silahkan buka aplikasi tersebut. Isikan server address dengan url web owncloud anda, lalu masukkan username dan password berdasarkan user yang telah anda buat. Berikut adalah gambar melalui aplikasi mobile ocloud.

Screenshot from 2016-03-05 23:40:56.jpg

Jika berhasil login, maka anda dapat melakukan upload melalui mobile :D. Silahkan upload file melalui aplikasi ocloud, jika telah selesai maka akan muncul file yang telah di upload melalui aplikasi mobile dan anda juga dapat melakukan pengecekan langsung melalui web onwcloud pada openshift.

Bagaimana agar kita mengetahui bahwa file tersebut benar - benar telah di upload ke server openshift ? caranya yaitu dengan menggunakan akses ssh. Silahkan jalankan perintah berikut untuk akses ssh ke server openshift.

rhc ssh -a owncloud

Maka secara otomatis anda masuk ke terminal server openshift. Kemudian jalankan perintah berikut untuk masuk ke folder root project.

cd app-root/

Setelah selesai, silahkan jalankan lagi perintah berikut untuk akses folder data.

cd data/

Jika kita gunakan perintah ls maka secara otomatis terminal akan menampilkan folder - folder user. Dimana folder - folder user ini berisi file yang telah di upload. Disini penulis menggunakan user rizki, maka penulis mengakses folder rizki dan folder files dengan perintah.

cd rizki/files/

Kemudian tampilkan seluruh file yang ada di dalam folder tersebut dengan perintah ls maka hasilnya adalah seperti berikut.

[owncloud-mufrizal.rhcloud.com files]\> ls
Documents  Photos  Screenshot_2016-03-05-23-43-11.jpg

Bisa kita lihat bahwa file Screenshot_2016-03-05-23-43-11.jpg telah berhasil di upload ke server openshift :D. Sekian artikel mengenai belajar membuat cloud storage dengan owncloud dan terima kasih :).

Pada zaman sekarang, perkembangan teknologi sangatlah pesat. Perkembangan tersebut dapat kita lihat dari lahir nya berbagai teknologi - teknologi baru seperti ada nya smartphone, penyimpanan secara online, perkembangan virtual reality dan sebagainya. Perkembangan teknologi ini sering sekali dikaitkan dengan komputasi modern, mengapa demikian ? dikarenakan pada zaman sekarang banyak sekali perkembangan teknologi khususnya di bidang komputerisasi.

Apa Itu Cloud Computing ?

Cloud Computing adalah sebuah model untuk kenyamanan, akses jaringan on-demand untuk menyatukan pengaturan konfigurasi sumber daya komputasi (seperti, jaringan, server, media penyimpanan, aplikasi, dan layanan) yang dapat dengan cepat ditetapkan dan dirilis dengan usaha manajemen yang minimal atau interaksi dengan penyedia layanan [1].

Jika kita lihat dari pengertian diatas, cloud computing merupakan salah satu contoh dari komputer modern dimana jika kita melihat ke bagian user, cloud computing ini akan menyediakan storange dimana user dapat melakukan akses dimana dan kapan saja. Tidak hanya menyediakan storange, cloud computing juga berfungsi dalam hal deployment sebuah aplikasi, kita misalkan penulis mempunyai sebuah aplikasi web dimana aplikasinya akan di deploy ke sebuah server. Server yang digunakan untuk menjalankan aplikasi web telah dirancang sedemikian rupa sehingga sesuai dengan definisi cloud. Penulis memberikan contoh, misalkan server yang kita gunakan memiliki ram hanya 2 gb, ketika si aplikasi hanya menggunakan ram sebanyak 1 gb maka secara otomatis server akan menurunkan ram secara otomatis menjadi 1 gb. Bagaimana dengan ram yang 1 gb lagi ? ram tersebut akan di share ke pengguna lain yang membutuhkan ram lebih, misalnya aplikasi yang kita deploy tiba - tiba membutuhkan ram sebanyak 3 gb dikarenakan beban akses yang terlalu banyak maka secara otomatis ram akan ditambahkan.

Dari pembahasan diatas dapat kita lihat bahwa sebuah server cloud sangat lah berbeda dengan server hosting. Dimana jika kita menggunakan hosting maka automatic task seperti diatas tidak dapat dilakukan, berbeda dengan cloud computing yang dapat menjalankan secara otomatis.

Apa Saja Model Layanan Cloud Computing ?

Jika dilihat dari segi model layanan, cloud computing terdapat 3 model yaitu : [2]

  1. Software As A Service (SaaS) yaitu sebuah layanan yang dapat langsung diakses oleh user biasanya sudah dalam bantuk aplikasi. Contohnya adalah gmail, google docs, drop box dan sebagainya.
  2. Platform As A Service (PaaS) yaitu pada layanan ini, semua kebutuhan user akan aplikasi sudah tersedia misalkan seperti instalasi sistem operasi, web server, database server dan lain - lain sehingga pada layanan ini, user hanya akan melakukan konfigurasi pada level aplikasi. Contohnya adalah openshift, Google App Engine dan lain - lain.
  3. Infrastructure As A Service (IaaS) yaitu pada layanan ini, hampir semua bisa level bisa dipilih kecuali level hardware. Pada level ini, user dapat memilih sistem operasi, alokasi memory dan sebagainya. Contohnya adalah Digital Ocean, Microsoft Azure IaaS dan lain - lain.

Berikut adalah gambar dari ketiga model layanan tersebut.

Screenshot from 2016-03-03 17:09:20.png

Apa Hubungan Heroku Dengan Komputasi Modern ?

Heroku adalah adalah salah satu web hosting berbasis cloud, biasanya heroku digunakan untuk mengembangkan aplikasi web dengan berbagai bahasa pemrograman seperti java, ruby, python, node js, php dan lain - lain.

Berikut adalah gambar web dari heroku.

Screenshot from 2016-03-03 16:37:28.png

Jika kita lihat dari definisinya, dapat dilihat bahwa heroku mempunyai keterkaitan yang sangat erat dengan komputasi modern. Berikut adalah beberapa faktor bahwa heroku mempunyai hubungan dengan heroku.

  1. Heroku adalah salah satu web hosting berbasis cloud sehingga dapat diakses dimana dan kapan saja sehingga sesuai dengan kriteria komputasi modern.
  2. Heroku termasuk ke dalam kriteria Platform As A Service (PaaS), sehingga bagi anda yang ingin melakukab deploy aplikasi ke heroku cukup hanya dengan melakukan konfigurasi aplikasi yang ingin di deploy.
  3. Heroku dapat memanage sistem operasi, ram, hardisk dan sebagainya secara otomatis sehingga heroku juga dapat mendeteksi bahasa apa yang digunakan oleh sebuah aplikasi.
  4. Aplikasi web yang ada di heroku hanya berjalan selama 18 jam dalam sehari, otomatisasi task tersebut adalah sebuah proses scheduling sehingga dapat dikatakan heroku adalah komputasi modern.
  5. Heroku dapat melakukan deploy secara otomatis terhadap aplikasi yang kita upload melalui tool git.

Dari faktor - faktor diatas dapat disimpulkan bahwa heroku merupakan salah satu contoh dari komputasi modern.

Kesimpulan

Cloud computing adalah salah satu dari contoh komputasi modern. Cloud computing terdapat beberapa model layanan yaitu IaaS, PaaS dan IaaS. Heroku adalah salah satu web hosting berbasis cloud computing dan heroku menerapkan model PaaS sehingga heroku adalah salah satu contoh web dari komputasi modern.

Daftar Pustaka

  • [1] Mell, Peter and Grance, Tim, 2011,The NIST Definition of Cloud Computing, National Institute of Standards and Technology (NIST), http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf (diakses 3 Maret 2016)
  • [2] Ahmad Ashari, Herri Setiawan, 2011, Cloud Computing : Solusi ICT ?
  • [3] Erick Kurniawan, 2015, Penerapan Teknologi Cloud Computing Di Universitas, Studi Kasus: Fakultas Teknologi Informasi UKDW