Wednesday, December 3, 2014

Laporan tugas

Laporan Aktivitas Belajar
Nama Lengkap:Moch. Rahadiansyah NoorNIM/ No. Registrasi:11031416Alamat email:Thedevil.syah5@gmail.comProgram & Opsi:D1 ITB TKJ APLTahap Perkuliahan ke-:1dUSBJJ:Seamolec
Aktivitas Belajar MandiriRangkuman materi perkuliahan yang telah saya pelajari (100-400 kata):Materi 1d adalah materi tentang pengenalan komponen computer. Pengenalan disini adalah memilih salah satu komponen computer, yang saya ambil adalah motherboard. Saya menjelaskan tentang posisi komponen-komponen yang ada pada mother board beserta pemasangannya. Dari mulai pemasakan kabel power supply hingga pemasangan kabel hardisk, pada tugas yang saya buat bahwa komponen motherboard adalah komponen induk dalam sebuak computer karena semua komponen tersambung melalui matherboardKendala atau kesulitan yang telah saya atasi (termasuk cara mengatasinya) dan yang masih saya hadapi:Tidak ada kendala sama sekali
Video Dokumentasi BelajarCuplikan gambar (screenshots) dari Video Dokumentasi Belajar yang telah saya buat:Link berikut menampilkan Video Dokumentasi Belajar yang telah saya upload ke Youtube:http://www.youtube.com/watch?v=KORVtBkNXTM&client=mv-google&gl=IN&hl=id

Wednesday, November 26, 2014


Laporan Aktivitas Belajar
Nama Lengkap
:
Moch. Rahadiansyah Noor
NIM/ No. Registrasi
:
11031416
Alamat email
:
Thedevil.syah5@gmail.com
Program & Opsi
:
Aplikasi Perangkat Lunak
Tahap Perkuliahan ke-
:
1 c
USBJJ
:
Seamolec

Aktivitas Belajar Mandiri
Rangkuman materi perkuliahan yang telah saya pelajari (100-400 kata):
Materi pertama adalah character building. Rangkuman materi yang ada pada tahapperkuliahan pertama atau 1a adalah membangun karakter dan membuat sebuah rencana perhari.
a.       Menumbuhkan Kemandirian
b.      Mempererat Kebersamaan antar mahasiswa
c.       Ketelitian dalam menghadapi tugas dan pekerjaan
d.      Membentuk Karakter yang lebih matang Ilmu yang bermanfaat bagi masyarakat
Untuk pertemuan 1 b adalah pembuatan karakter menggunakan aplikasi blender. Karakter yang di buat adalah golem monyet yaitu manusia batu yang memiliki wajah seperti monyet dengan texture yang aga kasar
Kendala atau kesulitan yang telah saya atasi (termasuk cara mengatasinya) dan yang masih saya hadapi:
Kendala pertama adalah saat pembuatan karakter menggunakan aplikasi blander karena saya masih awam. Tetapi setelah megulas kembali materiyang disajikan saya akhiurnya sedikit demi sedikit paham

Video Dokumentasi Belajar
Cuplikan gambar (screenshots) dari Video Dokumentasi Belajar yang telah saya buat:

Link berikut menampilkan Video Dokumentasi Belajar yang telah saya upload ke Youtube:

Thursday, November 6, 2014

Tugas 1

1.       Carilah 5 makna (arti penting) mengikuti program D1 ITB.
a.       Menumbuhkan Kemandirian
b.      Mempererat Kebersamaan antar mahasiswa
c.       Ketelitian dalam menghadapi tugas dan pekerjaan
d.      Membentuk Karakter yang lebih matang
e.      Ilmu yang bermanfaat bagi masyarakat
2.       Buatlah penilaian 5 makna tersebut dari yang paling bermakna sampai yang paling kecil maknanya.
a.       Ilmu yang bermanfaat sangat penting karena selain menambah kemampuan diri sendiri dalam bidang ilmu serta dapat membantu masyarakat
b.      Membentuk karakter yang lebih matang adalah lebih kepada penguasaan diri dan control emosi untuk bertindak
c.       Mempererat kebersamaan penting untuk meniungkatkan rasa saling percaya pada sesame rekan mahasiswa serta pelatihan untuk nanti di dunia kerja/masyarakat
d.      Ketelitian untuk membantu konsentrasi dalam belajar
e.      Menumbuhkan kemandirian karena dalam program D1 ITB yang mengusung pendidikan berbasis e-learning maka kita harus belajar sendiri dalam pembelajaran yang diberikan
Renungkan kembali 5 makna tersebut dan selalu diperkuat setiap hari.

