Senin, 26 Januari 2015
Pengenalan Pemrograman GO
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.
Kamis, 15 Januari 2015
Penggunaan "var" pada bahasa pemrograman GO
Go menyediakan kemudahan dalam mendefinisikan
variabel baik secara eksplisit maupun implisit. Deklarasi secara eksplisit
dapat dituliskan sebagai berikut.
Berikut ini adalah hasil
akhirnya
Anda dapat juga melihat tutorial ini dalam bentuk video, ini link nya http://youtu.be/NX2AM6uleNI
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)
Anda dapat juga melihat tutorial ini dalam bentuk video, ini link nya http://youtu.be/NX2AM6uleNI
Penggunaan Struct pada bahasa pemrograman GO
Bahasa
pemrograman Go juga menerapkan paradigma object
oriented tetapi bukanlah typeobject
oriented programming, karena bahasa pemrograman ini tidak menyediakan kata
kunci class. Go memberikan kata kunci
struct untuk membuat tipe data baru
dan interfacesebagai penjembatan.Oleh
karenanya, pengembang tentu dapat menerapkan paradigma object oriented(pemikiran berorientasi obyek) dalam pembuatan
aplikasi pada bahasa Go tetapi dengan cara yang sedikit berbeda.Inilah Go, yang
mencoba membawa imajinasi pengembang dengan cara lain dalam menghadapi dan
menyelesaikan suatumasalah.
Struct yang ada di dalam bahasa Go mirip dengan C, structdi sini lebih luas lagi cakupannya
karena tidak hanya mendukung tipe data primitive
saja tetapi juga method,tentu sajahal
ini dapat terjadi jika dikombinasikan antara struct sebagai tipereceiverpada
sebuah method. Pembuatan struct tidaklah sulit, cukup dengan
menggunakan kata kunci type <nama_struct> struct { … }. Berikut adalah contoh sederhana dalam membuat struct.
Pembuatan tipe data seperti di atas sangat bermanfaat dalam
pengelompokkan data tertentu yang merupakan kumpulan variable atau field.Hal
ini dapat membantu programmerterutama
yang sudah terbiasa membuat program dengan Java. Perlu diketahui bahwa dalam
membuat program di Go tentu saja tidak lepas dari struct ini atau dengan kata lain programmer selalu membutuhkan struct
untuk mengatur kode-kode program supaya lebih rapi dan terstruktur. Berikut
adalah tampilan hasil program latihan pembuatan struct ketika dijalankan.
Untuk melihat versi videonya, dapat mengunjungi halaman berikut ini http://youtu.be/x2Nh2ylDRS4
Contoh program "slice"
Slice
merupakan bagian dari sebuah array. Slice juga mempunyai indeks elemen dan
panjang data. Namun demikian slice
mempunyai fitur yang unik yaitu panjang datanya dapat diubah sesuai dengan
kebutuhan. Untuk membuat slice dapat
menggunakan perintah make seperti
pada potongan kode berikut ini.
koordinat_x := make([]int32, 5)
koordinat_y
:= []int32{ 1, 2, 3, 4, 5, 6 }
Contoh program seperti ini dapat dilihat pada youtube, berikut ini link nya http://youtu.be/fSxb-yhe-Zs
Penggunaan Map pada Pemrograman GO
Map
adalah sebuah collection yang
mempunyai pasangan key-value dalam
mengakses data yang terdapat di dalamnya. Map pada umumnya digunakan sebagai dictionary, menyimpan konfigurasi
tertentu maupun data atau informasi yang diperlukan dengan memberikan
indentitas yang lebih eksplisit sebagai penanda untuk mempermudah programmer untukmengolah data atau
informasi yang terkandung di dalamnya.
package
main
import
"fmt"
func main()
{
bank_soal := make(map[string]string) // map[key]value
bank_soal["s1"] = "Presiden
RI 1 adalah..."
bank_soal["s1a"] =
"Soekarno"
bank_soal["s1b"] =
"Soeharto"
bank_soal["s1c"] = "BJ
Habibie"
bank_soal["s1d"] =
"Gusdur"
bank_soal["s1e"] = "Surya"
bank_soal["s1jawaban"] =
"s1a"
delete(bank_soal,"s1e") //
menghapus elemen
fmt.Println("Length Bank Soal :",
len(bank_soal))
fmt.Println(bank_soal)
for k, v := range bank_soal {
fmt.Printf("\nKey: %v, Val:
%v", k, v)
}
if soal1, ok := bank_soal["s1"];
ok {
fmt.Println("\n\nSoal : ",
soal1, "\nStatus : ", ok)
}
soal2, ok := bank_soal["s2"]
fmt.Println("\nSoal : ", soal2,
"\nStatus : ", ok)
}
Perhatika
kode di atas dengan saksama!Disana terdapat sebuah variabelbank_soal,yang
manakey dan value-nya ditetapkan dalam bentuk string. Jika ada seratus soal yang akan dimuat ke dalam map
tersebut maka key (s1…sn)
ditetapkan untuk menyimpan soalnya, (s*a, s*b,…s*n)
untuk menyimpan pilihan jawaban, (s*jawaban)
untuk menyimpan jawaban dengan mengacu pada suatu key yang ditetapkan.
Pada kasus di atas
terdapat satu kesalahan yang seharusnya tidak ada di dalam daftaryaitu s1e, oleh sebab itu elemen tersebut dapat dihapus
dengan memanggil perintah delete(bank_soal,"s1e"), untuk mengetahui berapa banyak elemen yang
terdapat di dalam map maka dapat
menggunakan perintah len(bank_soal, sedangkan untuk memeriksa apakah terdapat key di dalam map, maka dapat langsung mengakses key yang akan diperiksa misalnya bank_soal["s1"] yang akan mengembalikan return valueganda berupa data dan status.Jika tidak ada key
yang terdapat di dalam map maka
statusnya akan bernilai false.Hasil
program pembuatan map di atas dapat dilihat pada gambar berikut.Berikut ini adalah link videonya, http://youtu.be/FtQpxdjGKB8
Penggunaan Package Pada Pemrograman GO
Dalam mengembangkan aplikasi
perangkat lunak yang efektif dan efisien tentu perlu adanya pengorganisasian
atau penyusunan kode program yang jelas dan mudah dipahami. Pada kasus ini,
bahasa pemrograman Go menyediakan fitur pengorganisasian program supaya lebih
teratur yang disebutpackage(umumnya
mirip dengan folder). Pada pokok
bahasan sebelumnya sering dijumpai baris kode programpackagefmtyang digunakan untuk menampilkan informasi. Berikut
adalah contoh penulisan kata kunci package.
//kata
kunci package_<nama package>
Paackage rumus
Di dalam package rumus dapat dibuat beberapa file
sesuai kegunaannya misalnya matematika.go,
fisika.go dan juga dapat ditambahkan sub-packagebaru. Berikut contoh file matematika.go yang berada di dalam packagerumus.
============================================================
package rumus :
func Penjumlahan(a , b int) int {
return
a + b }
func Pengurangan(a , b float32)
float32 {
return
a – b }
func Perkalian(a, b float64)
float64 {
return
a * b }
func Pembagian(a , b float32)
float32 {
return a / b }
============================================================
Pengguna dapat langsung mengakses fungsi yang telah dibuat dengan cara menuliskan nama package diikuti nama fungsi yang diinginkan. Hasilnya seperti yang terlihat pada gambar berikut ini.
Berikut ini adalah link youtubenya, supaya pembaca lebih
memahami http://youtu.be/9cvvJqWnJOA
Operator pada pemrograman GO
Pada bahasa pemrograman Go, terdapat 47 operator dan delimiter yang
tidak jauh berbeda dari beberapa bahasa pemrograman pada umumnya.
Selasa, 13 Januari 2015
Penggunaan import pada pemrograman Go
Penggunaan import pada pemrograman Go
Berikut ini adalah contoh dalam penggunaanya dalam sebuah
skrip :
===========================================================================
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.
Berikut ini adalah link videonya http://youtu.be/8E4gGgWDWss
Penggunaan for pada pemrograman GO
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.
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.
Berikut adalah tampilan hasil program ketika dijalankan.
Penggunaana switch pada 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
Berikut
adalah tampilan hasil program ketika dijalankan.
Kemudian, berikut ini adalah link untuk dapat melihat secara visualnya http://youtu.be/_R9LoTFc0YI
Penggunaan interface dalam pemrograman GO
Penggunaan
interface dalam pemrograman GO adalah sebagai berikut:
Berikut ini adalah hasil akhirnya
Kemudian, dapat juga dilihat langsung pada link berikut ini http://youtu.be/h9hcSFu6Qeg
Penggunaan If pada pemrograman GO
Penggunaan kondisi atau
if sangat mudah dan sederhana seperti yang terdapat pada kode program berikut
ini:
Berikut ini adalah hasil akhirnya
Atau bisa juga dilihat pada link berikut ini http://youtu.be/XxEUOPqrCV8
Berikut ini adalah hasil akhirnya
Atau bisa juga dilihat pada link berikut ini http://youtu.be/XxEUOPqrCV8
Penggunaan Fungsi pada pemrograman GO
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.
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.
Penggunaan Array pada pemrograman GO
Array
adalah suatu kumpulan elemen dengan tipe data yang sama dan panjang elemennya
tetap. Sebagai contoh, terdapat 5 orang siswa kelas XI SMK yang mengikuti Lomba
Kompetensi Siswa Tingkat Nasional dengan masing-masing siswa mempunyai nomor
urut: 701, 702, 703, 704 dan 705. Maka kalimat tersebut dapat dibahasakan ke
dalam bahasa program sebagai berikut.
Hasil
akhirnya adalah seperti berikut ini
Atau bisa dilihat pada link berikut ini http://youtu.be/69RRcbRE6yo
Senin, 12 Januari 2015
Hello Fest Jakarta
Pagi itu tidak begitu cerah, saya mandi pagi-pagi karena akan pergi ke acara Hello Fest, ditemani oleh teman-teman saya, bagus, gayuh, ahmad. kami terlebih dahulu berangkat menuju kampus Universitas Terbuka guna berkumpul dengan teman lainnya. Untuk mencapai ke Hello Fest-jakarta, terlebih dahulu kami harus menggunakan angkot menuju Terminal Lebak Bulus, kemudian berganti kendaraan menggunakan transjakarta.
Disertai langit mendung, kami datang ke acara Hello Fest yang diselenggarakan di halaman Stadion Gelora Bung Karno. Setelah membeli tiket masuk, kami langsung mencari partner bisnis, bingung awalnya, tetapi karena berkelompok rasa bingung maupun canggung bisa teratasi. Banyak sekali sebenarnya partner yang berhasil kami gaet, diantaranya adalah beberapa produk berikut ini : Arek (Komik), reza Miyamoto (Pedang Samurai), MyDog (Tas), The Handcrafter, Digital Art Society (Wacom), Gonzo Bandung (Merch Anime), Monkey D'Luffy (Merch Anime), Antagonis Aparel (Merch Anime), J-Shop (Mainan), SCHU By Nadina Salim (Sepatu). Tapi, akhirnya saya memutuskan mengambil produk SCHU By Nadina Salim dan Satu kelompok dengan Delfri Nando. Untuk kedepannya, akan mengembangkan adalah katalog produk berbasis android.
Berikut ini adalah dokumentasi yang berhasil saya abadikan selama acara
Mengatasi masalah Teredo Tunneling Adapter
Pada postingan kali ini saya akan membahas tentang Cara mengatasi masalah Teredo Tunneling Adapter, can not start (code 10) pada komputer kita. Komputer saya juga pernah mengalami masalah yang seperti ini, masalah ini terjadi pada network adapter, dan bisa menimbulkan tidak bisa tersambung ke internet. Saya tidak tahu ini masalah virus atau trojan atau apa,saya bingung sudah mengikuti langkah-langkah tapi masih tidak bisa. Kemudian googling dan ternyata menemukan langkah" yang manjur pada salah satu situs web,saya praktikkan dan berhasil,tidak ada masalah lagi dengan Teredo tunneling adapter pada komputer saya. Jika anda mempunyai masalah yang sama dan belum bisa mengatasinya tidak ada salahnya mencoba langkah" yang saya tunjukkan dibawah ini, langsung saja lihat langkah-langkahnya :
1. Buka Regedit (Registry Editor) pada komputer (masuk RUN terlebih dahulu), kalau tidak ada bisa pakai TuneUp Registry Editor.
2. Double click pada HKEY_LOCAL_MACHINE
3. Pilih SYSTEM lalu double clik
4. Kemudian pilih Current ControlSet lalu double click
5. Pilih sevices lalu double click
6. Lalu pilih TCPIP6 lalu double click
7. Pilih Parameters
8. Right click pada DisabledComponents lalu Modify
9. Ganti value menjadi 0
10. pilih Ok lalu restart komputer anda.
Insyaallah akan normal kembali.
1. Buka Regedit (Registry Editor) pada komputer (masuk RUN terlebih dahulu), kalau tidak ada bisa pakai TuneUp Registry Editor.
2. Double click pada HKEY_LOCAL_MACHINE
3. Pilih SYSTEM lalu double clik
4. Kemudian pilih Current ControlSet lalu double click
5. Pilih sevices lalu double click
6. Lalu pilih TCPIP6 lalu double click
7. Pilih Parameters
8. Right click pada DisabledComponents lalu Modify
9. Ganti value menjadi 0
10. pilih Ok lalu restart komputer anda.
Insyaallah akan normal kembali.