modul cloud computing.pdf

30
Modul Workshop Clou www.appfog.com Oktober 2013 ud Computing

Upload: rizal-adiwangsa

Post on 11-Feb-2016

205 views

Category:

Documents


46 download

TRANSCRIPT

Page 1: Modul Cloud Computing.pdf

Modul Workshop Cloud Computing www.appfog.com Oktober 2013

Workshop Cloud Computing

Page 2: Modul Cloud Computing.pdf

Chapter 1 Introduction

A. Cloud Computing

Cloud computing atau komputasi awan adalah konsep komputasi yang dilakukan oleh sekumpulan kompeter yang saling terhubung (internet). Teknologi cloud sebenarnya sudah ada sejak lama. Pada tahun 60-an, John Mc Carthy memcetuskan ide penggunaan computing yang seperti air dan listrik. Di mana kita hanya membayar apa yang kita pakai. Satu hal yang menjadi point penting di teknologi cloud computing yaitu elasticity, dimana resource yang kita pakai bisa di scale up atau scale down sesuai dengan keinginan kita dan dengan sedikit usaha.

B. Model layanan dari Cloud Computing Secara umum cloud computing memberikan 3 model layanan yaitu Infrastructure as a Service (IaaS), Platform as a Service (PaaS) dan Software as a Service (SaaS). Istilah yang ditawarkan ini, dari sisi pengguna sangat susah dimengerti. Kemudian vendor memberikan nama lain dari layanan yang diberikan oleh cloud computing. Misalnya layanan docs.google.com, gmail, yahoo mail (e.g SaaS) DropBox, Skydrive, GoogleDrive (IaaS).

Page 3: Modul Cloud Computing.pdf

Chapter 2 Let start with appfog ☺☺☺☺

Appfog adalah salah satu leader dari Platform as a Service yang opensource. Selain itu juga mendukung berbagai bahasa pemrograman yang antara lain PHP, Ruby, Node.js dan java. Saat ini lebih dari 100.000 aplikasi terpasang di appfog.com dan terus bertambah. Dengan appfog harapannya anda semua bisa focus di code tanpa perlu memikirkan bagaimana menyiapkan infrastruktur yang murah dan cepat. A. Memulai appfog

Sebelum memulai appfog, pertama anda harus mendaftar menjadi member appfog di www.appfog.com/signup. Setelah permintaan anda disetujui mereka akan memberikan password untuk anda. Selain itu kita harus sedikit melakukan konfigurasi di komputer klient supaya bisa mengakses API dari appfog.

Client yang di dukung appfog selain linux windows juga mac OS X. Cara installasinya adalah seperti berikut.

$ gem install af

Windows Download dan install Ruby Installer for Windows. Di dalam installer sudah

termasuk RubyGems. Pastikan anda telah mengenable-ruby windows command prompt yang akan dipakai untuk menginstall dan menggunakan perintah af. Anda memulai ruby dari Start- Programs – Ruby – start command prompt with ruby. Terakhir update RubyGems dari Ruby Command Prompt:

$ gem update --system $ gem install af

Login ke appfog:

$ af login

Terakhir lakukan perintah seperti di bawah dari direktori kode sumber:

$ af update hello-node

Untuk bisa terhubung dengan appfog anda harus menginstall interface yang tergantung dari computer client yang anda gunakan. Bisa berupa windows, linux

Page 4: Modul Cloud Computing.pdf

maupun mac. Jika anda sudah terdaftar sebagai member, untuk login dari linux anda dengan mengetikan perintah af login

