Just my scratch

Saturday, 10 December 2016

Hari 2 : Hello World Apps

16:58:00 Posted by Unknown No comments


            Akhirnya setelah sekian lama blog saya terabaikan sekarang bisa ngelanjut nulis lagi, beberapa tahun yang lalu udah bahas tentang gimana cara intsall ruby dan framework ruby on rails kali ini, tulisan artikel ini adalah lanjutan ke tahap awal penggunaan rails. Yang perlu kalian lakuin sekrang adalah dengan membuat direktori kusus buat belajar rails. nah kalau sudah sekarang saatnya ngebuat aplikasi hello word dengan menggunakan rails dengan make command berikut pada terminal.
rails new Hello_world
perintah commnad diatas adalah memerintah rails untuk mengnerate aplikasi bernama Hello_world jika berhasil maka rails akan ngegenrate beberpa folder aplikasi Hello_world contoh beberpa direktori hail generate rails adalah sebagai berikut.

Beberpa direktori hasil gnerate
List folder Hasil Generate
Jika sudah berhasil ngegenerate direktorinya sekrang saatnya penjelasan mengenai apa fungsi dari direktori tersebut berikut ini tabel yang sudah saya buat


Direktori/file
Penjelasan
app/
Berisi semua core aplikasi, termasuk models, view, controller dan helper
app/assets
Merupakan tempat dimaan kamu meletakan asset dari aplikasi kamu seperti css, file javasript dan gambar
bin/
Berisi binary executeable file
config/
Merupakan folder untuk konfigurasi aplikasi
db/
Merupakan direktori yang berisi database file
doc/
Merupakan direktori tempat untuk dokumentasi aplikasi
lib/
Merupakan direktori untuk meletakan library modul
lib/asset
Merupakan direktori untuk library asset
log/
Direktori untuk aplikasi log file
public/
Data bisa diakses oleh public contohnya adalah via web browser, atau juga bisa berisi error page
bin/rails
Merupakan sebuah program untuk menggenerate kode, membuaka sesi console atau menjalankan local server
test/
Direktori untuk apllication test
tmp/
Direktori untuk temporary file
vendor/
Merupakan direktory untuk third-party code seperti plugins dan gems
vendor/asset
Merupakan direktory yang bersisi third-party asset sperti, css, file javascript dan gambar
README.md
Merupakan file readme
Rakefile
Merupakan Utility task yang tersedia via rake command
Gemfile
File yang berisi list Gem yang diperlukan untuk aplikasi ini
Gemfile.lock
Merupakan file yang berisi list gem yang digunakan untuk memastikan semua salinan aplikasi menggunakan gem dengan versi yang sama
Config.ru
Sebuah konfigrasi file untuk Rack middleware
.gitignone
Pettern untuk file yang akan diabaikan oleh git


Bundler

            Setelah berhasil membuat aplikasi rails Hello_world  langkah selanjutnya adalah belajar menggunakan bundler untuk menginstall semua gems yang diperlukan oleh aplikasi yang dibuat. Pada rails bundler ini akan dijalankan secara otomatis(via budle install), namun pada tutorial kita juga bakalan belajar cara mengubah konfigurasi default yang digenerate dan melakukan run bundler lagi. petama yang perlu kalian lakukan adalah mebuka file Gemfile dengan menggunakan teks editor kesukaan kalian, nah jika sudah maka hasilnya seperti ini 
Konfigurasi default Gemfile
Jika kita meneliti lebih lanjut file konfigurasi tersebut maka ada tiga cara untuk untuk mengiinstall gem dengan bundler yaitu
  1. gem 'nama_gem'
    • cara penulisan dengan cara ini adalah cara untuk menginstall gem dengan nama yang diinginkan secara otomatis dengan menggunakan perintah tersebut maka Bundller akan mengintsall versi paling terbaru dari gem tersebut. 
  2. gem 'nama_gem', '>= version'
    • dengan menggunkan perintah ini maka secara otomatis Bundler akan menginstall gem dengan versi yang lebih baru atau sama dengan versi yang diinginkan
  3. gem 'nama_gem','~> version'
    • contoh misalkan saya menulikan gem 'coffe-rails', '~>4.0.0' maka secara otomatis bundler akan menginstall gem bernama coffe-rails dengan versi yang lebih baru dari versi 4.0.0 tapi tidak lebih baru dari versi 4.1.0
Ok, sekarang adalah saatnya kita praktek untuk mengubah konfigurasi default gem file, ubahlah konfigurasi default gem seperti berikut ini 
Konfigurasi gemfile yang baru


jika sudah kalian ubah, sekarang saatnya untuk melakukan running commad
bundle install
jika sudah sudah selesai tanpa terjadi error maka kamu berhasil mengubah konfigurasi gem pada aplikasi kamu, tapi jika ada message need to run bundle update first yang perlu kamu lakukan adalah melakukan running commnad bundle upate kemudian baru melakukan command bundle install.

Rails Server

            Ok sekrang kalian sudah paham bagaimana membuat aplikasi dengan rails dan mengkonfigurasi gemfile, terus ada pertanyaan dimana gue bisa ngejalain aplikasi gue, kabar gembiranya rails itu dibuat dengan sebuah command line yang bisa melakukan running local webserver yang ngebantu kita buat ngdevelop aplikasi kita, command tersebut adalah 
rails server