Tugas 2a
• Sebelum mengikuti program D1 ITB setiap peserta pasti memiliki kegiatan harian.
• Tulis kegiatan harian tersebut, sesuai yang dilakukan sehari-hari.
• Tidak perlu sama untuk setiap peserta.
• Tidak perlu merasa salah kalau berbeda dengan rekan lain.
21.00 – 04.30                      Tidur Malam
04.30 – 05.00                      bangun, sholat subuh
05.00 – 07.00                      mengerjakan pekerjaan rumah
07.00 – 09.30                      menyiapkan diri ketempat kerja
09.30 – 12.00                      kerja di PKBM
12.00 – 13.00                      Istirahat
13.00 – 17.00                      kerja kembali    
17.00 – 17.30                      Pulang kerumah
17.30 – 19.00                      rehat
19.00 – 20.30                      menonton tv
20.30 – 21.00                      browsing

Tugas 2b Tulis Kegiatan Generik Harian IDEAL
• Dari kegiatan generik harian yang ideal, buatlah rencana kegiatan generik harian IDEAl yang sesuai dengan peserta.
 – Tidak perlu sama untuk setiap peserta.
 – Tidak perlu merasa salah kalau berbeda dengan rekan lain.
– Yang terpenting, dapat mengalokasikan waktu yang cukup untuk belajar dan mampu dilakukan peserta secara konsisten setiap hari.

21.00 – 04.30                      Tidur Malam
04.30 – 05.00                      bangun, sholat subuh
05.00 – 07.00                      mengerjakan pekerjaan rumah
07.00 – 09.30                      menyiapkan diri ketempat kerja
09.30 – 12.00                      kerja di PKBM
12.00 – 13.00                      Istirahat
13.00 – 17.00                      kerja kembali    
17.00 – 17.30                      Pulang kerumah
17.30 – 19.00                      rehat
19.00 – 20.30                      Belajar
20.30 – 21.00                      browsing


  1. Rancangan cara belajar mandiri
-          Tuliskan tahap atau cara belajar yang selama ini dilakukan
-          Buatlah cara belajar mandiri berdasarkan contoh tahapan belajar yang generik (melakukan setiap tahapan secara disiplin)
-          Variasikan cara belajar sesuai pribadi masing-masing (dengan musik, di alam, diskusi dengan teman, membaca di perpustakaan Dsb), agar seluruh instrumen belajar (pendengaran, penglihatan, hati, pikiran, semuanya menjadi aktif),
-          pastikan motivasi dan rasa ingin tahu semakin besar dengan bertambahnya pengetahuan dan keterampilan.

No.
Tahap Belajar
Cara belajar
Variasi Belajar
Motivasi Belajar
1.
mempersiapkanproses dalam pembentukan kepribadian














·         Mendefenisikan sosialisasi dan pembentukan kepribadian
·         Mendeskripsikan peran nilai dan norma dalam sosialisasi







·         Menjelaskan tahapan perkembangan diri manusia.
·         Menjelaskan faktor-faktor yang berpengaruh terhadap pembentukan kepribadian.
·         Menjelaskan hubungan antara pembentukan kepribadian dengan kebudayaan.
·         Menjelaskan agen-agen yang berperan dalam sosialisasi.
·         Mendeskripsikan hubungan sosialisasi dengan kepribadian
Sosialisasi dan pembentukan kepribadian
·     Mendengarkan penjelasan tentang hakikat sosialisasi dan pembentukan kepribadian.
·     Secara individu mengamati proses sosialisasi dalam pembentukan kepribadian di lingkungan terdekat.
·     Secara individu menceritakan hasil pengamatan tentang proses sosialisasi dalam pembentukan kepribadian.
·     Mendiskusikan peran nilai dan norma dalam proses sosialisasi.


·     Secara berkelompok membuat deskripsi faktor-faktor yang mempengaruhi perkembangan kepribadian.
·     Mempresentasikan hasil diskusi tentang factor-faktor yang mempengaruhi perkembangan kepribadian.







·     Secara individu menggali informasi dari berbagai sumber belajar yang berkaitan dengan agen-agen sosialisasi dan tujuan.
·     Secara berkelompok mendiskusikan hubungan sosialisasi dengan pembentukan kepribadian

2.2.
Mendeskripsikan terjadinya perilaku menyimpang dan sikap-sikap anti sosial.
·       Mengidentifkasikan terjadinya perilaku menyimpang sebagai hasil sosialisasi  yang tidak sempurna.







·       Mengklasifikasi jenis-jenis perilaku menyimpang



·       Mengidentifikasikan sifat dan macam perilaku menyimpang.

·       Memberikan opini tentang berbagai perilaku menyimpang dalam masyarakat
Perilaku Menyimpang

·        Secara individu menggali informasi melalui data-data kepustakaan dan media massa tentang perilaku menyimpang
·        Secara individu mengamati perilaku menyimpang yang terjadi di dalam masyarakat sekitar
·        Secara individu mengungkapkan kembali hasil pengamatan yang didapat di masyarakat sekitar.


·        Secara bergantian melaporkan terjadinya perilaku menyimpang sesuai dengan hasil temuan di kliping korang/internet.


·        Secara kelompok mendiskusikan jenis-jenis perilaku menyimpang.


