Jumat, 21 April 2017

ARKADEMY IoT Challenge Vol. 2 : What is GIT? Mengenal Apa itu GIT

Teknologi Informatika memang sangat berkembang pesat dalam masa ini. Hampir tidak ada hal yang terjamah oleh informatika. Salah satu pengembanganya yaitu IoT atau Internet of Things. Dalam Artikel Cara Kerja LED sudah dijelaskan bahwa IoT terdapat 2 pengembangan teknologi yaitu Elektronika dan Informatika. 

Dalam membuat sebuah Project Developing baik itu project IoT atau Informatika yang lain, bisa dilakukan oleh 1 (satu) orang atau berkelompok. Dalam pengerjaan project perseorangan dirasa cukup mudah untuk mengerjakan semua perubahan dan penambahan semua script maupun asset ke dalam project tersebut.

Tetapi, dengan adanya sebuah pengontrol versi yang digunakan untuk melihat log perubahan pada sebuah source code atau yang biasa disebut VCS (Version Control System), Programer akan tahu apa saja yang telah dirubah dan direvisi di dalam project yang sedang Ia kembangkan.

Mengenal VCS (Version Control System)


Kita sering melihat adanya tanda version pada sebuah aplikasi atau source code yang bersebaran di internet dan disertai dengan release notes yang merupakan perubahan-perubahan dan tambahan fitur dari sebuah aplikasi maupun source code tersebut.

Version Control System (VCS) adalah sebuah sistem yang mencatat setiap perubahan terhadap file dan folder project. Catatannya pun dilengkapi dengan informasiapa saja perubahan yang terjadi, tanggal, dan orang perubahannya. Dengan menggunakan Version Control System, coder dapat dengan mudah untuk berpindah dari satu revisi ke revisi lain tanpa bingung mengingat ingat revisi yang telah dilakukan.

Tanda versi tersebut merupakan VCS dan terdapat banyak penyedia VCS di internet. Contohnya Bazaar, Subversion, GNU Arch, Perforce, dan yang paling terkenal adalah Git. Kali ini saya akan membahas salah satu contoh VCS yaitu Git.

Memulai dengan GIT


Image result for git

Git merupakan VCS yang dikembangkan oleh Linus Torvald saat Ia mengembangakn Kernel Linux dan Linux itu sendiri. Git merupakan VCS yang tidak terpusat (Decentalized Version Control System) atau bisa juga disebut VCS terdistribusi. Jenis VCS ini juga sama dengan VCS Mercurial, Bazaar, dan Darcs. 

KhoFact : Ada 3 Macam tipe VSC, yaitu Local VCS, Centralized VCS, dan Distributed VCS

Keunggulan dari Git dibanding dengan VCS yang lain : 


  • Repository syncing 
  • Bekerja secara offline
  • Cheap local branching
  • Staging area yang nyaman 
  • Mampu menangani proyek besar secara efektif
  • Kecepatan dan ukuran data yang kecil
  • Mendukung non-linear development
  • Multiple workflow

GIT Repository

Image result for git repository

Git sangat cocok untuk digunakan developer yang bekerja secara kolaborasi atau kelompok dalam suatu project yang sama. Karena Git dapat menyimpan source code serta semua log perubahan dan penambahan yang dicommit (update) oleh anggota dalam project tersebut dan dipush (upload) ke sebuah hosting Git yang disebut dengan Git Repository.

Untuk menghostingnya banyak provider Git Repository contohnya yaitu Github, Bitbucket, Assembla, dan Gitorious. Mengapa diperlukan Git Repository? Karena jika diupload ke Repository maka semua developer yang bekerja dalam project itu akan mendapatkan salinan dari source code dan log versionnya sehingga terjadi keselarasan antar developer dalam memengembangkan project tersebut.

Image result for staging git

