<commit_before># IDE Untuk Go

IDE (`Integrated Development Environment`) merupakan software yang digunakan oleh pemrogram dan pengembang software untuk membangun software. IDE berisi berbagai fasilitas komprehensif yang diperlukan para pemrogram untuk membantu mereka dalam membangun software aplikasi. Secara minimal, biasanya IDE terdiri atas editor teks (untuk mengetikkan kode sumber), debugger (pencari bugs), `syntax highlighting, code completion, serta dokumentasi / help. Bab ini akan membahas beberapa software yang bisa digunakan. Sebenarnya menggunakan editor teks yang menghasilkan file text / ASCII murni sudah cukup untuk bisa menuliskan kode sumber dan kemudian mengkompilkasi. Pada bab ini akan dibahas [Vim](http://www.vim.org) sebagai editor teks dan LiteIDE sebagai software IDE yang lebih lengkap untuk Go, tidak sekedar hanya untuk menuliskan kode sumber.

## Menggunakan Vim

Untuk menggunakan Vim, ada plugin utama serta berbagai plugin pendukung yang bisa digunakan. Sebaiknya, menggunakan `pathogen` untuk mempermudah pengelolaan berbagai plugin tersebut. Bagian ini akan menjelaskan berbagai konfigurasi serta instalasi yang diperlukan sehingga Vim bisa menjadi peranti untuk pengembangan aplikasi menggunakan Go.

## Instalasi dan Konfigurasi Pathogen

Pathogen adalah plugin dari Tim Pope yang digunakan untuk mempermudah pengelolaan plugin. Kode sumber dari Pathogen bisa diperoleh di [repository Github](https://github.com/tpope/vim-pathogen). Untuk instalasi, ikuti langkah berikut:

~~~bash
$ cd
$ mkdir .vim/autoload
$ mkdir .vim/bundle
$ cd .vim/autoload
$ wget -c  https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim
--2014-12-06 22:56:07--  https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim
Resolving raw.github.com (raw.github.com)... 172.16.31.10
Connecting to raw.github.com (raw.github.com)|172.16.31.10|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://raw.githubusercontent.com/tpope/vim-pathogen/master/autoload/pathogen.vim [following]
--2014-12-06 22:56:14--  https://raw.githubusercontent.com/tpope/vim-pathogen/master/autoload/pathogen.vim
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 172.16.31.10
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|172.16.31.10|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12139 (12K) [text/plain]
Saving to: ‘pathogen.vim’

pathogen.vim                          100%[========================================================================>]  11.85K  --.-KB/s   in 0.1s   

2014-12-06 22:56:14 (85.9 KB/s) - ‘pathogen.vim’ saved [12139/12139]
~~~

Setelah itu, untuk menggunakan Pathogen, letakkan aktivasinya di `$HOME/.vimrc` atau di `$HOME/.vim/vimrc` (saya pilih lokasi yang kedua) sebagai berikut:

~~~bash
execute pathogen#infect()
~~~

Setelah itu, semua plugin tinggal kita ambil dari repository (bisa dari github, bitbucket, dan lain-lain) langsung di-copy satu direktori ke direktori `$HOME/.vim/bundle`.

##  Instalasi dan Kofigurasi Plugin Golang dan Plugin Pendukung

Setelah selesai melakukan instalasi Pathogen, berbagai plugin yang diperlukan bisa diambil langsung dari Internet. Berikut ini adalah daftar yang digunakan penulis:

* Colorschemes: untuk tema warna dari Vim. Bisa diperoleh di https://github.com/flazz/vim-colorschemes
* Nerdtree: untuk menampilkan file-file dalam struktur pohon di sebelah kiri sehingga memudahkan navigasi. Bisa diperoleh di https://github.com/scrooloose/nerdtree
* Golang: plugin utama agar Vim mengenali kode sumber Go. Bisa diperoleh di https://github.com/jnwhiteh/vim-golang.git

Cara instalasi:

~~~bash
$ cd 
$ cd .vim/bundle
$ git clone <masing-masing lokasi plugin>
~~~

Hasil dari menjalankan ``vim'' atau ``gvim'' melalui shell untuk menulis kode sumber Go bisa dilihat pada gambar berikut ini:

![vim-go](images/vim-go.jpg)

## Autocompletion

Vim menyediakan fasilitas `autocompletion` melalui `Omniautocompletion`. Fasilitas ini sudah terinstall saat kita menginstall Vim. Untuk mengaktifkan fasilitas ini untuk keperluan Go, kita harus menginstall dan mengaktifkan [Gocode](https://github.com/nsf/gocode). Sebaiknya source code dari Gocode diambil semua karena ada script Vim yang akan kita gunakan:

~~~
$ git clone https://github.com/nsf/gocode.git
Cloning into 'gocode'...
remote: Counting objects: 2491, done.<commit_msg>sesuaikan dengan versi terbaru<commit_after># IDE Untuk Go

IDE (`Integrated Development Environment`) merupakan software yang digunakan oleh pemrogram dan pengembang software untuk membangun software. IDE berisi berbagai fasilitas komprehensif yang diperlukan para pemrogram untuk membantu mereka dalam membangun software aplikasi. Secara minimal, biasanya IDE terdiri atas editor teks (untuk mengetikkan kode sumber), debugger (pencari bugs), `syntax highlighting, code completion, serta dokumentasi / help. Bab ini akan membahas beberapa software yang bisa digunakan. Sebenarnya menggunakan editor teks yang menghasilkan file text / ASCII murni sudah cukup untuk bisa menuliskan kode sumber dan kemudian mengkompilkasi. Pada bab ini akan dibahas [Vim](http://www.vim.org) sebagai editor teks dan LiteIDE sebagai software IDE yang lebih lengkap untuk Go, tidak sekedar hanya untuk menuliskan kode sumber.

## Menggunakan Vim

Untuk menggunakan Vim, ada plugin utama serta berbagai plugin pendukung yang bisa digunakan. Sebaiknya, menggunakan `pathogen` untuk mempermudah pengelolaan berbagai plugin tersebut. Bagian ini akan menjelaskan berbagai konfigurasi serta instalasi yang diperlukan sehingga Vim bisa menjadi peranti untuk pengembangan aplikasi menggunakan Go.

## Instalasi dan Konfigurasi Pathogen

Pathogen adalah plugin dari Tim Pope yang digunakan untuk mempermudah pengelolaan plugin. Kode sumber dari Pathogen bisa diperoleh di [repository Github](https://github.com/tpope/vim-pathogen). Untuk instalasi, ikuti langkah berikut:

~~~bash
$ cd
$ mkdir .vim/autoload
$ mkdir .vim/bundle
$ cd .vim/autoload
$ wget https://raw.githubusercontent.com/tpope/vim-pathogen/master/autoload/pathogen.vim
--2016-08-15 11:16:50--  https://raw.githubusercontent.com/tpope/vim-pathogen/master/autoload/pathogen.vim
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 172.16.31.10
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|172.16.31.10|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12474 (12K) [text/plain]
Saving to: ‘pathogen.vim’

pathogen.vim                   100%[==================================================>]  12.18K  --.-KB/s    in 0.02s   

2016-08-15 11:16:56 (512 KB/s) - ‘pathogen.vim’ saved [12474/12474]

$
~~~

Setelah itu, untuk menggunakan Pathogen, letakkan aktivasinya di `$HOME/.vimrc` atau di `$HOME/.vim/vimrc` (saya pilih lokasi yang kedua) sebagai berikut:

~~~bash
execute pathogen#infect()
~~~

Setelah itu, semua plugin tinggal kita ambil dari repository (bisa dari github, bitbucket, dan lain-lain) langsung di-copy satu direktori ke direktori `$HOME/.vim/bundle`.

##  Instalasi dan Kofigurasi Plugin Golang dan Plugin Pendukung

Setelah selesai melakukan instalasi Pathogen, berbagai plugin yang diperlukan bisa diambil langsung dari Internet. Berikut ini adalah daftar yang digunakan penulis:

* [Colorschemes](https://github.com/flazz/vim-colorschemes): untuk tema warna dari Vim.
* [Nerdtree](https://github.com/scrooloose/nerdtree): untuk menampilkan file-file dalam struktur pohon di sebelah kiri sehingga memudahkan navigasi.
* [vim-go](https://github.com/fatih/vim-go.git): plugin utama agar Vim mengenali kode sumber Go.

Cara instalasi:

~~~bash
$ cd 
$ cd .vim/bundle
$ git clone <masing-masing lokasi plugin>
~~~

Hasil dari menjalankan ``vim'' atau ``gvim'' melalui shell untuk menulis kode sumber Go bisa dilihat pada gambar berikut ini:

![vim-go](images/vim-go.jpg)

## Autocompletion

Vim menyediakan fasilitas `autocompletion` melalui `Omniautocompletion`. Fasilitas ini sudah terinstall saat kita menginstall Vim. Untuk mengaktifkan fasilitas ini untuk keperluan Go, kita harus menginstall dan mengaktifkan [Gocode](https://github.com/nsf/gocode). Sebaiknya source code dari Gocode diambil semua karena ada script Vim yang akan kita gunakan:

~~~
$ git clone https://github.com/nsf/gocode.git
Cloning into 'gocode'...
remote: Counting objects: 2491, done.
{'fraction_non_alphanumeric': 0.10241465445462115, 'fraction_numerical': 0.024860235518020697, 'mean_word_length': 4.984341637010676, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 7, 'https://': 18, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 6, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '586712', 'n_tokens_mistral': 3301, 'n_tokens_neox': 2945, 'n_words': 882}