Showing posts with label tutorial. Show all posts
Showing posts with label tutorial. Show all posts

Saturday, December 16, 2017

Membuat Blockchain Kurang dari 1 Jam ?? Bisa !

Hmm.. Pada post saya yang kedua ini saya ingin membagi apa yang saya ketahui tentang Blockchain ( Apa sih Blockchain itu ?? )


BLOCK CHAIN
teknologi pencatatan transaksi terintegrasi dengan teknologi modern, dimana memiliki kode unik yang tak bisa dirubah (kekal) yang merevolusi cara kerja internet, perbankan dan hal-hal lainnya.

Arti Kata '' BLOCK CHAIN
berasal dari Block dan Chain yang masing-masing memiliki makna tersendiri. Chain (rantai) adalah pencatatan berantai yang unik dan merupakan alur dari seluruh tahapan yang konsisten dari sebuah item/transaksi. Block (kotak khusus) adalah sebuah tempat/batasan/area khusus untuk menampung seluruh perubahan item/transaksi yang terjadi selama chain process.

Alasan mengapa tipe struktur data ini bermanfaat untuk hal-hal seperti kriptografi adalah desentralisasi, yang berarti catatan di dalam rantai ini tidak tersimpan di satu lokasi pun, dapat diakses oleh semua orang, dan tidak dapat diubah oleh satu pihak pun.



Pengaplikasian BLOCKCHAIN ?
Meskipun Blockchain paling sering dikaitkan dengan Bitcoin, ternyata ada banyak kegunaan untuk teknologi. Apa aja sih kategori aplikasi yang luas itu ? Cekidot !

  1. Data serta Kontrak yang kredibel / dapat diverifikasi
    Blockchain dapat membuat rekaman data, file, atau kontrak yang dapat diverifikasi. Ini bisa berguna di Industri manapun yang menggunakan Big Data, seperti Industri medis atau pemerintah.
  2. Mata Uang dan Aset Digital
    Blockchain yang membentuk Bitcoin mengirimkan uang secara global ke perorangan dan pedagang. Tapi Blockchains juga bisa menciptakan aset digital seperti saham dan obligasi.

Kita akan menggunakan Ethereum untuk membuat Smart Contract. Ethereum adalah Blockchain dengan bahasa pemrograman Turing-Complete, yang dapat menjalankan aplikasi pemodelan masalah komputasi apapun ( selama runtime dan memori memungkinkan ). Pastikan untuk membiasakan diri dengan persyaratan Ethereal berikut sebelum mulai.

Account adalah unit dasar atau objek di Ethereal. Blockchain melacak keadaan setiap akun. Ada dua jenis akun:
  1. Externally Owned Accounts (EOA)
    yang di kendalikan oleh manusia
  2. Contract Accounts
    yang dikendalikan oleh kode kontrak internal mereka dan dapat diaktifkan oleh Akun Eksternal.
"Smart Contract" atau "Decentralized Application (DApp)
ditentukan oleh kode dalam rekening kontrak yang akan diaktifkan saat EOA mengirimkan transaksi ke Rekening Kontrak. Rekening Kontrak dipicu oleh EOA eksternal untuk menghasilkan jawaban yang dapat disepakati oleh semua node yang melihatnya.'

Setiap akun berisi paling banyak empat landasan bidang:
  1. Nonce (sebuah counter digunakan untuk memastikan setiap transaksi hanya terjadi satu kali)
  2. Ether Balance
  3. Contract Code
  4. Storage
Transaksi adalah paket data yang ditandatangani yang menyimpan pesan yang dikirim dari satu akun ke akun lainnya. Ini berisi bidang data berikut:
  1. Recipient
  2. Signature
  3. Amount of Ether transferred
  4. Data
Ether adalah Etherium's Crptocurrency (ETH / USD = ~ $ 50, sampai hari ini) yang dipertukarkan sebagai biaya setiap kali proses transaksi di Ethereal.


Untuk mengurangi risiko transaksi berbahaya, seperti serangan Distributed Denial of Service (DDoS), Ethereum mengenakan biaya untuk setiap transaksi yang dilakukan melalui transaksi tersebut.