Dalam Git ada 3 kondisi file : 

  1. Modified adalah kondisi dimana revisi atau perubahan sudah anda lakukan tetapi belum ditandai dan belum disimpan di Version Control System, dengan kata lain hanya filenya saja yang diubah tetapi belum terecord perubahannya.
  2. Staged adalah kondisi dimana revisi sudah ditandai tetapi belum disimpan di Version Control System, file jenis ini akan menunggu commit untuk disimpan di Version Control.
  3. Committed adalah kondisi dimana revisi sudah disimpan di Version Control System dan menjadi Record log.
3 tahapan itu disusun secara berurutan yaitu Modified – Staged – Commit. Ketiga kondisi tersebut dipentukan untuk membagi revisi disetiap perubahannya jadi jika kita nanti akan menambah atau merubah revisi tersebut kita tidak kesulitan. Selain itu, jika kita bekerja dalam kolaborasi anggota yang besar kita dapat memilih fitur mana yang dicommit dan fitur mana yang dihapus.

Di dalam Git akan terdapat berbagai macam fitur yang dapat digunakan untuk mencatat revisi-revisi dalam mengerjakan project. Hal ini sangat membantu programer dalam berkolaborasi dengan programer yang lain.

Bagaimana saya memulai Git?


Kali ini saya tidak sempat untuk membahas bagaimana command dan cara kerja dit secara mendetail. Tetapi, Anda dapat belajar mengenai git lebih jauh melalui CodeSaya untuk Bahasa Indonesia dan Try Git untuk Bahasa Inggris.

Berikut contoh syntax yang digunakan dalam Git bash :
$ git init
$ git add *.c
$ git add README
$ git commit -m 'initial project version'
$ git push origin master

Berkenalan dengan Github


Image result for github


Github merupakan salah satu penyimpanan Repository yang sangat terkenal dikalangan programer dunia. Dikarenakan service yang ditawarkan oleh github adalah Free Service alias Gratis. Adapun untuk perusahaan yang memerlukan space yang sangat besar untuk projectnya dapat menyewa hosting repository di github.

Cara mendaftar di Github pun cukup mudah. Anda tinggal mendaftar di Github dan memulai menggunakan semua service yang ada di Github. Untuk tutorialnya juga tersedia di CodeSaya untuk Bahasa Indonesia dan Try Git untuk Bahasa Inggris.

Sekian penjelasan saya mengenai VCS Git dan Github semoga bermanfaat untuk para Programer dalam develop project.

Salam KhoMyPi

Read More

Jumat, 14 April 2017

Arkademy IoT Challenge Vol. 1

Rangkaian ini saya buat menggunakan fitur simulasi dari Circuits.io.

Rangkaian Mati :



Rangkaian Hidup :



Rangkaian menggunakan Arduino Nano :


Untuk Penjelasan Cara Kerjanya ada di Cara Kerja Rangkaian LED.

Read More

Internet of Things : Cara Kerja Rangkaian LED

Internet of Things atau biasa disebut IoT adalah sebuah konsep pengembangan dari Elektronika dan Informatika. IoT sendiri dapat diartikan mengkoneksikan semua perangkat atau barang dengan internet, sehingga kita dapat mengendalikan atau memanage perangkat tersebut melalui media internet.

IoT sekarang sudah banyak dikembangkan di luar negeri maupun di Indonesia. Dengan adanya IoT pekerjaan manusia akan menjadi lebih mudah dan lebih efektif. Contoh penerapan dari IoT adalah Mengendalikan LED Melalui Internet.

IoT Penggabungan 2 Teknologi yaitu Elektronika, dimana kita merangkai berbagai Hardware, Board, Modul dan Sumber Daya. Serta, Informatika, dimana kita akan memprogram perangkat tersebut sesuai dengan yang kita inginkan.

Pada kali ini saya akan menjelaskan tentang Rangkaian yang digunakan untuk membuat IoT LED tersebut :

Konsep Rangkaian LED Sederhana


