Selasa, 03 September 2019

Mengenal Git Dan Peran Pentingnya Bagi Programmer



Git merupakan salah satu tool yang sering digunakan dalam proyek pengembangan software. Bahkan Git menjadi tool yang wajib di pahami oleh programmer, karena banyak digunakan dimana- mana. Git sendiri adalah salah satu sistem pengontrol versi (Version Control System) pada proyek perangkat lunak yang diciptakan oleh Linus Torvalds. Git juga dikenal dengan distributed revision control (VCS terdistribusi), yaitu penyimpanan database Git tidak hanya berada dalam satu tempat saja. 



Semua orang yang terlibat dalam pengkodean akan menyimpan database Git, sehingga akan memudahkan dalam mengelola proyek baik online maupun offline. Di dalam Git terdapat merge untuk menyebut aktifitas penggabungan kode. Sedangkan pada VCS (Version Control System) yang terpusat , database disimpan dalam satu tempat dan setiap perubahan disimpan disana.


VCS terpusat memiliki beberapa kekurangan, diantaranya :

  1. Semua tim harus terkoneksi ke jaringan untuk mengakses source code
  2. Database hanya tersimpan di satu tempat
Karena hal itu, Git ada untuk menutupi kekurangan yang dimiliki oleh VCS terpusat.

Lalu apa sebenarnya yang dilakukan oleh Git ?
Git akan memantau semua perubahan yang terjadi pada file proyek, lalu menyimpannya ke dalam database.
Berikut perbandingan sebelum dan sesudah menggunakan Git.

  • Sebelum menggunakan Git

  • Sesudah meggunakan Git

Lalu apa perbedaanya ?

Ketika kita ingin menyimpan semua perubahan pada file, biasanya kita akan membuat file baru dengan "save as" dan file akan menumpuk dalam direktori proyek. Tapi setelah menggunakan Git, hanya akan ada satu file dalam proyek dan perubahannya disimpan dalam database. Git hanya akan menyimpan delta perubahannya saja, Git tidak akan menyimpan seluruh isi file yang akan banyak memakan memori. Git memungkinkan kita untuk kembali ke versi revisi yang kita inginkan.


Jadi mengapa git penting bagi programmer ?

Git selain untuk mengontrol versi, git juga digunakan untuk kolaborasi. Saat ini Git menjadi salah satu tool terpopuler yang digunakan pada pengembangan software open source maupun close source.
Perusahaan besar yang menggunakan Git diantanya adalah Google, Microsoft, Facebook, dan banyak lagi. 

Berikut ini adalah manfaat menggunakan Git :

  1. Dapat menyimpan seluruh versi source code
  2. Dapat memahami cara kolaborasi dalam proyek
  3. Ikut berkontribusi ke proyek open source
  4. Lebih aman digunakan untuk kolaborasi, karena kita dapat mengetahui apa yang diubah dan siapa yang merubahnya
  5. Bisa memahami cara deploy aplikasi modern
  6. Bisa membuat blog dengan SSG
  7. dan masih banyak lagi

Senin, 26 Agustus 2019

Mengenal Chatbot serta Penggunaannya dalam Aplikasi untuk Bisnis




Chatbot merupakan layanan obrolan yang digunakan untuk membalas dalam proses chatting, yang membalas adalah robot atau tokoh virtual. Dengan chatbot, maka robot didalamnya diberikan kecerdasan buatan yang memiliki kemampuan untuk menirukan percakapan manusia seperti layaknya chatting atau mengobrol dengan manusia.

Dengan adanya kemampuan AI pada chatbot membuatnya bisa menilai jawaban yang paling tepat untuk pertanyaan yang dilontarkan. Cara chatbot mendapatkan jawaban terbaik adalah melalui keyword. Dengan sistem pengoperasian yang ditanamkan, chatbot bisa melihat keyword yang diberikan dan bisa melihat mana jawaban yang paling dengan dengan keyword tersebut, sehingga setiap pertanyaan yang diberikan bisa dijawab dalam waktu singkat.

Terdapat beberapa teknologi yang digunakan oleh chatbot agar menghasilkan aplikasi yang tepat dalam memberikan informasi, diantaranya adalah Machine Learning, Deep Learning, dan Natural Language Processing (NLP). Dengan Menggunakan Teknlogi NLP, chatbot bisa memiliki kemampuan untuk mengerti dan memahami bahasa yang digunakan dalam pertanyaan dan memberikan respon dengan bahasa yang sama.