·        Secara berkelompok menyimpulkan solusi yang tepat untuk menanggulangi terjadinya perilaku menyimpang.
2.3.
Menerapkan aturan-aturan sosial dalam kehidupan sehari-hari.
·     Mengidentifikasi jenis-jenis lembaga pengendalian social





·     Mendeskripsikan berbagai cara pengendalian social.



·     Mendeskripsikan akibat tidak berfungsinya lembaga social.





·     Mendefinisikan aturan-aturan sosial dalam kehidupan masyarakat
Aturan-aturan sosial dalam kehidupan bermasyarakat
·        Secara klasikal menggali informasi melalui kajian yang terjadi di masyarakat tentang pengendalian sosial
·        Secara klasikal mengkomunikasikan secara lisan dan tulisan tentang jenis-jenis lembaga pengendalian sosial yang ada di masyarakat.

·        Bekerja sama antar warga belajar untuk menyimpulkan solusi yang paling tepat dalam cara pengendalian sosial yang terjadi di masyarakat


·        Secara individu  memberikan opini atau ulasan tentang akibat tidak berfungsinya lembaga pengendalian social

·        Secara klasikal melalui ulasan tentang tidak berfungsinya lembaga pengendalian sosial

·        Secara individu melalui wawancara dengan RT, RW, tentang aturan-aturan dalam kehidupan masyarakat.
·        Secara klasikal melalui ulasan tentang hasil wawancara kepada RT, RW tentang aturan-aturan sosial dalam kehidupan masyarakat.



Monday, September 22, 2014

Go adalah salah satu bahasa pemrograman baru yang dikembangkan oleh Robert Griesemer (perancang Java HotSpot), Rob Pike (pengembang Plan 9 di laboratorium Bell), Ken Thomson (pengembang bahasa pemrograman B dan perancang UTF-8). Bahasa pemrograman Goinidipelopori oleh Google yangmulai dikerjakan atau tepatnya dituliskandi papan pada tanggal 21 September 2007.
Pada awalnya desain bahasa pemrograman ini hanya dilakukan paruh waktu sambil melakukan pekerjaan lain yang tidak terkait sama sekali dengan pengembangan bahasa pemrograman ini. Pada bulan Januari 2008, Ken mulai mengerjakan sebuah compiler yang digunakan untuk mengeksplorasi berbagai ide, pekerjaan tersebut menghasilkan kode C sebagai output-nya.
Pada pertengahan tahun bahasa pemrograman ini menjadi proyek full-time dan sudah cukup untukmelakukan produksi kompilasi. Pada bulan Mei 2008, Ian Taylor sendiri membuat GCC front untuk Go menggunakan rancangan spesifikasi. Russ Cox bergabung pada akhir 2008 dan membantu memindahkan language dan libraries dari prototypemenjadirealita.Bahasa pemrograman Go menjadisebuah proyek publik open sourcepada bulan November 2009. Tentunya hal ini tidak lepas dari dukukungan berbagai komunitas yang telah memberikan kontribusi berupa ide, diskusi dan kode pada pengembangan program ini.
Go adalah bahasa pemrograman yang ekspresif, ringkas, bersih dan efisien.Saat ini perkembangan perangkat komputer sangat cepat namun tidak diimbangi dengan bahasa pemrograman, banyak programmer yang menemukan kerumitan pada Java atau C++ sehingga harus menuliskan beberapa kode lagi menggunakan Phyton atau JavaScript, disisi lain isu terhadap konsep garbage-collection dan parallel-computation yang belum didukung baik oleh beberapa bahasa pemrograman, termasuk munculnya teknologi multicore yang membuat kekhawatiran dan kebingungan sehingga para pengembang masih mengandalkan dukungan teknologi dari sistem operasi.
Banyak hal yang telah dihasilkan oleh laboratorium Bell dalam dunia teknologi informasi dan komunikasi. Di Indonesia sendiri pernah terdengar bahasa pemrograman Nusa yang dari Infokom tools-nya dinamakan Nusaptel. Namun bahasa pemrograman Nusa ini tidak begitu diminati di Indonesia. Semoga dengan kehadiran bahasa pemrograman Go ini banyak hal-hal yang dapat dipelajari dan mungkin dapat melahirkan bahasa pemrograman baru versi Indonesia yang dikompilasi menggunakan bahasa pemrograman Go.