Jadi siapa yang mengumpulkan biaya ini? Ada node yang disebut penambang yang mengumpulkan biaya untuk memverifikasi dan melaksanakan semua transaksi. Kelompok miners melakukan transaksi ke blok yang kemudian dapat ditambahkan ke blockchain.

Sekarang setelah Anda memahami dasar bagaimana Etherium bekerja, saatnya untuk memulai.

Kita memerlukan Linux ( beberapa jenis OS Linux ) atau MacOS ( Menggunakan HomeBrew ) atau Windows 10 ( dengan menggunakan terminal dan binary ). Cara lengkap CLI dan teknik penginstallan dapat ditemukan disini

Membuat BLOCKCHAIN

Install Geth

Pertama Anda perlu menginstal Ethereal dari PPA. Di terminal Anda, jalankan command yang berikut ini:
sudo apt-get install -y software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install -y ethereum


Sekarang Anda bisa membuat Genesis Block dengan membuat direktori baru dan menulis ke file json

cd
mkdir eth-new
cd eth-new
nano genesis.json

Selanjutnya, paste kode berikut ini ke dalam file json untuk membuat Genesis Block :

{
    "nonce": "0x0000000000000042",
    "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "difficulty": "0x4000",
    "alloc": {},
    "coinbase": "0x0000000000000000000000000000000000000000",
    "timestamp": "0x00",
    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "extraData": "Custem Ethereum Genesis Block",
    "gasLimit": "0xffffffff"
}

Simpan file blok genesis baru ini dengan Ctrl + X, Y, Enter.


Creating Blockchain

Berikut ini adalah pembuatan Blockchain, dengan perintah maxpeers diatur ke 0 untuk menonaktifkan jaringan.
mkdir eth-data
geth --datadir eth-new genesis.json init eth-new/genesis.json --networkid 123 --nodiscover --maxpeers 0 console

Di konsol geth, ketikkan yang berikut untuk membuat akun baru dan membuat password baru dengan mengetikkan apa pun yang Anda inginkan. Anda harus mengetikkan password baru dua kali.

personal.newAccount()

Output setelah ini harus berupa serangkaian huruf dan angka - alamat akun Anda. Simpan alamat ini di suatu tempat dan keluar dengan mengetik "exit" dan tekan Enter.


Mengirim Ether ke Akun Anda

Anda perlu membuka kembali file Genesis Block. Ketik yang berikut ini:
nano genesis.json

Di dalam bracket "alloc", tempelkan alamat akun yang telah Anda simpan tadi. Anda harus terus maju dan memberi diri Anda keseimbangan Ether juga. Jumlah yang ditunjukkan di samping "balance" di bawah sama dengan 10 Ether.

{
    "nonce": "0x0000000000000042",
    "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "difficulty": "0x4000",
    "alloc": {
    "0x09c7b615a1c5b3016ff6b521723364aa9382ec6e": {
        "balance": "10000000000000000000"
     }
    },
    "coinbase": "0x0000000000000000000000000000000000000000",
    "timestamp": "0x00",
    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "extraData": "Custem Ethereum Genesis Block",
    "gasLimit": "0xffffffff"
}

Setelah selesai updating, simpan file dengan Ctrl + X, Y, Enter.


Menghapus Blockchain Lama dan CreateYang Baru

Jalankan perintah ini untuk menghapus data blokir lama dan restart geth:
cd eth-data
rm -rf chaindata dapp history nodekey
cd ..
geth --datadir eth-new genesis.json --networkid 123 --nodiscover --maxpeers 0 console

Di konsol geth, jalankan command berikut:

> primary = eth.accounts[0]
> web3.fromWei(eth.getBalance(primary), "ether")

Alamat anda akan muncul, begitu juga dengan saldo anda 10 Ether.



Start Mining

Untuk memiliki working Blockchain, Anda perlu membuat penambang. Untuk melakukan ini, keluar dari konsol geth dengan mengetik "exit" dan tekan Enter.

Untuk memulai mining, jalankan command ini:

geth --mine --datadir eth-data --networkid 123 --nodiscover --> maxpeers 0 console 2>>geth.log