saya menyarankan untuk membuka terminal baru ketika akan melakukan command ini karena ketika terminal kamu tutup maka server rails juga akan berhenti sehingga kamu perlu melakukan running command lagi, dan pastikan kamu melakukan running command ini saat berada di direktori aplikasi rails yang sedang kamu buat biar tidak salah melakukan running project. ok langsung saja kita coba.jika kalian berhasil maka akan keluar output pada terminal dan localhost pada port 3000 kalian akan menadi seperti berikut ini.

Output terminal

localhost:3000


Rails MVC

            Ok, sekarang kalian sudah bisa menyalakan localhost dengan rails tapi kalian belum mendaptkan output yang diingnkan, sebelum itu gue pengin ngebahas barang yang bernama MVC (model,view,controller). MVC adalah merupkan sebuah pendekatan untuk menstrktur software agar kode program bersifat maintainable dan fleksibel dan elemn mvc sudah gue sebutin diatas tadi tinggal pnjelasannya doang, berikut ini penjelasannya


Nama bagian

penjelasan

model

Model class menunjukan
sebuah objek yang membawa data didalamnya juga bisa terdapat logic
untuk melakukan update controller jika terjadi perubahan

view

View merupakan
visualisasi data yang dimiliki oelh model bisa ibilang view ini
bagian GUI-nya

controller

Conteroller digunakan
ebagai penghubung antara view dan model dan juga mengatur aliran
data kepadda model objek dan melakukan update view saat terjadi
perubahan data. Controller menjaga agar view dan model tetap
terpisah


Hello World

            Ok, kita sudah belajar mengenai MVC sekarang saatnya kita mengubah tampilan aplikasi kita menjadi hello world, yang akan kita ubah disini adalah controller actionnya yang sudah didefiniskan di dalam class controller pada rails, kita akan menambahkan method hello_world untuk menampilkan kata hello word dan beriku ini adalah methodnya.
menambah method hello_world pada controller
ok  kita sudah menambahkan method tersebut namun ketika kita buka localhost output kata hello world belum ditampilkan yang perlu kita lakukan sekarang adalah mengubah router root rails yang berada pada config/routes.rb dimana pada bagian ini kalian hanya perlu mengubah satu baris saja yaitu pada bagian 

root 'controller_nama#action_name'
ok langsung saja kita ubah rootnya menjadi seperti berikut ini 

Mengubah root pada router
jika sudah sekarang kalian buka lagi localhost:3000 maka tampilannya kan seperti berikut 
hello world apps
Selamat kalian berhasil membuat aplikasi hello world skarang yang pelru kalian lakukan adalah belajar mengubah-ubah tampilan root tersebut sesuai yang kalian mau.

Deploying

            Ok, sekarang saatnya kita untuk belajar melakukan deploy, pada tutorial ini saya akan melakukan deploy ke heroku, karena menurut saya make heroku itu paling mudah dan bisa dilakukan via git. pertama yang perlu dilakukan adalah melakukan registrassi di heroku jika kalian sudah selesai melakuan registrasi, yang perlu kalian lakukan adalah menginstall heroku toolbelt dengan menggunakan commnad berikut ini pada terminal kalian
wget -O- https://toolbelt.heroku.com/install-ubuntu.sh | sh

Hal yang perlu diketahui mengenai heroku adalah, bahwa heroku menggunakan PostgreSQL yang berarti kita perlu menambahkan gem untuk Postgres atau pg dalam procduction environtmet yang membuat rails nantinya bisa berkomunikasi dengan Postgres  berikut ini adalah gemfile yang sudah saya ubah
menambah gem PostgreSQL
jika sudah diubah yang perlu kita lakukan adalae menyiapkan syitem untuk deployment produksi disini kita akan melakukan running commnad bundle install dengan flag spesial untuk meghindari terinstalnya gem pada local sistem karena yang butuh hanya sistem untuk produksi environtmentnya saja, sehingga perlu pengupdatean Gemfile.lock supaya berisi gem Postgres dengan mengketikan command berikut ini 
bundle install --without production
sebelumnya kalian sudah menginstall registrasi dan menginstall herokutoolbelt dan sekrang yang perlu kalian lakukan adalah melakukan login dari komputer kalian dengan commnad berikut. yang secara otomatis akan menginstall heroku cli jika kalian belum mnginstalnya, menggenertae ssh key dan membuat subdomain baru untuk aplikasi kamu. 
heroku login && heroku keys:add && heroku create
jika kalian sudah melkukan generate maka kalian akan mendapatkan output berupa alamat aplikasi kalian di heroku dan alamat repository gitnya. jika sudah berhasil maka sekarang yang perlu lakukan adalah manjalankan terminal dan menuju direktori kalian dan lakukan git init dan git add . kemudian lakukan remote repository tersebut dangan command berikut ini 
heroku git:remote -a nama-aplikasi-hasil-generate
jika sudah lakukan git add ., git commit, dan terakhir lakukan git push ke branch heroku dan master dengan force tunggu loading sampai selesai, jika sudah sekarang saatnya kita buka alamat hasil generatenya maka hasilnya seperti ini.
Hasil deploy
selamat kalian sudah berhasil melakukan deploy ke heroku sekarang coba untuk melakukan deploy aplikasi yang lain dengan menggunakan heroku, inagt maksimal aplikasi yang bisa di muat di heroku adalah lima aplikasi demikian tutorial ini terimakasih.

0 komentar:

Post a Comment