Ada beberapa poin utama yang perlu diketahui tentang bahasa pemrograman ini yang dapat menjadi pertimbangan dalam mengembangkan aplikasi Go antara lain sebagai berikut:
·         Go
Go adalah bahasa pemrograman yang dikompilasi yang mana proseses kompilasinya lebih cepat dibandingkan C, concurrent, garbage-collected, dan termasuk tipe bahasa pemrograman statis yang dikembangkan oleh Google yang langsung berkomunikasi dengan processor (tanpa menggunakan interpreter).
·         Go di Google
Pemrograman Go dirancang oleh Google untuk membantu mengatasi masalah yang dihadapi Google dan masalah besar di Google.Singkatnya, pengembangan di Google begitu besar, hal ini membuat beberapa aplikasi menjadi lambat dan sering terjadi kejanggalan, tetapi efektif untuk digunakan saat ini.
Menurut keterangan Google bahwa salahsatu tujuan dari proyek Go salah satunya untuk menghilangkan kelambatan dan kejanggalan pengembangan perangkat lunak di Google, dan dengan demikian membuat proses lebih produktif dan terukur. Bahasa pemrograman ini dirancang oleh dan untuk pengembang aplikasi yang menulis, membaca, mengurangi celah, danmemelihara sistem perangkat lunak yang besar.
·         Concurrency
Konkurensi sangat dibutuhkan dalam lingkungan komputasi moderen yang menggunakan multicore webserver dengan multiple client. Jika komputer yang dijalankan menggunakan single processor maka program masih tetap mendukung konkurensi namun tidak secara paralel. Namun memang pada awalnya konkurensi dimaksudkan untuk menangani multi-processor dan menjalankan aplikasi secara palarel (sebagai contoh: penggunaangoroutine,threads).
·         Garbage Collection
Go mendukung garbage collection, hal ini untuk mereduksi waktu dan pekerjaan programmer dalam mengembangkan aplikasi.Programmertidak perlu melakukan pembebasan memori(free memory) ketika selesai menjalakan operasi tertentu karena hal ini sudah otomatis ditangani oleh garbage collector.Selain itu Go menyediakan pointer dalam melakukan manajemen memory dan menghilangkan pointer arithmetic untuk menghindari kebingungan pengguna.
·         Open Source
Go menjadi sebuah proyek publik open sourceunderBSD Licencepada bulan November 2009.
·         Kelebihan lain
Go mendukung bahasa UTF-8 tidak hanya terbatas pada string tetapi juga dalam penulisan kode programnya. Go menjaga efisiensi penggunaan kode program dengan melemparkan error jika variabel tidak digunakan dalam program dan dapat dikompilasi di multi-platform.Performa aplikasi di Go tentu saja dapat dipastikan lebih cepat dan penggunaan memori lebih sedikit dibandingkan dengan Java atau Scala.
Selain itu, Go digunakan sebagai backend untuk menangani Youtube, App Engine,Google Drive, Google Map, Cat-V, SoundCloud, dotCloud, Canonical, Heroku, Iron.io, SkyDB, Heka Mozilla's, Docker, NSQ realtime distributed messaging platform, CloudFlare, Gobot dan beberapa perusahaan lainnya sudah mulai mengadopsi dan mengembangkan aplikasinya menggunakan bahasa Go ini.

Setelah mengetahui sedikit penjelasan tentang kenapa Go? Maka di sini lebih ditekankan secara praktis sebenarnya Go ini dikembangkan untuk menyelesaikan apa? Berikut beberapa daftar lingkup praktis pengembangan aplikasi menggunakan Go menurut Rob Pike:
-       Web servers.
-       Web browsers.
-       Web crawlers.
-       Search indexers.
-       Databases.
-       Compilers.
-       Programming tools.
-       IDEs.
-       Bahkan tidak menutup kemungkinan digunakan untuk pengembangan Operating Systems.
Beberapa area dalam teknologi informasi di atas dapat memanfaatkan fitur yang telah ditawarkan oleh Go. Selain itu bahasa pemrograman ini dapat juga dimanfaatkan untuk information processing terutama dalam menangani hal-hal yang berkaitan dengan masalah kecepatan pemrosesan databaik yang berkala maupun realtime.
Dalam pengembangannya dimasa yang akan datang Go tidak hanya fukus pada beberapa permasalahan tertentu saja, karena perkembangan teknologi informasi yang begitu cepat inilah yang mengakibatkan lahirnya bahasa pemrograman Go. Dalam pandangan pribadi penulis, bahwa Go tidak dirancang untuk menggantikan bahasa pemrograman yang lain tetapi lebih ke arah saling mendukung dalam upaya menyediakan aplikasi yang handal, efektif dan efisienkepada pengguna(end-user).
Sebelum melanjutkan ke pokok bahasan berikutnya, sebaiknya pembaca mengkombinasikan antara kandungan buku ini dan website http://golang.org/, frequently asked questions yang telah disediakan online melalui http://golang.org/doc/faq, effective Gohttp://golang.org/doc/effective_go.html, penjelasan detail spesifikasi Go http://golang.org/ref/spec dan http://tour.golang.org untuk menjalankan aplikasi Go secara online.
Dalam perkembanganya Go telah didukung oleh berbagai pihak dan tentu saja atas asuhan dari Google sehingga pengembangannya sangat signifikan. Hingga buku ini diterbitkan, Go sudah mencapai versi 1.2 dan kemungkinan pada pertengahan tahun 2014 akan di rilis versi 1.3. Untuk membuat aplikasi di Go dibutuhkan SDK yang dapat diperoleh melalui laman http://golang.org/. Go yang merupakan bahasa kompilasi berjalan baik pada berbagai platform antara lain sebagai berikut.
Operating system
Architectures
FreeBSD 7 or later
amd64, 386, arm
Linux 2.6.23 or later with glibc
amd64, 386, arm
Mac OS X 10.6 or later
amd64, 386
Windows 2000 or later
amd64, 386