Geth sekarang akan mulai. Anda telah membuat penambang yang, seperti yang saya sebutkan sebelumnya, mengumpulkan biaya ether. Ketik perintah di bawah ini untuk memeriksa saldo Anda sekarang:

> primary = eth.accounts[0]
> balance = web3.fromWei(eth.getBalance(primary), "ether")

Anda sekarang seharusnya memiliki lebih banyak Ether daripada sebelumnya.


Installing Solc

Kontrak Ethereal yang Andakerjakan akan ditulis dalam Solidity. Anda harus menginstal kompiler Solc agar bisa menggunakan Solidity. Untuk melakukan ini, buka terminal baru dan ketik yang berikut ini:
bash
sudo add-apt-repository ppa:ethereum/ethereum

Sebuah pesan muncul dengan mengucapkan "Press Enter To Continue." Tekan Enter lalu ketik  perintah yang berikut ini:

sudo apt-get update
sudo apt-get install solc -y
which solc

Ini akan menampilkan jalan ke Solc, yang perlu Anda ingat. Kembali ke jendela Terminal yang menampilkan konsol geth. Jalankan perintah ini, ubah <path> ke jalan yang dikembalikan kepada Anda:

admin.setSolc("<path>")
eth.getCompilers()

Tanggapan terhadap perintah kedua adalah ["Solidity"] yang memberitahu kita bahwa Anda sekarang memiliki Solc dan dapat menggunakan Solidity.


Understanding Greeter Contract

Berikut adalah kode untuk kontrak sederhana dengan menambahkan komentar, diambil dan dimodifikasi dari Kelas Sams. Ini berisi dua jenis kontrak. Yang pertama, sebuah kontrak yang tidak abadi / mortal, menentukan sebuah kontrak yang bisa dihapus / dibunuh oleh orang yang menulisnya dan perlu diumumkan seperti itu, karena kontraknya abadi secara default. Yang kedua adalah Greeter Contract yang akan mencetak sedikit output sapaan.
contract mortal {
    /* Define var owner of the type address*/
    address owner;
    /* this function sets the owner of the contract */
    function mortal() { owner = msg.sender; }
    /* Function to recover fees */
    function kill() { if (msg.sender == owner) selfdestruct(owner); }
}
contract greeter is mortal {
    /* define variable greeting type*/
    string greeting;
    /* this runs when the contract is executed */
    function greeter(string _greeting) public {
        greeting = _greeting;
    }
    /* main*/
    function greet() constant returns (string) {
        return greeting;
    }
}


Unlocking Your Account

Memulai kontrak membutuhkan biaya Ether, jadi Anda perlu membuka kunci akun Anda. Anda bisa melakukan ini dengan mengetikkan yang berikut ini:
primary = eth.accounts[0]
personal.unlockAccount(primary)

dan ketika menginput password anda Begitu Anda melihat output "true", Anda akan tahu bahwa Anda telah berhasil membuka kunci akun Anda.



Compiling Your Contract

Di konsol geth, Copas seluruh kode snippet kontrak Anda dari sebelumnya dalam satu baris tanpa komentarnya:
var greeterSource = 'contract mortal { address owner; function mortal() { owner = msg.sender; } function kill() { if (msg.sender == owner) suicide(owner); } } contract greeter is mortal { string greeting; function greeter(string _greeting) public { greeting = _greeting; } function greet() constant returns (string) { return greeting; } }'

Ini akan kembali "undefined"



Di konsol geth, ketik berikut ini:
> var greeterCompiled = web3.eth.compile.solidity(greeterSource)

Preparing Your Contract For Deployment

Setelah Anda memiliki kontrak tidak abadi / mortal dan Greeter Contract Anda, Anda harus menentukan greeting dan memberi contoh objek akun Anda. Ini akan membutuhkan lebih banyak Ether.
di konsol geth, ketikkan command dibawah ini :
var _greeting = "Hello World!"
var greeterContract = web3.eth.contract(greeterCompiled.greeter.info.abiDefinition);
var greeter = greeterContract.new(_greeting, {from: eth.accounts[0], data: greeterCompiled.greeter.code, gas: 1000000}, function(e, contract){
  if(!e) {
    if(!contract.address) {
      console.log("Contract transaction send: TransactionHash: " + contract.transactionHash + " waiting to be mined...");
    } else {
      console.log("Contract mined! Address: " + contract.address);
      console.log(contract);
    }
  }
})