yagus@yagus-ubuntu:~$ af login Attempting login to [https://api.appfog.com] Email: [email protected] Password: ******** Successfully logged into [https://api.appfog.com]

kemudian anda diminta memasukan user dan password akun appfog.com. Untuk melihat status aplikasi apa saja yang telah anda buat perintahnya adalah. yagus@yagus-ubuntu:~$ af apps +-------------+----+---------+----------------------------+----------+--------+ | Application | # | Health | URLS | Services | In | +-------------+----+---------+----------------------------+----------+--------+ | af-test | 1 | RUNNING | af-test.ap01.aws.af.cm | | ap-aws | | percabangan | 1 | RUNNING | percabangan.ap01.aws.af.cm | | ap-aws | | rabu123 | 1 | N/A | rabu123.aws.af.cm | | aws | +-------------+----+---------+----------------------------+----------+--------+

Selain bisa melihat aplikasi apa saja yang telah anda buat, bisa juga untuk menghapus applikasi yang telah anda buat. Perintahnya seperti berikut. yagus@yagus-ubuntu:~$ af delete rabu123 Deleting application [rabu123]: OK yagus@yagus-ubuntu:~$ af apps +-------------+----+---------+----------------------------+----------+--------+ | Application | # | Health | URLS | Services | In | +-------------+----+---------+----------------------------+----------+--------+ | af-test | 1 | RUNNING | af-test.ap01.aws.af.cm | | ap-aws | | percabangan | 1 | RUNNING | percabangan.ap01.aws.af.cm | | ap-aws | +-------------+----+---------+----------------------------+----------+--------+

Selain perintah-perintah yang tersebut di atas, sebenarnya masih banyak yang lainnya, untuk melihatnya anda bisa mengetikan af –help maka akan muncul dokumentasi dari perintah af. yagus@yagus-ubuntu:~$ af --help Usage: af [options] command [<args>] [command_options]

Page 5: Modul Cloud Computing.pdf

Try 'af help [command]' or 'af help options' for more information. Currently available af commands are: Getting Started target [url] Reports current target or sets a new target login [email] [--email, --passwd] Login info System and account information Applications apps List deployed applications Application Creation push [appname] Create, push, map, and start a new application push [appname] --infra Push application to specified infrastructure push [appname] --path Push application from specified path push [appname] --url Set the url for the application push [appname] --instances <N> Set the expected number <N> of instances push [appname] --mem M Set the memory reservation for the application push [appname] --runtime RUNTIME Set the runtime to use for the application push [appname] --debug [MODE] Push application and start in a debug mode push [appname] --no-start Do not auto-start the application Application Operations start <appname> [--debug [MODE]] Start the application stop <appname> Stop the application restart <appname> [--debug [MODE]] Restart the application delete <appname> Delete the application clone <src-app> <dest-app> [infra] Clone the application and services Application Updates update <appname> [--path,--debug [MODE]] Update the application bits mem <appname> [memsize] Update the memory reservation for an application map <appname> <url> Register the application to the url unmap <appname> <url> Unregister the application from the url instances <appname> <num|delta> Scale the application instances up or down

Page 6: Modul Cloud Computing.pdf

Application Information crashes <appname> List recent application crashes crashlogs <appname> Display log information for crashed applications logs <appname> [--all] Display log information for the application files <appname> [path] [--all] Display directory listing or file download for [path] stats <appname> Display resource usage for the application instances <appname> List application instances Application Download

pull <appname> [path] Downloads last pushed source to <appname> or [path] download <appname> [path] Downloads last pushed source to zipfile Application Environment env <appname> List application environment variables env-add <appname> <variable[=]value> Add an environment variable to an application env-del <appname> <variable> Delete an environment variable to an application Services services Lists of services available and provisioned create-service <service> [--name,--bind] Create a provisioned service create-service <service> --infra Create a provisioned service on a specified infrastructure create-service <service> <name> Create a provisioned service and assign it <name> create-service <service> <name> <app> Create a provisioned service and assign it <name>, and bind to <app> delete-service [servicename] Delete a provisioned service bind-service <servicename> <appname> Bind a service to an application unbind-service <servicename> <appname> Unbind service from the application clone-services <src-app> <dest-app> Clone service bindings from <src-app> application to <dest-app> export-service <service> Export the data from a service import-service <service> <url> Import data into a service tunnel <servicename> [--port] Create a local tunnel to a service tunnel <servicename> <clientcmd> Create a local tunnel to a service and start a local client Administration user Display user account information

Page 7: Modul Cloud Computing.pdf

passwd Change the password for the current user logout Logs current user out of the target system add-user [--email, --passwd] Register a new user (requires admin privileges) delete-user <user> Delete a user and all apps and services (requires admin privileges) System runtimes Display the supported runtimes of the target system frameworks Display the recognized frameworks of the target system infras Display the available infrastructures Micro Cloud Foundry micro status Display Micro Cloud Foundry VM status micro offline Configure Micro Cloud Foundry VM for offline mode micro online Configure Micro Cloud Foundry VM for online mode [--vmx file] Path to micro.vmx [--vmrun executable] Path to vmrun executable [--password cleartext] Cleartext password for guest VM vcap user [--save] Save cleartext password in ~/.af_micro Misc aliases List aliases alias <alias[=]command> Create an alias for a command unalias <alias> Remove an alias targets List known targets and associated authorization tokens Help help [command] Get general help or help on a specific command help options Get help on available options

B. Membuat Hello World

Di dunia pemrograman, hal pertama yang harus di ketahui programmer adalah membuat Hello World!. Ini untuk memastikan bahwa sistem sudah siap untuk digunakan. Untuk membuat hello world ada 2 cara yaitu : 1. Command line 2. Create App by GUI

Page 8: Modul Cloud Computing.pdf

Command line. 1. Setelah anda login ke appfog, buat nama direktori (nama akan menjadi nama

dari aplikasi-defaultnya). yagus@yagus-ubuntu:~$ af login Attempting login to [https://api.appfog.com] Email: [email protected] Password: ******** Successfully logged into [https://api.appfog.com]

2. Membuat direktori af01

yagus@yagus-ubuntu:~$ mkdir af01 yagus@yagus-ubuntu:~$ cd af01/ yagus@yagus-ubuntu:~/af01$ ls

3. Membuat file index.php yagus@yagus-ubuntu:~/af01$ vi index.php

4. Setelah selesai membuat file index.php, kita bisa mengupload (PUSH) ke

appfog. Caranya dengan melakukan perintah. yagus@yagus-ubuntu:~/af01$ af push Would you like to deploy from the current directory? [Yn]: y Application Name: af01 Detected a PHP Application, is this correct? [Yn]: Y 1: AWS US East - Virginia 2: AWS EU West - Ireland 3: AWS Asia SE - Singapore 4: HP AZ 2 - Las Vegas Select Infrastructure: 1 Application Deployed URL [af01.aws.af.cm]: Memory reservation (128M, 256M, 512M, 1G, 2G) [128M]: How many instances? [1]: Create services to bind to 'af01'? [yN]: n Would you like to save this configuration? [yN]: n Creating Application: Error 701: The URIs: af01.aws.af.cm have already been taken or reserved.

Terjadi error disebabkan karena nama domain dari aplikasi harus super unique, jadi tidak boleh ada yang sama. Jika sama maka secara otomatis akan di tolak oleh appfog. yagus@yagus-ubuntu:~/af01$ af push Would you like to deploy from the current directory? [Yn]: y Application Name: af01 Detected a PHP Application, is this correct? [Yn]: y 1: AWS US East - Virginia 2: AWS EU West - Ireland 3: AWS Asia SE - Singapore 4: HP AZ 2 - Las Vegas Select Infrastructure: 1

Page 9: Modul Cloud Computing.pdf

Application Deployed URL [af01.aws.af.cm]: yagus.af01.aws.af.cm Memory reservation (128M, 256M, 512M, 1G, 2G) [128M]: How many instances? [1]: Create services to bind to 'af01'? [yN]: n Would you like to save this configuration? [yN]: n Creating Application: OK Uploading Application: Checking for available resources: OK Packing application: OK Uploading (0K): OK Push Status: OK Staging Application 'af01': OK Starting Application 'af01': OK

DONE, goodluck aplikasi anda sudah terupload ke PaaS appfog ☺.

5. Untuk memastikan aplikasi kita sudah ada di appfog atau belum bisa dengan

yagus@yagus-ubuntu:~$ af apps

atau dengan masuk ke halaman console.appfog.com

Page 10: Modul Cloud Computing.pdf

Create App by GUI 1. Login ke console.appfog.com, kemudian pilih Create App 2. Step 1, pilih aplikasi yang anda inginkan. Java, PHP, Node, Python, dll.

3. Step 2, pilih infrastrukturnya. Anda bisa pilih di Amazon Singapore, Europe atau Virgina dan HP Openstack.

4. Yang terakhir setelah memilih infrastruktur adalah step 3. Menentukan nama dari Subdomain atau juga nama dari aplikasi yang akan kita buat.

5. Click Create App 6. Take coffee and relax to wait appfog create app for you :D.

Page 11: Modul Cloud Computing.pdf

7. Done. Now you have app on cloud.

Page 12: Modul Cloud Computing.pdf

Log pushing app into appfog.com yagus@cloud-desktop:~/faceb00k$ af push

Would you like to deploy from the current directory? [Yn]: Y

Application Name: kuadratku

Detected a PHP Application, is this correct? [Yn]: y

1: AWS US East - Virginia

2: AWS EU West - Ireland

3: AWS Asia SE - Singapore

4: HP AZ 2 - Las Vegas

Select Infrastructure: 3

Application Deployed URL [kuadratku.ap01.aws.af.cm]:

Memory reservation (128M, 256M, 512M, 1G, 2G) [128M]:

How many instances? [1]:

Bind existing services to 'kuadratku'? [yN]: n

Create services to bind to 'kuadratku'? [yN]: n

Would you like to save this configuration? [yN]: n

Creating Application: OK

Uploading Application:

Checking for available resources: OK

Packing application: OK

Uploading (0K): OK

Push Status: OK

Staging Application 'kuadratku': OK

Starting Application 'kuadratku': OK

yagus@cloud-desktop:~/faceb00k$ af apps +--------------+----+-------------+-------------------------------+----------+--------+ | Application | # | Health | URLS | Services | In | +--------------+----+-------------+--------------------------------+----------+--------+ | af01 | 1 | RUNNING | yagus.af01.aws.af.cm | | aws | | kuadratku | 1 | N/A | kuadratku.ap01.aws.af.cm | | ap-aws | kudrat | 1 | 0% | kudrat.aws.af.cm | | aws | +--------------+----+-------------+--------------------------+----------+--------+

Update Script yagus@cloud-desktop:~/gambar$ af update gambar Uploading Application: Checking for available resources: OK Processing resources: OK Packing application: OK Uploading (0K): OK Push Status: OK Stopping Application 'gambar': OK Staging Application 'gambar': OK Starting Application 'gambar': OK

Page 13: Modul Cloud Computing.pdf

Chapter 3 Let start with code – PHP

A. Tujuan

1. Mengenalkan mahasiswa dengan teknologi cloud khususnya PaaS. 2. Memberikan pemahaman programming di lingkungan PaaS. 3. Memberikan pemahaman sintak, percabangan dan looping di PHP.

B. Dasar Teori

Di dunia web development, php adalah salah satu dari beberapa tool yang familiar ditelinga developer. Selain bersifat free juga adanya dukungan di berbagai komunitas. Saat ini banyak website besar yang menggunakan php misalnya www.facebook.com. PHP adalah server side scripts yang artinya yang mengeksekusi adalah server dan browser hanya menampilkan html saja. PHP mendukung koneksi ke database antaralain MySQL, MS Access, Oracle, PostgreSQL dan lain sebagainya. Sintak dasar PHP adalah seperti berikut.

<?php ….. ….. ?>

Contoh web sederhana dengan bahasa pemrograman PHP <html> <head> <title> Belajar PHP </title> </head> <body> <?php // tanda untuk memberikan komentar satu baris echo "<h1>Welcome PHP</h1>"; echo “Program PHP yang pertama – Hello World<br>"; /* tanda untuk memberikan komentar komentar ini lebih dari satu baris */ ?> </body> </html>

Kode dalam tag <?php ….. ?> akan diproses oleh server dan ditampilkan pada browser sebagai HTML. Sebuah pernyataan dari PHP selalu diakhiri dengan tanda titik koma ;. Hasil yang sintak di atas saat dijalankan di browser yaitu :

Page 14: Modul Cloud Computing.pdf

Untuk melihat kode dalam web browser Klik kanan | View source maka anda akan melihat kode sebagai berikut ini.

<html> <head> <title> Belajar PHP </title> </head> <body>

<h1>Welcome PHP</h1>Program PHP yang pertama – Hello World<br> </body> </html> Di situ terlihat bahwa kode PHP tidak kelihatan, hal ini menunjukkan bahwa PHP menjaga kerahasiaan kode.

PHP dan Variabel Untuk membuat variabel diberi tanda dollar $. Variabel berfungsi untuk menyimpan suatu nilai dan dapat berubah-ubah. Penulisan variable yang benar adalah :

• Karakter pertama tidak boleh berupa angka (harus berupa huruf atau garis bawah)

• Tidak mengandung spasi

• Pemakaian huruf kapital dan huruf kecil dibedakan Contoh penulisan variable : $variable, $var1, $IPK Operator Dalam PHP juga dapat melakukan proses operasi, baik itu penjumlahan, operasi logika, ataupun operasi pembanding. Operator Matematika yang digunakan dalam PHP yaitu :

Operator Fungsi Operator Fungsi + Penjumlahan - Pengurangan * Perkalian / Pembagian % Sisa pembagian ++ , -- Penaikan,

penurunan

Operator Pembanding yang digunakan dalam PHP yaitu : Operator Fungsi Operator Fungsi == Sama dengan < Kurang dari > Lebih dari <= Kurang dari atau sama

dengan >= Lebih dari atau sama

dengan != , <> Tidak sama dengan

Selain itu, operator Logika juga dapat digunakan di PHP, antara lain, and &&, or ||, xor, dan !.

Page 15: Modul Cloud Computing.pdf

Penulisan Karakter Khusus dengan tanda \ Karakter yang ditulis dengan diawali tanda (\) yaitu:

Karakter Keterangan Karakter Keterangan \” Tanda petik ganda \\ Tanda backslash \$ Tanda $ \n Pindah baris \t tab \x00 s.d \xFF heksadesimal

Tipe Data Tipe data yang dikenal pada pemrograman PHP yaitu :

Tipe data Keterangan Integer Tipe data bilangan bulat Double Tipe data bilangan real String Tipe data teks

IF Perintah IF akan mengeksekusi statement jika kondisinya bernilai benar (True).

if (expr) statement

IF ELSE Dalam bentuk ini jika ekpresi bernilai benar maka statement_1 akan dijalankan, tetapi jika salah maka statement_2 yang akan dijalankan.

if (expr) statement_1 else statement_2

atau

if (expr) { statement_1a statement_1b } else { statement_2a statement_2b }

IF - ELSEIF Bentuk if-elseif ini cocok untuk melakukan pengambilan keputusan yang melibatkan banyak alternative. PHP dapat mengetahui bentuk elseif dan else if.

Switch Pada prinsipnya penggunaan switch hampir sama dengan pengunaan kondisi if – elseif. Dalam pengunaan switch juga disertakan perintah break. Tanpa perintah break semua peryataan akan dijalankan. Bentuk pernyataan switch yaitu : Switch (ekspresi) { case ekspresi_case_1: pernyataan; break;

… case ekspresi_case_n : pernyataan_n; break default: pernyataan_default;

}

Page 16: Modul Cloud Computing.pdf

Perulangan while Perulangan mengunakan while mempunyai bentuk yang mudah untuk digunakan. Perintah while akan terus diulang selama kondisi berisi TRUE dan akan berhenti jika kondisi berisi FALSE while (expr) { statement }

For Perulangan mengunakan for mempunyai 3 ekpresi

� Expr1 adalah ekpresi untuk memberikan nilai awal yang akan digunakan untuk perulangan.

� Expr2 adalah ekpresi untuk memberikan kondisi dalam perulangan. Jika kondisi tersebut bernilai TRUE maka perulangan akan dilanjutkan. Jika kondisi tersebut bernilai FALSE makan perulangan akan berhenti.

� Expr3 digunakan untuk mengatur nilai variabel yang digunakan pada expr1 (increment/decrement)

for (expr1; expr2; expr3) { statement

}

do – while Perulangan mengunakan do – while ini akan berakhir jika ekpresi bernilai FALSE

do { statement } while (expr)

C. Langkah Kerja

1. Pastikan anda sudah login ke console appfog.com 2. Ketikkan program berikut ini :

<html> <head> <title> Mengenal Variabel di PHP </title> </head> <body> <?php

$variable_1 = 10; $variable_2 = 3; $variable_3 = 2 * $variable_1 + 18 * $variable_2; echo "nilai = ", $variable_3; echo "<br>"; $jumlah = $variable_1 + $variable_2; echo "hasil dari $variable_1 + $variable_2 adalah : $jumlah"; echo “<br><br>”; echo “\”nama : mahasiswa\” <br>”; echo “no.mhs 055410062”;

?> </body> </html>

Page 17: Modul Cloud Computing.pdf

(Nama mahasiswa dan no.mhs diatas ganti dengan nama masing-masing). Simpan dengan menggunakan ekstensi php (misalnya program1.php), dan push ke appfog.com

3. Ketikkan program berikut (percabangan):

<html> <head> <title> Struktur Control IF </title> </head> <body> <?php

$nilai1 = 14; $nilai2 = 10; if($nilai1 > $nilai2)

echo "$nilai1 Lebih Besar dari pada $nilai2 <br>"; if($nilai2 < 0) echo "nilai2 adalah negative";

?> </body> </html>

4. Ketikkan script berikut

<html> <head> <title> Struktur Control IF ELSE</title> </head> <body> <?php $bil = 8; if($bil % 2 == 0) echo "bilangan $bil merupakan bilangan genap"; else echo "bilangan $bil merupakan bilangan ganjil"; ?> </body> </html>

Page 18: Modul Cloud Computing.pdf

5. Ketikkan program PHP berikut <html> <head> <title>Pernyataan SWITCH</title> </head> <body> <?php $jurusan = "SI"; switch($jurusan) { case "KA": echo "$jurusan = Komputerisasi akuntansi"; break; case "MI": echo "$jurusan = Manajemen Informatika"; break; case "SI": echo "$jurusan = Sistem Informasi"; break; case "TI": echo "$jurusan = Teknik Informatika"; break; default: echo "$jurusan tidak terdaftar"; } ?> </body> </html>

Lihat hasilnya di browser. 6. Cobalah mengganti nilai SI pada $jurusan dengan yang lain (misal $jurusan =

“TI”). Simpan dan lihat hasilnya. Lalu cobalah ubah nilai jurusan dengan menggantinya menggunakan huruf kecil (misal : $jurusan = “ti”). Apa yang ditampilkan dalam web browser? Cobalah juga untuk manghapus statemen break; amati apa yang terjadi!

7. Ketikkan script perulangan dengan pernyataan while berikut ini. <html> <head> <title>Perulangan dengan While</title> </head> <body> <? $i = 0; while ($i <= 5) { $jum = $i + 1; echo "1 + $i = $jum <br>"; $i++; } ?> </body> </html>

Page 19: Modul Cloud Computing.pdf

D. TUGAS 1. Buatlah script berikut ini dan jalankan :

<?php $beli1 = “5apel”; $beli2 = “7jeruk”; $hasil1 = $beli1 + $beli2; $hasil2 = $beli1 . $beli2; echo “Hasil1 : $hasil1 <br> Hasil2 : $hasil2 “;

?> Bagaimana analisa anda terhadap hasil tersebut?

2. Modifikasilah script PHP pada langkah kerja nomor 7 dengan mengganti pernyataan while menggunakan pernyataan FOR dan do-while

3. Susunlah script pemrograman PHP untuk menghasilkan tampilan web berikut ini.

gunakan pernyataan while untuk melakukan perulangan. Dan didalam kalang while gunakan perintah IF ELSE untuk menentukan apakah bilangan yang sedang dibaca genap atau ganjil.

4. Buatlah pemrograman PHP untuk permasalahan diskon harga produk, dengan ketentuan sebagai berikut : a. Untuk harga produk lebih besar dari 500.000,- maka mendapat diskon 45% b. Untuk harga > 450.000,- mendapat diskon 27.5% c. Untuk harga > 350.000,- mendapat diskon 22.5% d. Selain itu tidak mendapat diskon

Buatlah program dengan menggunakan pernyataan IF ELSEIF

Page 20: Modul Cloud Computing.pdf

Chapter 4 Let start with code 2nd – PHP

A. Tujuan

1. Mengenalkan mahasiswa dengan teknologi cloud khususnya PaaS. 2. Memberikan pemahaman programming di lingkungan PaaS. 3. Memberikan pemahaman Fungsi dan Array.

B. Dasar Teori

Array atau larik adalah variable special yang bisa menyimpan nilai lebih dari 1 nilai dalam satu waktu. Sebagai contoh anda memiliki data list merk mobil, anda menyimpan nama mobil ke 1 buah variable.

$mobil_1 = ”BMW”; $mobil_2 = “Timor”; $mobil_3 = “Toyota”;

Namun, jika anda ingin memuat perulangan dan mencari 1 merk yg specific, dan jumlah merk tidak hanya 3 tapi 400 merk, apa yang akan anda lakukan. Manual atau dengan array. Solusinya adalah dengan membuat array. Sebuah array bisa menyimpan nilai di dalam 1 nama variable dan anda dapat mengakses nilainya berdasar nomor indexnya. Sintak array di php: array(); di PHP, terdapat 3 tipe dari array: � Indexed arrays - Arrays dengan index numerik � Associative arrays - Arrays dengan nama kunci � Multidimensional arrays - Arrays berisi 1 atau lebih dari array PHP array berdasar index Terdapat 2 cara untuk membuat array berdasar index: Index bisanya secara otomatis dan mulai dengan 0

$cars=array("Volvo","BMW","Toyota"); Atau dibuat manual

$cars[0]="Volvo"; $cars[1]="BMW"; $cars[2]="Toyota";

Fungsi Kekuatan dari PHP adalah fitur fungsi, dan secara default PHP mempunyai 1000 built-in function. Sederhananya kita bisa membuat fungsi atau singkatan sesuai dengan kehendak kita. Sintak dari fungsi adalah seperti dibawah ini.

function functionName() { code to be executed; }

Page 21: Modul Cloud Computing.pdf

C. Langkah kerja 1. Pastikan anda sudah login ke appfog dengan account linux anda. 2. Berikut ini adalah contoh dari array dengan nama car dan berisi 3 nilai.

Ketiklah dengan notepad simpan dengan nama contoh_array.php. Jalankan dan amati hasilnya. <?php $cars=array("Volvo","BMW","Toyota"); echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . "."; ?>

3. Menghitung panjang array dengan funsi count() 4. fungsi count() digunakan untuk memberikan output panjang dari suatu array.

Ketiklah dengan notepad simpan dengan nama contoh_array1.php. Jalankan dan amati hasilnya. <?php $cars=array("Volvo","BMW","Toyota"); echo count($cars); ?>

5. Berikut ini adalah contoh dari Fungsi dengan nama “writeMsg()” – pastikan huruf besar kecilnya. Tanda { dan } adalah script yang akan dieksekusi oleh php. Ketiklah dengan notepad simpan dengan nama contoh_fungsi1.php. Jalankan dan amati hasilnya. <?php function writeMsg() { echo "Hello world!"; } writeMsg(); // call the function ?>

6. Fungsi argument, Ketiklah dengan notepad simpan dengan nama contoh_fungsi2.php. Jalankan dan amati hasilnya. <?php function familyName($fname) { echo "$fname Akakom.<br>"; } familyName("Jani"); familyName("Hege"); familyName("Stale"); familyName("Kai Jim"); familyName("Borge"); ?>

7. Fungsi pengembalian nilai, Ketiklah dengan notepad simpan dengan nama contoh_fungsi3.php. Jalankan dan amati hasilnya. <?php function sum($x,$y) { $z=$x+$y; return $z; } echo "5 + 10 = " . sum(5,10) . "<br>"; echo "7 + 13 = " . sum(7,13) . "<br>";

Page 22: Modul Cloud Computing.pdf

echo "2 + 4 = " . sum(2,4); ?>

D. Tugas 1. Buatlah program dengan array dan perulangan for. Sebagai contoh anda

mempunyai hewan periharaan seperti anjing, kucing, kerbau dan sapi. Buatlah sintaknya sehingga bisa menampilkan seperti di bawah ini. Hewan kesukaanku yang ke 0 adalah Anjing Hewan kesukaanku yang ke 1 adalah Kucing Hewan kesukaanku yang ke 2 adalah Kerbau Hewan kesukaanku yang ke 3 adalah Sapi

2. Buatlah program dengan fungsi untuk menghitung luas segitiga. 3. Buatlah program dengan fungsi untuk menghitung luas lingkaran.

Page 23: Modul Cloud Computing.pdf

Chapter 5 Let start with code – image

A. Tujuan

1. Mengenalkan mahasiswa dengan teknologi cloud khususnya PaaS. 2. Memberikan pemahaman teknik programming di PaaS. 3. Memberikan pemahaman proses image di PaaS.

B. Dasar Teori

Image adalah satu dari pelengkap dari sebuah website. Dengan adanya image/gambar sebuah web app akan menjadi lebih hidup dan menarik. PHP support berbagaimana macam tipe image antara lain: Jpeg, Png, Gif dan lain sebagainya.

Proses upload gambar ke server PaaS dengan ke web server traditional secara umum adalah sama, yaitu dengan cara meletakkan gambar di folder index.php kemudian menjalankan :

yagus@yagus-ubuntu:~$af push image

Sebelum anda melakukan perintah di atas, pastikan bahwa script ph panda

telah benar, hal ini karena jika script masih ada yang salah maka proses push app ke appfog akan gagal.

C. Langkah kerja

1. Pastikan anda sudah login ke appfog.com

yagus@yagus-ubuntu:~$ af login Attempting login to [https://api.appfog.com] Email: [email protected] Password: ******** Successfully logged into [https://api.appfog.com]

2. Buat folder baru dengan nama gambar01.

yagus@yagus-ubuntu:~$ mkdir gambar01

3. Kemudian masuk ke folder gambar01

yagus@yagus-ubuntu:~$ cd gambar01/

4. Buat file index.php dan edit sehingga bisa menampilkan gambar di web yang

nanti anda buat.

yagus@yagus-ubuntu:~/gambar01$ vi index.php

5. Ubah posisi gambar seperti perintah tugas di bawah.

Page 24: Modul Cloud Computing.pdf

D. Tugas 1. Buatlah web sederhana dengan memberikan image pada backgroundnya dan

posisinya rata kiri – rata kanan dan tepat di tengah/center. E. Lampiran

Sebelum di edit

Sesudah di edit

Page 25: Modul Cloud Computing.pdf

Chapter 6 PHP and MySQL

A. Tujuan

1. Mengenalkan mahasiswa dengan teknologi cloud khususnya PaaS. 2. Memberikan pemahaman programming di lingkungan PaaS. 3. Memberikan pemahaman database di lingkungan PaaS.

B. Dasar Teori

Tak bisa pungkiri orang yang bekerja dengan php sebagian besar menggunakan MySQL sebagai databasenya. Karena selain free, open source juga banyak dukungan komunitas pengembang aplikasi berbasis web. Hal ini membuat MySQL semakin populer. Untuk menggunakannya kita bisa mendownload di www.mysql.com/download.

MySQL termasuk jenis Relational Database Management System (RDBMS). Itulah yang menyebabkan di MySQL dikenal istilah table, baris dan kolom. Pada MySQL sebuah database mengandung satu atau sejumlah table. Table terdiri atas sejumlah baris dan setiap baris mengandung satu atau beberapa kolom.

Pada chapter 6 kita akan mencoba membuat aplikasi PHP dan MySQL berbasis PaaS AppFog.

C. Langkah kerja

1. Pastikan anda sudah login ke appfog.com. 2. Buat direktori rental-cd di akun anda. 3. Kemudian masuk ke direktori rental-cd. 4. Buat file index.php yang berisi form entrian dan form proses.php

index.php <html><head><title>PHP dan MySQL di AppFog</title></head> <body> <form action="proses.php" method = "post"> Judul CD <input name = "judul"><br /> Keterangan <input name = "ket"><br /> Jumlah CD <input name = "jum" /><br /> <input type="submit" value ="masukkan" /></form> </body> </html> <?php ?>

proses.php <?php /* setiap anda membuat app yang di bind ke service lain, secara otomatis appfog membuat fungsi getenv("VCAP_SERVICES"). Fungsi ini berisi parameter-parameter yang diperlukan untuk mengkoneksikan service dengan php */

mysql_connect("localhost","root","admin"); //di sesuaikan dengan fungsi getenv("VCAP_SERVICES");

mysql_select_db("rental"); // di sesuaikan dengan fungsi getenv("VCAP_SERVICES"); mysql_query("insert into tbl_cd(nama, keterangan) values('".$_POST['judul']."','".$_POST['ket']."')"); $q = mysql_query("select id_cd from tbl_cd order by id_cd desc limit 1"); $cd_terakhir = mysql_result($q,0); for ($i=0; $i < $_POST['jum']; $i++) { mysql_query("insert into stokcd(cd_id) values('".$cd_terakhir."')"); } echo "Berhasil di masukkan"; echo "<br>";

Page 26: Modul Cloud Computing.pdf

echo "<a href= input.html>back</a>"; ?>

5. Setelah selesai membuat 2 files index.php dan proses.php, upload file tersebut ke appfog dengan melakukan perintah af push rental-cd.

6. Pada waktu push app ke appfog, pastikan app sudah di bind ke service mysql yang telah anda buat sebelumnya.

7. Done PHPMYADMIN

8. Create APP 9. Choose an application – phpMyAdmin 3.5.2 10. Choose an infrastructure – HP Openstack AZ 2 11. Choose a subdomain, enter a domain – yagus-pma 12. Click Create App

13. Enter link https://console.appfog.com/apps/yagus-pma?created=1 – Link di atas disesuaikan dengan aplikasi yang anda buat.

14. Choose Service – MySQL 5.1 15. Choose Name – mysql-yagus 16. Create

17. Choose – Env Variables

18. Done

Page 27: Modul Cloud Computing.pdf

D. Tugas 1. Buatlah tampilan view.php yang berisi semua record yang ada di stokcd.

view.php <?php $con=mysqli_connect("ip_db","user","password","db_name"); //sesuaikan dengan fungsi getenv("VCAP_SERVICES");

if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $result = mysqli_query($con, "SELECT * FROM stokcd"); echo "<table border='1', cellpadding='0', cellspacing='0', style='border-collapse: collapse' > <tr> <th> ID </th><th> ID CD </th><th> Tanggal Pinjam </th><th> Tanggal Kembali </th> </tr>"; while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['barcode'] . "</td>"; echo "<td>" . $row['cd_id'] . "</td>"; echo "<td>" . $row['tglpinjam'] . "</td>"; echo "<td>" . $row['tglkembali'] . "</td>"; echo "</tr>"; } echo "</table>"; mysqli_close($con); ?>

2. Tampilkan isi dari table table_cd seperti tugas di nomor 1. Untuk melakukan tugas anda bisa update app anda yang sudah jadi atau membuat aplikasi baru.

$sql = "SELECT * FROM tbl_cd";

E. Lampiran Output dari fungsi getenv("VCAP_SERVICES"); <?php echo getenv("VCAP_SERVICES"); ?>

{"mysql-5.1":[{"name":"mysql-yagus","label":"mysql-5.1","plan":"free","tags":["mysql","mysql-5.1","relational","mysql-5.1","mysql"],"credentials":{"name":"d9f351e10eb034ffe92ff4feefe458a3c", "hostname":"10.7.183.20","host":"10.7.183.20","port":3306,"user":"uckGk2cc1GcJH","username":"uckGk2cc1GcJH","password":"pj1ow0rwynL5g"}}]}

Page 28: Modul Cloud Computing.pdf

Chapter 7 PHP and NoSQL - MongoDB

A. Tujuan

1. Mengenalkan mahasiswa dengan teknologi cloud khususnya PaaS. 2. Memberikan pemahaman programming di lingkungan PaaS. 3. Memberikan pemahaman pemrograman php dengan database noSQL di PaaS.

B. Dasar Teori

MongoDB adalah ….

{under contruction}

Page 29: Modul Cloud Computing.pdf

Chapter 8 Wordpress on AppFog

A. Tujuan

1. Mengenalkan mahasiswa dengan teknologi cloud khususnya PaaS. 2. Memberikan pemahaman programming di lingkungan PaaS. 3. Memberikan pemahaman instalasi Wordpress di PaaS.

B. Dasar Teori

Wordpress adalah salah satu tool open source untuk blogging dan merupakan cms yang bebasis PHP dan MySQL. Saat ini wordpress digunakan lebih dari 18.9% dari 10 juta website yang ada – agustus 2013. Selain itu wordpress juga merupakan sistem blogging yang paling terkenal dan digunakan oleh lebih dari 60 juta website1.

Di chapter ini kita akan mencoba menginstall wordpress di PaaS appfog, sehingga kedepannya kita bisa membangun website berbasis cms di PaaS buatan kita sendiri.

C. Langkah kerja

1. Download file wordpress di wordpress.org/download. 2. Extract file latest.zip aka wordpress ke home direktori anda. 3. Kemudian buat file wp-config.php.

$ cp wp-config-sample.php wp-config.php

Service

4. Di wp-config.php, ganti seperti di bawah ini. 1. /** The name of the database for WordPress */ 2. define('DB_NAME', 'database_name_here'); 3. 4. /** MySQL database username */ 5. define('DB_USER', 'username_here'); 6. 7. /** MySQL database password */ 8. define('DB_PASSWORD', 'password_here'); 9. 10. /** MySQL hostname */ 11. define('DB_HOST', 'localhost');

ganti dengan

1. $services = getenv("VCAP_SERVICES"); 2. $services_json = json_decode($services,true); 3. $mysql_config = $services_json["mysql-5.1"][0]["credentials"]; 4. 5. define('DB_NAME', $mysql_config["name"]); 6. define('DB_USER', $mysql_config["user"]); 7. define('DB_PASSWORD', $mysql_config["password"]); 8. define('DB_HOST', $mysql_config["hostname"]); 9. define('DB_PORT', $mysql_config["port"]);

5. Deploy to AppFog.

Page 30: Modul Cloud Computing.pdf

$ af push wordpress-example Would you like to deploy from the current directory? [Yn]: Detected a PHP Application, is this correct? [Yn]: Application Deployed URL [wordpress-example.aws.af.cm]: Memory reservation (128M, 256M, 512M, 1G, 2G) [128M]: How many instances? [1]: Bind existing services to 'wordpress-example'? [yN]: Create services to bind to 'wordpress-example'? [yN]: y 1: mongodb 2: mysql 3: postgresql What kind of service?: 2 Specify the name of the service [mysql-d197d]: Create another? [yN]: Would you like to save this configuration? [yN]: Creating Application: OK Creating Service [mysql-d197d]: OK Binding Service [mysql-d197d]: OK Uploading Application: Checking for available resources: OK Processing resources: OK Packing application: OK Uploading (5M): OK Push Status: OK Staging Application 'wordpress-example': OK Starting Application 'wordpress-example': OK

6. Done.

D. Tugas 1. Setelah anda selesai mendeploy wordpress di AppFog.com, silakan anda ubah

headernya. 2. Buatlah 2 artikel (isi bebas) dan post di wordpress yang telah anda install di

appfog.