Apabila dijalankan di atas sistem operasi Windows maka pada Environment Variable secara otomatis terdapat GOROOT yang merupakan lokasi aplikasi Go terinstall biasanya di “C:\Go\”. Selanjutnya yang perlu dilakukan adalah menambahkan Environment VariableGOPATH yang nantinya akan digunakan sebagai tempat untuk menyimpan source dan binarinya yang terkait dengan kebutuhan pengembangan project, misalnya driver untukMySQLatau MongoDB, machine learning, kumpulan rumus untuk operasi matematika dan sebagainya.
Tentu saja dalam pengembangan aplikasi tidak lepas dari berbagai aplikasi yang telah tersedia di internet, yang semuanya akan disimpan pada GOPATH, aplikasi yang bersifatopen sorce biasanya menggunakan Git atau GoogleCode sebagai repository, oleh sebab itu direkomendasikan juga kepada pembaca untuk menginstall aplikasi tersebut melalui laman http://git-scm.com/downloads untuk Git, danMercurial melalui laman http://mercurial.selenic.com/. Jangan lupa untuk me-restart komputer supaya konfigurasi Environment Variable dapat terbaca.
Gambar 1. Contoh Pengambilan Go MySQL Driver di melalui github.com
Dalam membuat aplikasi menggunakan console atau terminal, maka langkah yang harus dilakukan adalah: buatlah sebuah file dengan nama misalnya“helloworld.go”yang dapat menggunakan aplikasi Notepad++ atau editor tertentu, kemudian letakkan pada folder yang telah dipersiapkan misalnya “D:\go\”, lalu tuliskan baris kode program sederhana berikut ini.
package main

import "fmt"

func main() {
      fmt.Printf("hello world!\n")
      fmt.Printf("hello sajarwo anggai!\n")
}

Setelah program selesai dituliskan lalu simpanlah program tersebut, dilanjutkan dengan membuka console atau terminal, kemudian arahkan kedirectory tempat file tersebut disimpan dan jalankan progran dengan menggunakan perintah yang telah disediakan oleh Go berikut ini:
go run helloworld.go

Jika program berjalan normal, maka seharusnya yang tampil pada layar monitor seperti gambar berikut ini.
Gambar 2. Hasil eksekusi program menggunakan console.
Dalam perkembangan dan perjalanannya, bahasa pemrograman Go banyak didukung oleh berbagai pengembang IDE dalam mempermudah programmer dalam menuliskan kode program, salah satunya adalah IDE IntelliJ IDEA yang menyediakan berbagai macam fitur. IDE ini dikembangkan oleh JetBrains yang bermarkas di Rusia. Pada pokok bahasan ini penulis memilih IDE IntelliJ IDEA untuk membuat aplikasi dengan bahasa pemrograman Go atas pertimbangan kemudahan dalam penggunaannya.
Pertama-tama yang harus dilakukan adalah menginstall aplikasi IntelliJ IDEA versi Community Edition, selain handal juga merupakan salah satu produk open source yang dapat diunduh melalui lamanhttp://www.jetbrains.com/idea/download/.Kemudian jalankan aplikasi tersebut, lalu pilih menu Plugins dan carilah Go Languageplugin dan pilih tombol Install.
Gambar 3. Tampilan Wolcome IntelliJ IDEA.
Selanjutnya untuk membuat project diperlukan langkah sebagai berikut:
·         Buka Aplikasi IntelliJ IDEA,
·         Pilih “Create New Project”,
·         Pilih Go Module,
·         Tentukan Project name : “HelloWorld”,
·         Tentukan Project location,
Gambar 4. Dialog pembuatan project baru.
·         Tentukan letak Project SDK dengan cara mengklik tombol New, kemudian tentukan dimana lokasi penyimpanan Go SDK. Pada umumnya Instalasi Go SDK terdapat padadirectory “C:\Go”, kemudian pilih Ok.
·         Selanjutnya Create source directory: “src”, kemudian pilih tombol Next.
Gambar 5. Pembuatan Source Directory.
·         Tentukan Project SDK yang akan digunakan, kemudian pilih tombol Finish.
Gambar 6. Penentuan Project SDK.
·         Pada Project HelloWorld, terdapat navigasi src, yang didalamnya otomatis terdapat satu buah file“main.go”,doubleclickfile tersebut untuk melihat kode programnya.
·         Pilih menu Run > Run (Pilih main.go) untuk menjalankan program.
Gambar 7. Tampilan Project HelloWorld dan menu Run.
·           Pada bagian bawah terdapat panel output untuk menampilkan hasil program ketika dieksekusi.
Gambar 8. Hasil program HelloWorld ketika dijalankan.
Dengan demikian dengan kemudahan yang ditawarkan oleh bahasa pemrograman Go, maka proses instalasi, konfigurasi environment variable, pembuatan aplikasi sederhana menggunakan console atau terminal, dan pembuatan aplikasi menggunakan IDE telah selesai dipelajari. Selanjutnya semuanya diserahkan kembali kepada pembaca atas segala pilihannya dalam mengeksplorasi bahasa pemrograman yang masih tergolong baru dan belum cukup popular di kalangan programmer Indonesia.
Dalam pemrograman komputer, terdapat aliran standar (standard stream) yang akan menghubungkan antara program komputer dengan lingkungan pengguna.  Standar tersebut adalah standar input, standar output dan standar error. Bahasa pemrograman Go mendefinisikan standar stream tersebut dengan menyediakan interface untuk sistem operasi low-level primitives yang terdapat pada packagesyscall dan secara tidak langsung dikemas kembali pada package os.
Umumnya standar input pada lingkungan pemrograman secara otomatis adalah keyboard. Bahasa pemrograman Go sendiri mendefinisikannya dengan nama Stdin pada packageos.
package main