Pesan "Contract Transaction Send" muncul, dan setelah beberapa detik, Anda akan melihat pesan yang keluar "Contract Mined!"



Testing The Contract

Perintah berikut akan mengembalikan alamat yang panjang dan kemudian greeting anda.
eth.getCode(greeter.address)
greeter.greet()

Selamat !! Anda sudah membuat program Blockchain micro pertama Anda !

Demikian postingan kedua saya, saya harap dapat menambah pengetahuan untuk readers !! keep learning keep coding.


Reference :






Wednesday, June 15, 2016

Tutorial Golang Part 3

Masih membahas bahasa pemrograman Go, yang menlanjutkan meteri kami sebelumnya. Di blog ini kami akan membahas tentang :
  • Variable
  • Array
  • Struct

Variable

Variable adalah tempat kita menyimpan data. Dimana data tersebut akan kita gunakan lagi dan bisa berubah sesuai dengan kebutuhan kita. Berikut contoh penggunaan variable di Go :



Pada prinsipnya kita menggunakan var untuk menunjukan itu variable lalu di lanjutkan dengan nama variable, tipe data dan value awalnya (jika ada).

Untuk lebih ringkasnya deklarasi variable bisa menggukan cara berikut :
f := "short"
yang artinya kita tidak perlu menulis kata var dan tipe datanya.

Saya pribadi lebih suka menggukan cara ini karena lebih singkat.

Array

Array adalah variable yang didalamnya bisa terdiri dari 1 atau lebih element. Berikut contoh penggunaan array di Go :




Deklarasi array sama dengan variable, bedanya ada tambah [] untuk menentukan jumlah element yang ada.






Cara shortcut-nya juga hampir sama dengan variable dengan menggunakan :=

Sedangkan contoh disebelah adalah penggunaan array dengan 2 dimensi.





Struct

Struct adalah variable yang isi datanya lebih komplek. Kalau bisa kita analogikan struct hampir sama dengan Object di bahasa pemrograman OOP. Berikut contoh penggunaan struct di Go :


Cara deklarasinya dengan menggunakan keyword type lalu nama variablenya dan diakhir dengan keyword struct.












Disini ada simbol & yang artinya kita menggunakan pointer.





Sementara itu penjelasan singkat tentang Variable, Array dan Struct. Nanti kan blog-blog kami selanjutnya. I hope you enjoy it.









Tuesday, December 15, 2015

Building Web API using Beego

Di dalam blog ini saya masih berbicara tentang golang. Sama dengan bahasa pemrograman lainnya, golang memiliki banyak framework untuk membuatnya segalanya menjadi rapid.

Yang akan kita bahas disini adalah Beego, salah satu HTTP Framework yang menggunakan golang. Kenapa disebut sebagai HTTP Framework, karena Beego bukan hanya sekedar web framework tapi bisa digunakan untuk develop API backend service secara rapid.

Mari kita mulai dari persyaratannya :
  1. Pastikan environment kita sudah terinstall golang. Jika belum bisa lihat disini sebagai acuan.
  2. Install Beego dengan cara :

Setelah itu, kita siapkan sisi database-nya. Contoh tabel yang kita pake adalah :
Setelah semua lengkap mari kita mulai membuat program dari workspace golang :
  • cd $GOPATH/src





Kemudian ikuti langkah-langkah dibawah ini :
  • bee api testing-app -tables="roles" -conn=yuki:welcome1@tcp\(127.0.0.1:3306\)/testing
  • cd testing-app
  • bee run -downdoc=true -gendoc=true
  • buka di browser dan jalankan http://localhost:8080/swagger/swagger-1/

Done. Begitu mudahnya kita membuat REST API dengan Beego dengan ditambahkan swagger akan mempermudah kita untuk testing REST API yang telah kita buat.