Kelebihan Menggunakan Chatbot untuk bisnis :

  1. Lebih cepat dalam berinteraksi dengan konsumen, ketika konsumen menanyakan sesuatu hal melalui website, maka chatbot dapat menjawab pertanyaan dengan cepat tanpa bertele-tele.
  2. Kemudahan untuk bisnis, dengan adanya chatbot urusan customer service menjadi lebih mudah karena tidak lagi berurusan dengan manusia juga guna meminimalisir kesalahan.
  3. 24 jam, teknologi chatbot tidak pernah tidur layaknya manusia sehingga kapan dan jam berapapun ada pertanyaan, maka bisa segera dijawab.
Kekurangan Menggunakan Chatbot :
  1. Mematikan peran seorang customer service, peran seorang customer service biasanya dikerjakan oleh manusia, namun perlahan dengan adanya teknologi makan kini diisi oleh robot. tentu ini merugikan pihak yang bekerja di bagian customer service karena kehilangan lapangan pekerjaan.
  2. Tidak bisa menjawab seluruh keluhan, di dalam berbisnis, pasti ada saja masalah yang menimpa konsumen dan meminta pertanggung jawaban. Ketika menggunakan chatbot, bisa saja tidak dapat menjawab keluhan yang diinginkan oleh konsumen sehingga tidak memberikan rasa puas dan malah menambah masalah baru. 

Chatbot pasti akan semakin banyak digunakan agar memberikan kemudahan dan menekan cost bisnis karena diganti robot. Namun Chabot selain memiliki kelebihan, juga memiliki kekurangan. Apakah sudah percaya dengan kemampuan robot yang dilengkapi AI atau masih ingin menggunakan tenaga manusia ? 






Selasa, 20 Agustus 2019

Mengenal Framework Laravel Dan Berbagai Fitur-fitur Nya





Framework PHP.Framwork merupakan alat untuk mempermudah kita dalam membuat program. Dalam suatu framework sudah disediakan berbagai fungsi-fungsi yang sering dipakai seperti Form, Validation, Request/Response, Localization, dll.
Laravel sendiri adalah framework PHP MVC yang dikembangkan oleh Taylor Otwell pada tahun 2011. Banyak sekali fitur-fitur yang sangat membantu dalam framework laravel. Slogan dari laravel adalah " PHP THAT DOESN'T HURT.CODE HAPPY & ENJOY THE FRESH AIR". Para developer laravel percaya bahwa proses pengembangan suatu program harus menjadi hal yang menyenangkan.