import ("fmt"; "bufio"; "os"; "strings";)

func main() {
      fmt.Printf("Kitik nama Anda : ")
      scn := bufio.NewReader(os.Stdin);
      data, _ := scn.ReadString('\n');
      fmt.Printf("Selamat datang %v!", strings.TrimRight(data,"\n"))
}

Pada potongan kode di atas program membutuhkan libraryos yang tentu saja digunakan untuk mengakses standar stream, bufio yang digunakan untuk melakukan bufferingyang mana ukurannya sesuai dengan jumlah karakter yang dimasukkan oleh pengguna, dan librarystring untuk memecah(slice) string.  
Gambar 9. Hasil program Input From Keyboard ketika dijalankan.


Pada umumnya secara otomatis standar output adalah layar (screen) yang ditampilkan oleh monitor. Bahasa pemrograman Go sendiri mendefinisikannya dengan nama Stdout pada packageos. Namun Go menyediakan library tambahan yang diberi nama packagefmt.Packagefmt ini mengimplementasikan format Input/Output dengan fungsi yang mirip dengan bahasa C printfdan scanf. Format verba ini berasal dari C, namun lebih sederhana. Berikut adalah beberapa keterangan yang dapat digunakan untuk memanipulasi tampilan output.
Key
Keterangan
%v
%T
%%
%t
%b
%c
%d
%o
%x
%X
%U
%f
%E
the value in a default format.
a Go-syntax representation of the type of the value
a literal percent sign; consumes no value
the word true or false
base 2
the character represented by the corresponding Unicode code point
base 10
base 8
base 16, with lower-case letters for a-f
base 16, with upper-case letters for A-F
Unicode format: U+1234; same as "U+%04X"
decimal point but no exponent, e.g. 123.456
scientific notation, e.g. -1234.456E+78

Untuk lebih jelasnya silahkan amati dan jalankan kode program berikut ini yang menerapkan beberapa fungsi standar output.
/**
 * Created with IntelliJ IDEA.
 * User: SNA8
 * Date: 10/15/13
 * Time: 9:32 PM
 */
package main

import "fmt"

func main() {
   var i int = 21
   var j bool = true;

   fmt.Printf("%v \n", i)        // menampilakan nilai i : 21
   fmt.Printf("%T \n", i)        // menampilkan tipe data dari variabel i
   fmt.Printf("%% \n")           // menampilkan tanda %
   fmt.Printf("%t \n\n", j)      // menampilkan nilai boolean j : true

   fmt.Printf("%b \n", i)        // menampilkan nilai boolean j : true
   fmt.Printf("%c \n", '\u042F') // menampilkan unicode russia : Я (ya)
   fmt.Printf("%d \n", i)        // menampilkan nilai base 10 : 21
   fmt.Printf("%o \n", i)        // menampilkan nilai base 8  :25
   fmt.Printf("%x \n", 15)      // menampilkan nilai base 16 : f
   fmt.Printf("%X \n", 15)      // menampilkan nilai base 16 : F
   fmt.Printf("%U \n\n", 'Я')  // menampilkan unicode karakter Я : U+042F

   var k float64 = 123.456;
   fmt.Printf("%f \n", k)   // menampilkan float : 123.456000
   fmt.Printf("%E \n", k)   // menampilkan float scientific : 1.234560E+02

}