LED dapat menyala apabila ada daya yang melewatinya, daya tersebut biasanya bersumber dari baterai ataupun power supply. Daya yang mengalir adalah daya DC karena daya AC akan merusak LED karena Voltase yang terlalu besar.

Maka dari itu saya akan mencontohkan bagaimana bentuk Rangkaian LED. saya menggunakan fitur yang ada di Circuit.io yang dapat menggambarkan bagaimana rangkaian bekerja secara virtual dan dapat menggunakan board yang terprogram.

Selain itu kamu juga bisa menggunakan sebuah aplikasi sirkuit yaitu Fritzing.
Bahan-bahan yang digunakan sebagai berikut :

1. LED

LED atau Light Emiting Diode merupakan jenis lampu kecil yang sering kita temukan di kehidupan sehari-hari. Mulai dari layar Monitor, Lampu Kendaraan, Lampu Smartphone, dan Lampu Aksesoris lainya. LED mempunyai 2 kaki yaitu sebagai Anoda (Positif) dan Katoda (Negatif).

2. Breadboard

Breadboard adalah sebuah board putih yang berlubang dan dapat menyalurkan daya listrik antar lubang dengan aturan sebagai berikut


Alat ini digunakan unuk mempermudah memahami bagaimana sirkuit tersebut bekerja dan membuat rangkaian menjadi lebih rapi.

3. Resistor

Resistor merupakan komponen elektronik yang didesain untuk mengatur tegangan listrik dan arus listrik, dengan resistansi tertentu. Dengan begitu akan menjaga daya agar LED dan Board dapat bertahan lama (tidak mudah rusak karena arus/daya terlalu besar).

4. Daya Listrik

Yaitu sumber daya yang digunakan untuk menghidupkan LED. Biasanya berupa Baterai atau Power Supply.

Berikut Rangkaiannya :


Kerjanya : Arus listrik akan mengalir dari sisi positif dari baterai dan mengalir ke rangkaian melalui breadboard. Listrik tersebut akan melewati LED dan menyalakan LED. Lalu, listrik akan kembali menuju ke baterai melewati sisi katoda LED dan melewati resistor untuk diredam. Proses ini akan terus berjalan selagi semua komponen terpasang dengan benar.

Konsep Rangkaian LED dengan Board Arduino Nano


Setelah kita belajar tentang rangkaian LED sederhana saya akan mencontohkan bagaimana jika rangkaian tersebut berada pada sebuah Board Microcontroller. Kali ini saya akan menggunakan board Arduino Nano. Board ini memiliki beberapa Pin untuk control GPIO, VCC, Ground dan masih banyak lagi.

Bahan yang dibutuhkan sama seperti Rangkaian LED sederhana, namun ditambah board Arduino Nano sebagai controllernya. Disini fungsi dari Resistor akan sangat penting karena mencegah adanya arus listrik yang tinggi yang dapat merusak Board Arduino Nano.

Berikut adalah Rangkaiannya :


Kita menggunakan supply dari Arduino Nano untuk listriknya, dengan menyambungkannya di pin controller (GPIO) untuk dikontrol nantinya atau sekedar mengambil daya melalui pin VCC dan pin ini tersambung di kaki anoda (positif) pada LED. Setelah itu pada kaki katoda LED akan disambungkan ke pin Ground (GND) pada Arduino Nano yang digunakan untuk sisi negatif.

Kerjanya : Setelah semuanya terpasang sesuai contoh, listrik akan mengalir dari board menuju ke LED dan menyalakan LED lalu kembali ke board melalui pin Ground. Sebenarnya sama seperti rangkaian sebelumnya, namun berbeda sumber listrik dan sedikit mngubah rangkaian.

Sekian dari saya mengenai Cara Kerja Rangkaian LED. Untuk gambar jelasnya bisa melihat link berikut Arkademy IoT Challenge Vol. 1

Read More