Dari sini kita bisa lihat Beego menawarkan fitur yang keren dan rapid. Rapid sangat dibutuhkan mengingat informasi selalu berubah dalam tiap detiknya.

Ok, sementara itu dulu ulasan tentang Beego, tunggu kita di blog-blog Beego lainnya.

Tuesday, September 15, 2015

Cross Compilation using Go

Masih seputar Go Programming, dimana pembahasan kali ini berkaitan dengan cross compile. Sebelum apa sih cross compile itu ?
Cross compile adalah kemampuan compiler untuk meng-compile di platform tertentu, tetapi proses pengerjaannya di platform yang berbeda. Contoh: kita bikin program di OS X lalu kita compile untuk jalan di Windows. Itu lah cross compile.

Kasus yang akan kita coba kurang lebih sama, yaitu membuat program di OS X dan di jalankan di windows dengan menggunakan bahasa pemrograman golang.
  • OS X disini kita sebut sebagai Host OS (developing on).
  • Windows kita sebut sebagai Target OS (running on).

Sebelum kita mulai ada beberapa istilah di environment golang yang harus kita pahami dulu, yaitu :
  • $GOHOSTARCH : Architecture processor yang di pake untuk develop. Dalam hal ini amd64 (64 bit).
  • $GOHOSTOS : Operating system yang di pake untuk develop. Dalam hal ini darwin (OS X).
  • $GOARCH : Architecture processor yang digunakan untuk menjalankan program. Dalam hal ini amd64 (64 bit).
  • $GOOS : Operating system yang digunakan untuk menjalankan program. Dalam hal ini windows.

Berikut contoh environment di OS X :
go env
Disitu terlihat sama antara $GOHOSTARCH dan $GOARCH begitu juga sebaliknya antara $GOHOSTOS dan $GOOS.

Untuk itu kita harus menyesuaikan $GOARCH dan $GOOS menjadi :
  • amd64 untuk $GOARCH
  • windows untuk $GOOS
Caranya adalah sebagai berikut :
  • Masuk ke directory source code go
$ cd /usr/local/go/src
  • Jalankan perintah berikut.
$ sudo GOOS=windows ./make.bash
Sekarang saatnya bikin program sederhana untuk di jalankan di windows. Berikut snapshoot programnya :
package main

import "fmt"
import "runtime"

func main() {
        fmt.Printf("Hello %s/%s\n", runtime.GOOS, runtime.GOARCH)
}

Setelah itu kita compile untuk jalan di mesin windows dengan cara sebagai berikut
$ env GOOS=windows GOARCH=amd64 go build -o hello_amd64.exe hello.go
Hasilnya setelah kita jalan seperti ini
windows

OS X

Wow... begitu mudahnya melakukan cross compile dengan golang. Cukup membuat satu program dan bisa kita compile di beberapa platform seperti OS X, Linux ataupun Windows.

Untuk sementara sekian dulu dari kami, nantikan posting-posting kami selanjutnya berkaitan dengan golang.

Monday, June 22, 2015

Tutorial Go Programming Part 2

Pembahasan kali ini masih berkisar tentang pengenalan di bahasa pemrograman go. Dan tutorial kita ini melanjutkan tutorial kita sebelumnya, dimana yang akan kita bahas adalah :
  1. Create your library.
  2. Create a testing.
Tanpa berlama-lama mari kita mulai dengan :

Create your library
Yuk, kita buat library reverse word. Membalikkan kalimat dari kanan ke kiri.
Contoh : Ayunda Buwana menjadi anawuB adnuyA

Langkah-langkah yang harus di lakukan adalah :
  • Buat folder stringutil
$ mkdir $GOPATH/src/yukibuwana.com/demo/stringutil
  • Buat file dengan nama reverse.go
$ vi $GOPATH/src/yukibuwana.com/demo/stringutil/reverse.go
  • Untuk code nya adalah
// Package stringutil contains utility functions for working with strings.
package stringutil

// Reverse returns its argument string reversed rune-wise left to right.
func Reverse(s string) string {
 r := []rune(s)
        for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 {
  r[i], r[j] = r[j], r[i]
 } 
        return string(r)
}
  • Simpan file tersebut dan compile dengan cara