Berikut ini adalah berbagai fitur-fitur dari Laravel

  1. RESTful Routing
    adalah cara baru dalam mengelola request, yang intinya berbicara tentang website dengan method-method standar REST seperti GET, POST, PUT, PATCH, DELETE, STORE, dll.
    Laravel merupakan framework yang cukup unik, kalau biasanya kita hanya perlu membuat controller dan berisi method tertentu seperti "UserController dengan method showUser" lalu mengaksesnya di www.situs.com/user, di laravel harus melakukan sesuatu yang berbeda untuk dapat mengakses url tersebut, yaitu dengan menambahkan

    Route : :get( '/user ', array ( 'uses' => 'showUser@usercontroller' )) ;

    Pada file routes.php. Maksudnya adalah Request dengan method "GET" dan url user akan diarahkan pada UserController method showUser. Keuntungannya adalah dengan adanya file routes.php maka akan mengetahui apa saja url dan fitur yang ada pada website dan controllernya tentu akan mempermudah dalam proses pengembangan dan perbaikan error.
  2. Composer Powered
    sebagai programmer terutama PHP banyak mengulangi pekerjaan yang tidak perlu dilakukan lagi atau "reinvent the wheel", semisal ketika membuat library untuk memvalidasi data, padahal hanya tinggal download dan pakai. Dengan adanya composer pekerjaan akan sangat terbantu.
    Composer adalah Depedency Management PHP yang membantu untuk mencari library yang ingin dipakai dan menginstalnya , semua library dari composer bisa kita dapatkan di packagist.org dan laravel juga kita install melalui Composer.

    Kasus yang biasa ditemui yaitu
    a. Menemukan library yang disukai tetapi ada framework lain
    b. Menemukan library yang sesuai tapi repot untuk menginstallnya setiap ingin memulai project baru

    Dengan composer, hanya perlu membuat sebuah file yang bernama composer.json yang berisi library yang diperlukan. Contohnya memerlukan library Carbon untuk memanipulasi tanggal, hanya perlu mengetikkan :

    {
    "require" : {
    "brinanesbit/carbon" : "~1.6"
    }
    }
    lalu kemudian

    curl -s http : // getcomposer.org/installer | php
    php composer.phar install
    lalu yang terakhir include vendor/autoload pada awal file index.php

    require 'vendor/autoload.php' ;

    library carbon sudah dapat digunakan
  3.  Command Line Tools (Artisan)
    Laravel telah dibekali dengan command line tools bernama " artisan", lalu apa saja yang bisa dilakukan oleh artisan ?

    1. Database Migration
    2. Merubah status aplikasi menjadi down dan up
    3. serve aplication (tanpa perlu menaruhnya di htdoc)
    4. Tail (melihat log server secara realtime)
    5. Database seeding (memasukkan data awal ke database), dll
  4. Test Driven Development Ready
    merupakan cara baru dalam pengembangan software, dimana menulis test code terlebih dahulu sebelum menulis code yang sebenarnya. Untuk Laravel sendiri memakai PHPUnit sebagai test frameworknya.
  5. Elegant Code
    Laravel dibangun menggunakan design pattern facade, yang berarti tidak perlu berurusan dengan API dari library-library yang rumit, hanya perlu mengaksesnya dengan cara yang sangat mudah tanpa harus meload class tersebut dan menginstansiasi class tersebut. misal :

    session: :set ('nama' , 'David');
    Route: : get('/user' , 'uses' => 'index@UserController' );
    Form :: text ( 'nama' );

    kita tidak perlu menginstansiasi class dan mengincludenya seperti :

    $sess = new Session();
    dll
  6. Beautiful Templating Engine
    Templating Engine merupakan program yang memparse syntax template engine tersebut ke HTML. Laravel memiliki templating engine yang powerful bernama blade. Dalam pembuatan program di laravel, bisa memilih untuk menggunakan pure PHP atau templating engine hanya dengan penamaan filenya. Untuk menggunakan blade penamaan file viewnya menjadi namafile.blade.php . Berikut ini adalah contoh perbedaan antara PHP biasa dan Blade.

    Di PHP Biasa
    Nama anda <? php echo $nama ; ?>

    Di Blade
    Nama anda {{ $nama }}
  7. Eloquent ORM
    Object Relational Model / ORM Laravel bernama Eloquent ini memiliki beberapa kelebihan dari ORM lainnya.
  8. Fitur-Fitur WOW
    1. Queque
    2. SSH
    3. Authentication
    4. Pagination
    5. Session
    6. Redis Support
    7. Schema Builder
    8. Mail
    9. Validator
    10. Session

Mengenal Apa Itu REST API Beserta Kelebihan Dan Kekurangannya




REST atau kependekan dari REpresentational State Transfer adalah standar arsitektur berbasis web yang menggunakan protokol HTTP untuk berkomunikasi data. REST diperkenalkan oleh Roy Fielding pada tahun 2000. Sedangkan API atau Application Protocol Interface adalah kumpulan dari subroutine definitions, protocol dan juga tools untuk berkomunikasi data antar aplikasi software. Jadi, REST adalah salah satu dari desain arsitektur didalam API.  

Cara kerja RESTful API adalah REST client akan mengakses data/resource ke REST server, dimana masing-masing resource atau data tersebut dibedakan oleh sebuah global ID atau URIs (Universal Resource Identifier). Jadi data yang diberikan oleh REST server itu bisa berupa format text, JSON atau XML, yang paling populer dipakai saat ini adalah format JSON.

Berikut ini adalah metode HTTP yang umumnya dipakai dalam REST API

  • GET, digunakan untuk membaca resource dari REST server
  • POST, digunakan untuk membuat resource baru di REST server
  • DELETE, digunakan  untuk menghapus resource dari REST server
  • PUT, digunakan untuk memperbaharui resource di REST server
  • OPTIONS, digunakan untuk mendapatkan operasi yang disupport pada resource dari REST server
REST merupakan salah satu implementasi dari web service sebagai sebuah standar yang digunakan untuk pertukaran data antar aplikasi atau sistem. Biasanya aplikasi atau sistem ini menggunakan bahasa pemrograman yang berbeda sehingga untuk bisa berkomunikasi satu sama lain bisa menggunakan web service ini.