Pemanfaatan standar output ini tentu saja sangat bermanfaat bagi para pengembang dalam menampilkan informasi hasil kode programnya. Selain itu ketika pengembang melakukan eksperimen dan ingin mengetahui hasil oupur tertentu maka library ini sangat membatu kelancaran prosesnya. Tidak hanya itu saja, ketika pengembang mendapatkan kesalahan (error) salah satu jalan singkat yaitu dengan menampilkan nilai yang dihasilkan lalu menganalisa hasil tersebut.
Gambar 10. Hasil program standar output.

Go menyediakan kemudahan dalam mendefinisikan variabel baik secara eksplisit maupun implisit. Deklarasi secara eksplisit dapat dituliskan sebagai berikut.
// Contoh 1, inisialisasi variabel eksplisit
      var tv ="Test Variabel!"
      fmt.Println(tv)

      var a int = 1;
      var b float32 = 2.25;

      fmt.Println("Nilai var a : ", a)
      fmt.Println("Nilai var b : ", b)

Penulisan variabel di atas menggunakan kata kunci var diikuti dengan nama variabel, tipe data, dan pemberian nilai atau inisialisasi vaiabel itu sendiri menggunakan simbol (=). Penggunaan variabel secara explisit ini dapat dituliskan didalam fungsi maupun diluar fungsi. Sedangkan deklarasi variabel secara implisit hanya dapat dituliskan didalam fungsi yang mana Go dapat memberikan tipe data secara otomatis pada suatu variabel berdasarkan nilai (inisialisasi awal) yang diberikan kepada variabel tersebut.
// Contoh 2,inisialisasi variabel implisit
      a1 := 3;
      b1 := 1.9;

      fmt.Println("\nTipe data a1 : ", reflect.TypeOf(a1), " \t = ", a1)
      fmt.Println("Tipe data b1 : ", reflect.TypeOf(b1), " = ", b1)

Gambar 11. Deklarasi variable implisit dan eksplisit.

Pada bahasa pemrograman Go terdapat dua tipe komentar:
-       Komentar baris,komentar ini digunakan untuk satu baris program.

// tuliskan komentar di sini,

-       Komentar umum, tipe komentar ini digunakan untuk menuliskan komentar lebih dari satu baris.
/**
   tuliskan beberapa baris komentar di sini
   tuliskan beberapa baris komentar di sini
*/

Pada bahasa pemrograman Go terdapat 25 kata kunci (keywords) yang dapat dituliskan sebagai berikut:
break    
default     
func        
interface   
select


case        
defer       
go          
map         
struct


chan        
else        
goto        
package     
switch


const       
fallthrough 
if          
range       
type


continue    
for         
import      
return      
var



Pada bahasa pemrograman Go juga terdapat 47 operator dan delimiteryang tidak jauh berbeda dari beberapa bahasa pemrograman pada umumnya.
+
&
+=
&=
&&
==
!=
(
)
-
|
-=
|=
||
<=
[
]
*
^
*=
^=
<-
>=
{
}
/
<< 
/=
<<=
++
=
:=
,
;
%
>> 
%=
>>=
--
!
...
.
:

&^

&^=






Ada beberapa cara yang dapat digunakan dalam memuat berbagai macam library, baik dari luar maupun yang telah disediakan oleh bahasa pemrograman Go.
Import declaration          Local name of Sin
import   "lib/math"         math.Sin
import m "lib/math"         m.Sin
import . "lib/math"         Sin
atau dapat juga dituliskan seperti berikut ini.
import (
     "fmt"
     "io/ioutil"
)

Struktur kontrol pada bahasa pemrograman Go mirip dengan bahasa C, namun cara penulisannya yang sedikit berbeda. Tidak ada pengulangan dodan while, semuanya sudah ditangani oleh fordan switchyang lebih fleksibel. ifdan switchmenerima pernyataan inisialisasi seperti yang terdapat pada for. Selain itu break dan continue mengambil opsional label untuk mengidentifikasi dalam melakukan operasinya.

Penggunaan kondisi atau ifsangat mudah dan sederhana seperti yang terdapat pada kode program berikut ini:
package main

import "fmt"
import "os"

func main() {
      var x int = 10;
      var y int;

      if x < 20 {
            y = 20;
            fmt.Println("Nilai x =",x)
            fmt.Println("Nilai y =",y)
      }

      //Penggunaan if dengan statement
      if x = 50; x > y {
            fmt.Println("x > y")
      }

      os_name, err := os.Hostname()
      if err == nil {
            fmt.Println("\nOs Name : "+os_name)
      }
}
Perhatikan potongan kode di atas, di sana terdapat tiga contoh penggunaan kondisi  dengan parameter yang berbeda. Hal ini menunjukkan bahwa Go programming menawarkan beberapa alternatif kepada programmer dalam mengembangkan aplikasi yang singkat dan jelas, berikut adalah tampilan ketika program dijalankan.
Gambar 12. Hasil program struktur kontrol if.