$ go install $GOPATH/src/yukibuwana.com/demo/stringutil
  • Ubah filenya menjadi hello.go menjadi
package main

import (
 "fmt"
 "yukibuwana.com/demo/stringutil"
)

func main() {
 s := "Ayunda Buwana"
 fmt.Println(stringutil.Reverse(s))
}
  • Untuk menjalankannya dengan cara
$ go install $GOPATH/src/yukibuwana.com/yuki/hello.go
  • Dan hasilnya adalah
$ anawuB adnuyA

Testing

Go menyediakan framework untuk testing dengan menggunakan go test.
Sebelumnya ada kondisi yang harus di perhatikan, yaitu :
  1. Nama file harus di akhir _test.go
  2. Nama fungsi harus di awali dengan TestXXX
Tanpa berlama-lama lagi mari kita coba langkah-langkah berikut :
  • Tambahkan file reverse_test.go
$ vi $GOPATH/src/yukibuwana.com/demo/stringutil/reverse_test.go
  • Untuk code nya adalah 
package stringutil

import "testing"

func TestReverse(t *testing.T) {
 cases := []struct {
  in, want string
 }{
  {"Hello, world", "dlrow ,olleH"},
  {"Hello, 世界", "界世 ,olleH"},
  {"", ""},
 }
 for _, c := range cases {
  got := Reverse(c.in)
  if got != c.want {
   t.Errorf("Reverse(%q) == %q, want %q", c.in, got, c.want)
  }
 }
}
  • Sedangkan cara menjalankannya adalah
$ go test $GOPATH/src/yukibuwana.com/demo/stringutil
ok   yukibuwana.com/demo/stringutil 0.004s
Lihat, begitu mudahnya menggunakan Go. Dan hebatnya sendiri Go sudah build up dengan testing framework. Testing sangat di perlukan dalam proses Development.

Nantikan blog saya selanjutnya tentang go.


Thanks.

Referensi : http://golang.org/doc/code.html

Saturday, March 14, 2015

Tutorial Go Programming Part 1

Sebelum kita memulai code di go, kita akan membahas apa itu go programming atau golang.
Golang (google language) adalah bahasa pemrograman yang diperkenalkan oleh Google pada tahun 2009. Golang bersifat :

  1. Open Source
  2. Aman dalam pengertian type-safe dan memory-safe.
  3. Cepat dalam kompilasi
  4. Hasil kompilasinya adalah binary
Dalam tutorial ini kita akan membahas :
  • Installation
  • Workspace and Environment
  • My First Program
  • Run the program

Ayo, saatnya kita memulai dengan :

Installation
  • Untuk installation kita bisa download di sini.

  • Langkah-langkahnya cukup jelas. Tinggal kita ikuti saja.

Workspace and Environtment
Workspace adalah tempat kita menempatkan source code kita. Di golang folder-foldernya harus sesuai dengan ketentuan. Berikut struktur foldernya :
bin/
        # binary file
pkg/
        # library file
src/
        # source code file

Setelah struktur folder diatas yang harus kita siapkan adalah setting environment, yaitu :

  • GOPATH, contoh : export GOPATH=/Users/yukibuwana/Go

Untuk setting environment lebih baik kita simpan di file .profile atau .bash_profile untuk sistem operasi linux.

My First Program
Tanpa berlama-lama lagi mari kita buat program pertama kita. Lakukan langkah-langkah berikut :
$ mkdir -pv $GOPATH/src/yukibuwana.com/demo/hello
Lalu buat file hello.go di dalam folder hello. Lalu tulis code berikut ini :
package main

import "fmt"

func main() {
 fmt.Printf("Hello, world.\n")
}
Jangan lupa simpan file tersebut.

Run the program
Sekarang saat-saat yang kita tunggu, yaitu menjalankan program pertama yang kita buat.
Untuk itu lakukan langkah-langkah berikut :
$ cd $GOPATH/src/yukibuwana.com/demo/hello
$ go install
Langkah diatas untuk meng-kompile program menjadi binary file. Untuk menjalankan programnya adalah
$ $GOPATH/bin/hello
Hello, world.
Untuk tutorial ini baru program "Hello, world." sederhana. Nantikan tutorial golang berikutnya dengan variasi golang lainnya.