CARA KERJA REST API
  1. Harus ada sebuah REST server yang menyediakan resource/data. 
  2. Sebuah REST client akan membuat HTTP request ke server melalui sebuah global ID atau URIs dan 
  3. Server akan merespon dengan mengirimkan balik sebuah HTTP response sesuai yang diminati client.
Berikut ini beberapa komponen HTTP request 
  • HTTP method seperti GET, POST, PUT, DELETE dll sesuai dengan tugasnya masing-masing
  • URI untuk mengetahui lokasi data di server
  • HTTP version, seperti HTTP V1.1
  • Request Header, berisi metadata seperti Authorization, tipe client dll
  • Request Body, data yang diberikan client ke server seperti URI params
Berikut ini beberapa komponen dari HTTP response 
  • Response Code, status server terhadap request yang diminta seperti 200, 401, 404, dan sebagainya
  • HTTP Version
  • Response Header yang berisi metadata seperti contect type, cache tag dan yang lainnya
  • Response Body, data/resource yang diberikan oleh server baik itu berupa text, Json maupun xml.
Lalu apa saja kelebihan dan kelemahan dalam menggunakan REST ?

Kelebihan REST
  1. Bisa digunakan oleh banyak bahasa pemrograman dan banyak platform
  2. lebih simpel dibandingkan dengan SOAP
  3. mudah dipelajari
  4. seperti web yaitu menggunakan HTTP, dan HTTP dimana-mana ada
Kekurangan menggunakan REST
  1. Waktu akses yang biasanya lebih lama dibandingkan dengan native library
  2. lebih rentan dengan serangan keamanan karena melewati protocol HTTP

Jumat, 16 Agustus 2019

Mengenal Node JS dan Beberapa Keunggulan nya



Node JS pertama kali di ciptakan dan diperkenalkan oleh Ryan Dahl pada tahun 2009. Ryan Dahl adalah seorang pengembang dari joyent yang merupakan sebuah perusahaan perangkat lunak dan infrastruktur cloud

Node JS adalah perangkat lunak yang kerap digunakan untuk mengembangkan aplikasi berbasis web yang ditulis dengan sintak bahasa pemrograman javascript. Perbedaan antara Node JS dan javascript sendiri dapat dilihat dari fungsinya.

Javascript adalah bahasa pemrograman yang berguna pada sisi pengguna (browser), sedangkan Node JS sebagai pelengkap Javascript agar dapat berfungsi pada sisi server. Node JS dapat berfungsi di berbagai sitem operasi, diantarnya Windows, Mac OS, dan Linux.

Cara kerja Node JS berbeda dengan bahasa pemrograman yang lain, Jika cara kerja bahasa pemrograman lain adalah bersifat blocking maka Node JS memiliki cara kerja yang serupa dengan javascript yaitu bersifat non-blocking. Node JS berjalan dengan basis event-driven.

Berikut ini adalah beberapa kelebihan menggunakan Node.JS

  1. Node JS menggunakan bahasa pemrograman yang cukup populer yakni javascript
  2. Node JS sangat diandalkan untuk mengembangkan aplikasi yang real-time
  3. Dapat menangani ribuan koneksi secara bersamaan dengan pengunaan resource minimum untuk setiap prosesnya
  4. Node JS bersifat open source
  5. Meminimalisir kesalahan antara pemrograman disisi client dan server karena menggunakan bahasa pemrograman yang sama yakni javascript.

Rabu, 14 Agustus 2019

Mengenal Pemrograman PHP dan CSS Dalam Mengembangkan Aplikasi Berbasis Website




PHP berasal dari kata Hypertext Preprocessor merupakan bahasa pemrograman yang sering disisipkan pada HTML. PHP pertama kali dibuat pada tahun 1995 oleh Rasmus Lerdof. PHP menggunakan sistem server-side, yaitu jenis bahasa pemrograman yang nantinya script atau program tersebut akan dijalankan atau diproses oleh server.

PHP membantu mengembangkan aplikasi berbasis web yang cukup kompleks, handal dan cepat. Tergantung dari spesifikasi bisnis, tingkat pengalaman, penggunaan hosting, dan kebutuhan aplikasi yang dibuat.
Dengan PHP pembuatan website dikembangkan dan diatur menjadi website yang dinamis. Website dapat menyesuaikan tampilan sesuai dengan perangkat yang digunakan oleh pengguna dan dapat melakukan input output dengan database.