Bahasa pemrograman tentu saja tidak lepas dari kondisi maupun perulangan karena hal tersebut merupakan dasar dalam menyusun program dalam menyelesaikan berbagai macam persoalan. Go dalam hal ini menyediakan tiga cara penggunaan perulangan ataufor yang mirip dengan bahasa C, seperti yang terdapat pada potongan program berikut.
// seperti penulisan for pada bahasa C
for init; condition; post { }

// seperti penulisan while pada bahasa C
for condition { }

// seperti penulisan for(;;)pada bahasa C
for { }

Dengan demikian maka hanya dengan menggunakan for saja programmer dapat menggukan berbagai macam kombinasi sekaligus, bahasa pemrograman Go mencoba mereduksi penggunaan kode sehingga lebih general, mudah dipahamidan hal juga akan menjadi pemicu para pengembang dalam mengembangkan aplikasi dengan cara yang mudah dan berbeda.Berikut adalah implementasi perulangan for dalam pemrograman Go.
package main
import "fmt"

func main() {
   for i :=0; i<5; i++ {
      fmt.Println("Nilai i = ",i)
   }

   var j int = 0;
   for  j<5 {
      fmt.Println("Nilai j = ",j)
      j++
   }

   for pos, char := range "САШАРВО" {
      fmt.Printf("character %#U starts at byte position %d\n", char, pos)
   }

   for {
      if j++; j <= (10) {
            fmt.Println("Nilai j = ",j)
      }else{
            break
      }
   }
}

Berikut adalah tampilan hasil program ketika dijalankan.
Gambar 13. Hasil program struktur kontrol for.





Penggunaana switchpada pemrograman Go lebih umum daripada bahasa C. Ekspresi yang dilewatkan tidak harus constant atau integer. Selain itu jika switch tidak mempunyai ekspresi, maka otomatis ekspresi pada switch diberi nilai true.
package main

import "fmt"

func main() {

      var karakter byte = '?'
      switch (karakter){
            case 'A' :  fmt.Println("Karakter A")
            case 'B' :  fmt.Println("Karakter B")
            case '?' :  fmt.Println("Karakter ?")
      }

      var nilai int32 = 91; // nilai silahkan diubah-ubah

      switch {
            case nilai >90 :  fmt.Println("Nilai Anda A")
            case nilai >70 :  fmt.Println("Nilai Anda B")
            case nilai >60 :  fmt.Println("Nilai Anda C")
            default :  fmt.Println("Nilai Anda D")
      }

      for i:=0; i<10;i++{
            switch {
                  case i%2 == 0 : fmt.Println("Nilai i % 2 = ",i)
                  case i%5 == 0 : fmt.Println("Nilai i % 5 = ",i)
            }
      }
}
Berikut adalah tampilan hasil program ketika dijalankan.
Gambar 14. Hasil program struktur kontrol switch.


Salah satu fitur yang unik pada bahasa pemrograman Go adalah fungsi yang dapat memberikan lebih dari satu nilai kembalian (multiple return value). Dibandingkan dengan bahasa pemrograman lain, Go adalah bahasa program yang memberikan kemudahan dalam menyediakan multiple return value karena tanpa menggunakan bantuan collection atau penggabungan data sebelum di kembalikan (return). Aturan penulisan fungsi dan method pada Go dapat dituliskan sebagai berikut:

func (<parameter>,…n) (<type return value>,…n){
      // isi dari fungsi
}

Program diawali dengan kata kunci funclalu diikuti parameter dan jenis return value yang diinginkan. Fungsi yang dijalankan pertama kali oleh Go sebagai fungsi utama adalah func main()tanpa adanya program utama ini makaprogram tidak akan dapat berjalan danhanya dapat dikompilasi sebagai library saja.Untuk lebih jelasnya, silahkan mengamati dan lakukan percobaan program berikut ini.

package main

import "fmt"

func main() {
      var nilai, err int

      // silahkan diganti dengan bilangan negatif
      nilai, err = penjumlahan(2,3)
      fmt.Println("Hasil = ", nilai)
      fmt.Println("Pesan = ", err)
}

func penjumlahan(a int, b int) (int, int){
      var err int;

      if a<0 || b<0{ // periksa bilangan negatif
            err = -1
      } else{
            err = 0
      }

      return a+b, err;
}

Pembuatan fungsi tentu saja dimaksudkan untuk menangani suatu kegiatan yang sering berulang-ulang dengan cara mengelompokkannya pada bagian tertentu. Selain itu fungsi juga digunakan untuk mempermudah programmer dalam mengembangkan kode program yang tertata rapi sesuai dengan bagian dan tugasnya masing-masing. Aplikasi yang besar atau kompleks tentu saja membutuhkan fungsi sebagai kunci utama dalam menghindari kesimpang siuran tatanan baris kode program. Apabila diperhatikan dengan saksama maka sebenarnya func di atas apabila dikombinasikan dengan kondisi if maka dapat dimanfaatkan juga untuk melakukan validasi pada kasus-kasus tertentu. Berikut hasil programnya ketika dijalankan.
Gambar 15. Hasil program penggunaan fungsi.