Thanks

Referensi: http://golang.org/doc/install

Tuesday, September 16, 2014

Tutorial iOS Part 2

Di blog sebelumnya, kita membahas sekilas iOS Programming dengan membuat program HelloWorld. Sekarang kita akan mencoba menggunakan beberapa componen standart iOS Programming, seperti :

  • UITextField
  • UIStepper
  • UISlider
  • UISegmentedControl
  • UISwitch
  • UIActivity

Untuk tampilan User Interface di Simulator iOS adalah sebagai berikut :

Skenario dari program ini adalah :
  1. Saat user memasukkan tulisan di Text Field dan user menekan tombol Press, apapun tulisannya akan di tampilkan di Label.
  2. Saat user menekan Stepper +, nilai dari stepper akan bertambah dan di tampilkan di Label. Jika user menakan Stepper -, nilai akan berkurang. Iterasi yang digunakan adalah 1.
  3. Begitu juga dengan Slidder. Nilai akan di tampilkan di Label dengan iterasi 0.5.
  4. Untuk Segmented Control, yang tampil di Label adalah nilai dari indexnya.
  5. Sedangkan komponen Swicth akan menjalankan animasi proses. Animasi akan mulai saat switcher on dan berhenti saat switcher off.
Tanpa berlama-lama lagi, mari kita buat project dengan nama HelloUIKit.

Selanjutkan kita buat IBOutlet dan IBAction-nya di ViewController.h


Untuk Design Interface-nya adalah sebagai berikut :

Jangan lupa untuk membuat koneksi antara file xib (Main.storyboard) dengan source code-nya.

Dan yang terakhir adalah membuat implementasinya di ViewController.m

Sedangkan untuk method IBAction-nya adalah

Source code dapat di download disini. Untuk compile dan testing cukup dengan shortcut cmd + R.

Sekali lagi begitu mudahnya membuat program di iOS. Semoga tutorial ini bermafaat dan menambah wawasan kita bersama. Tunggu tutorial iOS selanjutnya di blog ini ya...

Tutorial iOS Part 1

Begitu banyak blog yang membahas tentang android. Tapi masih sedikit pembahasan tentang iOS Programming. Di dalam blog ini kita memulai belajar pemrograman iOS dari dasar. Seperti Hello World... (he.. he.. he..)

Sebelum kita memulai ada beberapa tools yang harus di siapkan, seperti :
  1. Apple ID, yang digunakan untuk download Xcode dari apps store.
  2. Xcode, tools yang digunakan untuk pembuatan program baik iOS ataupun OS X.
  3. Pengetahuan dasar tentang Objective C, krn dasar pemrograman iOS adalah Objective C.
Mari kita mulai tutorial ini :
  • Buka IDE Xcode, tekan cmd + spasi untuk membuka spotlight lalu ketik xcode dan jangan lupa tekan enter.
  • Selanjutkan kita membuat New Project - Single View Application, dengan menggunakan shortcut shift + cmd + N lalu pilih Single View Application dan jangan lupa klik tombol Next. Pastikan pilihan anda pada iOS Application.
  • Isi bagian:
    • Product Name: HelloWorld
    • Organization Name: Yuki Buwana 
    • Company Identifier: id.co.yukibuwana
    • Class Prefix: YBZ
    • Device: iPhone
  • Setelah klik tombol Next, saatnya kita menentukan dimana file project akan disimpan.
  • Jangan lupa klik tombol Create, untuk memulai pembuatan program.



Langkah selanjutnya adalah Design Interface. Berikut langkah-langkahnya :

  • Klik Main.storyboard pada Project Navigator.

  • Drag Label dari Object Library ke View Controller.
  • Drag Button dari Object Library ke View Controller.
  • Set Label Text menjadi Hello World pada Attribute Inspector.
  • Set Button Title menjadi Press Me pada Attribute Inspector.

