Tampilkan postingan dengan label Go Language. Tampilkan semua postingan
Tampilkan postingan dengan label Go Language. Tampilkan semua postingan
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
Selasa, 28 Oktober 2014
Link video Go Lang
Alhamdulilah, selesai juga. Berikut ini merupakan link video yang menerangkan mengenai aplikasi dengan menggunakan Go Lang. Eka Surya Gumilang, Mahasiswa TKJMD Batch 9 ITB-SEAMOLEC :
http://youtu.be/69RRcbRE6yo array
http://youtu.be/_R9LoTFc0YI forswitch
http://youtu.be/nbfJu0i6V4Q fungsi.go
http://youtu.be/XxEUOPqrCV8 if.go
http://youtu.be/8E4gGgWDWss import.go
http://youtu.be/h9hcSFu6Qeg interface.go
http://youtu.be/FtQpxdjGKB8 map.go
http://youtu.be/IOPeRf9ZA3M operator.go
http://youtu.be/9cvvJqWnJOA package.go
http://youtu.be/fSxb-yhe-Zs slice.go
http://youtu.be/x2Nh2ylDRS4 struct.go
http://youtu.be/NX2AM6uleNI var.go
http://youtu.be/69RRcbRE6yo array
http://youtu.be/_R9LoTFc0YI forswitch
http://youtu.be/nbfJu0i6V4Q fungsi.go
http://youtu.be/XxEUOPqrCV8 if.go
http://youtu.be/8E4gGgWDWss import.go
http://youtu.be/h9hcSFu6Qeg interface.go
http://youtu.be/FtQpxdjGKB8 map.go
http://youtu.be/IOPeRf9ZA3M operator.go
http://youtu.be/9cvvJqWnJOA package.go
http://youtu.be/fSxb-yhe-Zs slice.go
http://youtu.be/x2Nh2ylDRS4 struct.go
http://youtu.be/NX2AM6uleNI var.go
Senin, 27 Oktober 2014
Proposal Tugas Akhir : TKJMD WEB PROFILE
PROPOSAL TUGAS
AKHIR
PEMBELAJARAN
BAHASA PEMROGRAMAN GO
“ TKJMD WEB
PROFILE “
kelompok
Eka Surya
Gumilang
M. Aryo
Wicaksono
M. Sufi
program alih jengang D3 ke D4
jurusan TKJMD
kerjasama ITB dan SEAMOLEC
2014s
1.
LATAR BELAKANG
Teknologi informasi
saat ini semakin berkembang khususnya
Internet merupakan teknologi
yang memiliki cakupan sangat luas. Sebelum teknologi
berkembang, dahulu untuk mendapatkan
informasi tentang pendidikan atau instansi pendidikan hanya mengandalkan
informasi dari surat kabar dan bertanya kepada instansi terkait dengan proses
lama dan tidak up-to-date. Salah satunya informasi program pendidikan alih
jengang D3 ke D4 jurusan Teknik Komputer Jaringan dan Media Digital (TKJMD)
kerjasamaInstitut Teknologi Bandung (ITB) dan SEAMOLEC masih sulit didapatkan,
selama 9 tahun program pendidikan ini berlangsung masyarakat hanya mendapatkan
informasi tersebut berupa poster yang berisikan informasi pendaftaran
saja. Namun untuk informasi tentang pendidikannya masih kurang, mereka lebih
banyak mencari informasi tersebut dengan bertanya langsung kepada instansi
terkait dam para mahasiswa dan alumni lulusan alih jengang D3 ke D4 jurusan
TKJMD kerjasama ITB dan SEAMOLEC.
Untuk memanfatkan
teknologi informasi khususnya internet, pada angkatan ke delapan program alih
jengang D3 ke D4 jurusan TKJMD kerjasama ITB dan SEAMOLEC website khusus angakatan 8 baru dibuat yang berisikan informasi tentang profil instansi, kegiatan mahasiswa, dan data
mahasiswa. Tahun 2014 ini untuk angkatan ke sembilan juga akan membuat website
yang sama yaitu khusus angkatan sembilan saja. Jadi setiap angkatan akan ada
website baru yang dibuat khusus setiap angkatan, hal tersebut tidak efisien, dan menyulitkan
masyarakat.Agar informasi tersebut dapat efisien maka harus ada satu sistem
informasi mengelola informasi tersebut dengan terpadu.
Oleh karena untuk menunjang keperluan tersebutitu
kami mengajukan proposal Tugas Akhir
pembelajaran Pemrograman Bahasa GO untuk membangun sistem informasi program alih jengang D3 ke D4 jurusan TKJMD
kerjasama ITB dan SEAMOLEC
berbasis
WEB menggunakan HTML5 dan program menggunakan bahasa pemrograman GO. Web
tersebut berisikan informasi tentang profil instansi terkait, agenda kegiatan
mahasiswa seluruh angkatan, materi pembelajaran, data mahasiswa aktif dan data
alumni mahasiswa.
2.
PERUMUSAN MASALAH
Perumusan masalah yang akan menjadi acuan dalam penyelesaikan tugas akhir
yaitu:
1.
Bagaimana membangaun sistem informasi program alih jengang D3 ke D4 jurusan TKJMD
kerjasama ITB dan SEAMOLEC
berbasis
WEB ?
2.
Apakah sistem informasi program alih jengang D3 ke D4 jurusan TKJMD
kerjasama ITB dan SEAMOLEC
berbasis
WEB dapat memudahkan masyarakat untuk mendapatkan
informasi?.
3.
TUJUAN
Tujuan dari penyelesaikan tugas akhir ini yaitu:
1.
dapat membangun istem informasi program alih jengang D3 ke D4 jurusan TKJMD
kerjasama ITB dan SEAMOLEC
berbasis
WEB.
2.
Mengetahui sistem informasi program alih jengang D3 ke D4 jurusan TKJMD
kerjasama ITB dan SEAMOLEC
berbasis
WEB dapat memudahkan masyarakat untuk mendapatkan
informasi.
Batasan masalah dari
tugas akhir ini yaitu:
1.
Informasi hanya tentang program alih
jengang D3 ke D4 jurusan TKJMD kerjasama ITB dan SEAMOLEC,
2.
Sistem informasi program alih jengang D3 ke D4 jurusan TKJMD kerjasama
ITB dan SEAMOLEC menggunakan HTML 5.
5.
TAMPILAN WEB
Gambar tampilan web
6.
DESKRIPSI SISTEM
Dalam sistem
informasi program alih jengang D3 ke D4 jurusan TKJMD kerjasama ITB dan
SEAMOLEC memiliki berapa submenu dan informasi masing masing yaitu:
1.
Beranda
Pada menu beranda memberikan seluruh informasi yang ada di sistem informasi program alih jengang D3 ke D4 jurusan TKJMD
kerjasama ITB dan SEAMOLEC.
2.
Profil
Pada menu profil memberikan informasi instansi, struktur oraganisai,
prestasi, dan kontak instansi.
3.
Agenda kegiatan
mahasiswa
Pada menu agenda kegiatan mahasiswa memberikan informasi seluruh
kegiatan mahasiswa berupa cerita, galeri foto dan testimony para mahasiswa..
4.
Materi pembelajaran
Pada menu materi pembelajaran memberikan informasi materi pembelajaran
yang diterapkan dalamprogram alih
jengang D3 ke D4 jurusan TKJMD kerjasama ITB dan SEAMOLEC.
5.
Data mahasiswa
Pada menu data mahasiswa memberikan informasi data mahasiswa aktif dan
alumni mahasiswa program alih jengang D3 ke D4 jurusan TKJMD kerjasama ITB dan
SEAMOLEC berupa data diri dan alamat blog masing masing.
7.
DATAR REFERENSI
1.
http://sea8.com/
2.
http://hasanwijaya766hi.blogspot.com/2013/10/proposal-sistem-informasi-manajemen.html



