CSS berasal dari kata Casecading Style Shett merupakan bahasa pemrograman yang digunakan untuk mengatur style di dalam website atau bisa disebut juga dengan kumpulan kode-kode untuk mengatur tampilan atau layout halaman web supaya lebih menarik. 

CSS digunakan untuk menentukan tata letak, warna, background, jenis font, ukuran, dan hampir semua hal yang berhubungan dengan tampilan website.
CSS biasanya diletakkan pada file yang terpisah, sehingga ketika ada fungsi atau skrip yang ingin menggunakan CSS tinggal memanggilnya saja.

Berikut ini beberapa istilah yang berkaitan dengan PHP dan CSS :

  1. HTML
    Merupakan singkatan dari Hyper Text markup Language, adalah bahasa markup standar yang digunakan untuk menampilkan informasi di internet.
  2. Javascript
    adalah salah satu bahasa pemrograman yang digunakan untuk mengembangkan sistem  berbasis website.
  3. MySQL
    adalah salah satu sistem manajemen basis data SQL (Structured Query Language). MySQL merupakan salah satu database pertama yang bersifat Open Source.
Jadi, itulah sedikit ulasan mengenai bahasa pemrograman PHP dan CSS. Ketika ingin mengembangkan sebuah website, maka wajib mempelajari keduanya. Karena baik PHP maupun CSS dapat diimplementasikan diberbagai bagian dari sebuah website. 

Bingung mau belajar dimana ? yuk belajar bareng disini.


Selasa, 13 Agustus 2019

React Native, Solusi Tepat Untuk Membuat Aplikasi Mobile




React Native adalah kerangka kerja aplikasi seluler open source yang dibuat oleh facebook. React Native digunakan untuk mengembangkan aplikasi untuk android, iOS, Web dan UWP dengan memungkinkan pengembang untuk menggunakan Bereaksi bersama dengan kemampuan platform asli.

Berikut ini adalah beberapa kelebihan React Native yang membuatnya tepat dipilih untuk mengembangkan aplikasi mobile.
  1. React Native digunakan di banyak perusahaan besar
    Perusahaan yang menggunakan React native diantaranya adalah Skype, Pinterest, Intagram, Tesla dan masih banyak lagi. Anda dapat melihat showcasenya di http://facebook.github.io/react-native/showcase.html.
  2. One for All, 1 kode javascript untuk iOS dan Android
    yang dimaksud dengan 1 kode javascript adalah dengan react-native cukup melakukan kode sekali dan kemudian kode tersebut nantinya akan di bridging ke Android (Java) dan iOS (obj c).
  3. Truly Native
    Kebanyakan Mobile App yang dibangun dengan javascript, menggunakan Cordova, contoh: Ionic, dan Sencha Touch. Dengan Cordova, dapat memanggil Native Api seperti contact, gps, dan sebagainya. Namun tetap saja aplikasi yang dihasilkan hanyalah sebuah WebView atau HTML biasa yang ditampilkan dengan browser WebView. Aplikasi pasti akan mengalami lagging, hp panas dan sebagainya.
    Sedangkan dengan React Native benar-benar menggunakan Native Component dan Native API. Kode javascript akan di bridging ke Native iOS maupun Android.
  4. Kode yang simpel
    Ketika anda sudah biasa dengan kode html, javascript basic, programming basic, maka sudah siap untuk melakukan kode dengan react-native. Berikut ini adalah contoh kode nya:
    import React, { Component } from 'react';
    import {View, Text, TouchableOpacity} from 'react-native';class Home extends Component {  handleClick(){
        alert('Selamat datang di React Native');
      }  render(){
        return (
          <View>
            <Text>Hello World</Text>
            <TouchableOpacity onPress={()=>this.handleClick()}>
             <Text>Click Me!</Text>
            </TouchableOpacity>
          </View>      
        );
      }}


  5. Cocok untuk startup Kenapa React Native cocok untuk startup ? React Native dibangun dengan javascript, jadi tidak perlu repot-repot membayar dan mencari beberapa programmer dengan skillset yang berbeda untuk Android maupun iOS. Jadi, pasti akan menghemat biaya startup.
  6. React Native juga bisa digunakan juga untuk membuat Web App.
  7. Live Reload Tidak membutuhkan waktu lama, cukup tekan CMD + R pada simulator dan hasil koding terbaru akan ditampilkan layaknya menggunakan web browser.

    Itulah beberapa kelebihan React Native, Ingin belajar kode React Native juga Javascript lebih mendalam ? Yuk belajar bareng disini.