Setelah kita membuat User Interface, selanjutkan kita membuat IBOutlet dan IBAction.

  • IBOutlet adalah metode yang digunakan untuk menghubungkan komponen pada XIB (main.storyboard) dengan source code.
  • IBAction adalah metode yang digunakan untuk menghubungkan event pada XIB (main.storyboard) dengan source code.
Cara adalah membuat IBOutlet dan IBAction di ViewController.h
Sekarang saatnya membuat koneksi antara User Interface dengan source code.

  • Klik Main.storyboard pada Project Navigator.
  • Expand View Controller Scene
  • Klik View Controller
  • Klik Connector Inspector


  • Drag lingkaran putih pada bagian labelHello ke komponen label.
  • Drag lingkaran putih pada bagian pressMe ke komponen button.

Langkah terakhir sebelum program di jalankan adalah membuat implemantasinya. Buka file ViewController.m dan ketik program di bawah ini :
Nah, sekarang saatnya menjalankan program di iOS Simulator. Sebelumnya pastikan bahwa kita sudah memilih iOS Simulator bukan iOS Device, krn deployment di iOS Device harus terdaftar sebagai iOS Developer dahulu. Dimana biaya pendaftarannya sebesar $99. Proses compile cukup menekan shortcut cmd + R. Tunggu beberapa saat hingga muncul seperti ini di iOS Simulator


Saat kita menekan tombol Press Me, Label berubah menjadi Hello Dunia dan saat kita menekan tombol Press Me lagi, Label berubah menjadi Hello World. Begitu seterusnya.

Lihat begitu mudahnya kita membuat program di iOS. Semoga tutorial ini bermanfaat bagi kita semua dan untuk source code dapat di download di sini.

Saturday, June 14, 2014

Tutorial Liferay Part 4

Setelah kita mengganti logo di halaman portal kita, saatnya kita memodifikasi halaman web dengan menambah fitur-fitur yang disediakan oleh liferay.

Disini kita akan menambahkan aplikasi Calender. Calender adalah bagian dari Portal Collaboration yang di miliki oleh liferay. Dengan adanya Calender akan memudahkan kolaborasi antar user yang berkaitan dengan janji, rapat atau hal-hal lainnya yang sifatnya berkelompok.

Berikut step by step nya :
  • Login ke liferay portal. Disini saya menggunakan user ayundabuwana@gmail.com. Cara pembuatan user bisa lihat di blog saya sebelumnya.
  • Klik username (dalam hal ini Ayunda Buwana) yang terletak di pojok kanan atas, lalu pilih My Dashboard.

  • Hapus semua portlet yang ada di halaman utama.


  • Klik tombol Add yang ada di sebelah kiri.

  • Pilih bagian Collaboration, lalu Calendar.

  • Drag aplikasi Calender ke halaman portal kita.

  • Lakukan hal yang sama untuk Currency Corverter (Finance) dan Translator (Tools).

Yoyoi... Mudah sekali kita men-design portal dengan liferay. Mudah-mudahan bermanfaat posting sederhana ini.


Keep spirit team

Tutorial Liferay Part 3

Posting kali ini adalah mengganti logo di halaman portal kita.

Mengganti logo adalah hal utama yang kita lakukan. Jelas hal ini berguna sebagai identitas perusahaan. Karena logo merupakan perwakilan sebuah perusahaan yang didalamnya terlihat filosofi dan misi dari perusahaan tersebut.

Disini kita akan mengganti logo default liferay

menjadi 


Berikut step by step nya :
  • Login ke liferay portal. Disini saya menggunakan user ayundabuwana@gmail.com. Cara pembuatan user bisa lihat di blog saya sebelumnya.
  • Klik username (dalam hal ini Ayunda Buwana) yang terletak di pojok kanan atas, lalu pilih My Profile.

  • Setelah ada di halaman utama, klik menu Admin yang terletak di sebelah kiri username. Kemudian pilih Site Administration.
  • Klik link Logo.

  • Pilih file logo yang akan di upload.


  • Jangan lupa klik tombol save.
  • Klik tombol back yang ada di pojok kiri atas.


Wolla... Begitu mudahnya kita mengganti logo di halaman portal kita. Untuk posting kali ini cukup sekian, nantikan posting liferay saya selanjutnya.


Have a good day.