- Beranda
- Programmer Forum
[memperkenalkan] bahasa groovy
...
TS
coding.keramat
[memperkenalkan] bahasa groovy
Code:
[size=4]println [color=#a68500]''[/color][color=#a68500]'apakabar gan[/color]
[color=#a68500]selamat datang di thread bahasa groovy[/color]
[color=#a68500]ane bikin thread ini karena belum ada yang buat[/color]
[color=#a68500]semoga juragan sekalian berkenan'[/color][color=#a68500]''[/color] [color=#f27900]// multi-line string[/color]
[color=#800080][b]5[/b][/color][color=#ff0080][b].[/b][/color]times[color=#ff0080][b]{[/b][/color] [color=#f27900]// looping 5 x[/color]
println [color=#a68500]"semoga om momod ikhlas ane bikin thread ini"[/color]
println [color=#a68500]"semoga thread-nya berguna bagi juragan sekalian amin"[/color]
[color=#ff0080][b]}[/b][/color]
[/size]
Code:
[size=4]println [color=#a68500]''[/color][color=#a68500]'untuk tahu perkembangan terbaru[/color]
[color=#a68500]silakan lihat di index di komen pertamax'[/color][color=#a68500]''[/color]
[/size]
persis sama ketika ane pertama kali denger gan, Groovy itu makanan apa sih?

Judd, et al. menyatakan bahwa Groovy adalah bahasa dinamis yang relatif baru yang dapat diinterpretasikan atau dikompilasi dan dirancang khusus untuk platform Java. Telah dipengaruhi oleh bahasa seperti Ruby, Python, Perl, dan Smalltalk, serta Java itu sendiri.
Tidak seperti bahasa lain yang porting ke JVM, Groovy dirancang dengan JVM dengan seteliti mungkin, sehingga ada sedikit atau tidak ada ketidakcocokan impedansi, secara signifikan mengurangi kedalaman belajar. Pengembang Java akan merasa nyaman dengan Groovy. Sebagai contoh, Groovy bergantung pada API Java daripada memasok API sendiri, sehingga pengembang tidak perlu memutuskan antara paket IO dari Java dan metode IO dari perpustakaan bahasa lainnya. Selain itu, karena Groovy dibangun untuk JVM, ada tingkat integrasi bytecode yang ketat, membuatnya mudah untuk Java untuk mengintegrasikan dengan Groovy dan Groovy untuk mengintegrasikan dengan Java.
Groovy tidak hanya memiliki akses ke API Java yang ada; justru Groovy Development Kit (GDK) benar-benar memperluas (extend) Java API dengan menambahkan metode baru untuk kelas-kelas Java yang ada untuk membuat mereka lebih Groovy. Groovy memiliki dukungan untuk banyak fitur pemrograman modern yang membuat bahasa lain begitu produktif, seperti closure dan properties. Groovy juga telah terbukti platform yang bagus untuk konsep-konsep seperti metaprogramming dan bahasa spesifik domain (Domain spesific language).
Pada Grails, developer akan membutuhkan bahasa Groovy untuk membuat domain class, controller, service, konfigurasi. Adapun untuk view, Grails menggunakan .gsp yakni groovy server page, yang kompatibel dengan HTML 5 dan CSS.
Sumber: Judd, et al. Beginning Groovy and Grails From Novice to Professional, Apress.
http://hitcodegrails.blogspot.com/20...sa-groovy.html
Link ke wikipedia: Groovy di wikipedia
Intinya gan, groovy adalah bahasa yang berbasis pada objek (OOP), untuk platform Java, memiliki fitur fiturnya bahasa dinamis macam Ruby, Phyton dan Perl. Hampir semua coding java dianggap valid dalam bahasa Groovy.
mungkin ente nanya, jadi ane harus pindah dari java ke groovy?
jawabannya justru sebaliknya gan, seumpama ente udah punya bejibun codingan java di kompi ente, gak akan terbuang percuma bila ente menggunakan groovy, groovy hanya menawarkan banyak fitur bahasa dinamis dan kemudahan lainnya untuk ente implementasikan di platform java, seumpama ente balik lagi ke bahasa java, codingan groovy ente juga tetep bisa dipake sama java

Cara masangnya/instal-nya bagaimana gan? 
Untuk memasang groovy di mesin anda, pastikan terlebih dulu anda telah memasang Java dengan benar. dan men-setting JAVA_HOME untuk merujuk ke tempat direktori JDK anda.
- Kunjungi halaman ini, unduh distribusi terbaru groovy, atau installernya tidak apa-apa.
- Buat environment variable GROOVY_HOME dan merujuk ke tempat direktori groovy anda.
- Tambahkan %GROOVY_HOME%/bin pada path anda.
- Dari sini, untuk memeriksa kevalidan instalasi groovy, anda bisa masuk ke command line (cmd) dan ketikkan >groovy -version
Spoiler for mprikitiew for instal:
Selesai diinstal trus pakenya gimana gan?dah selesai install, ente bisa gunakan notepad++ buat nulis coding groovy gan, semisal coding yang ane buat adalah codingan yang paling atas itu. kita copas ke notepad++
cek spoiler ini
Spoiler for "cara pake":
sori gan kalo masih berantakan, maklum ane masih nubi

sama sama belajar gan
0
14.9K
81
Komentar yang asik ya
Mari bergabung, dapatkan informasi dan teman baru!
Programmer Forum
20.3KThread•5.2KAnggota
Tampilkan semua post
TS
coding.keramat
#6
Dasar Dasar Groovy (Collections)c. Collections
Elemen collections yakni List dan Map berperan banyak dalam framework Grails juga. di groovy dibuat jadi lebih simpel

Code:
[size=4][color=#bb7977][b]def[/b][/color] emptyList [color=#ff0080][b]= [][/b][/color]
println emptyList[color=#ff0080][b].[/b][/color][color=#bb7977][b]class[/b][/color][color=#ff0080][b].[/b][/color]name [color=#f27900]// java.util.ArrayList [/color]
println emptyList[color=#ff0080][b].[/b][/color]size [color=#f27900]// 0 [/color]
[color=#bb7977][b]def[/b][/color] list [color=#ff0080][b]= [[/b][/color][color=#a68500]"Chris"[/color][color=#ff0080][b]][/b][/color] [color=#f27900]// list dengan satu item [/color]
[color=#f27900]// tambah item ke list [/color]
list[color=#ff0080][b].[/b][/color]add [color=#a68500]"Joseph"[/color] [color=#f27900]// perhatikan kalau () hilang [/color]
list [color=#ff0080][b]<<[/b][/color] [color=#a68500]"Jim"[/color] [color=#f27900]// overloaded left-shift operator[/color]
println list[color=#ff0080][b].[/b][/color]size [color=#f27900]// 3 [/color]
[color=#f27900]// iterasi terhadap list [/color]
list[color=#ff0080][b].[/b][/color]each [color=#ff0080][b]{[/b][/color] println it [color=#ff0080][b]}[/b][/color] [color=#f27900]// Chris Joseph Jim [/color]
[color=#f27900]// akses item di list [/color]
println list[color=#ff0080][b][[/b][/color][color=#800080][b]1[/b][/color][color=#ff0080][b]][/b][/color] [color=#f27900]// Joseph // akses lewat index [/color]
list[color=#ff0080][b][[/b][/color][color=#800080][b]0[/b][/color][color=#ff0080][b]] =[/b][/color] [color=#a68500]"Christopher"[/color]
println list[color=#ff0080][b].[/b][/color][color=#004466]get[/color][color=#ff0080][b]([/b][/color][color=#800080][b]0[/b][/color][color=#ff0080][b])[/b][/color] [color=#f27900]// Christopher [/color]
list[color=#ff0080][b].[/b][/color][color=#004466]set[/color][color=#ff0080][b]([/b][/color][color=#800080][b]0[/b][/color][color=#ff0080][b],[/b][/color] [color=#a68500]"Chris"[/color][color=#ff0080][b])[/b][/color] [color=#f27900]// item ke-0 menjadi Chris [/color]
println list[color=#ff0080][b].[/b][/color][color=#004466]get[/color][color=#ff0080][b]([/b][/color][color=#800080][b]0[/b][/color][color=#ff0080][b])[/b][/color] [color=#f27900]// Chris [/color]
list[color=#ff0080][b].[/b][/color]remove [color=#800080][b]2[/b][/color]
list[color=#ff0080][b]-=[/b][/color] [color=#a68500]"Joseph"[/color] [color=#f27900]// Overloaded - operator [/color]
list[color=#ff0080][b].[/b][/color]each [color=#ff0080][b]{[/b][/color] println it [color=#ff0080][b]}[/b][/color] [color=#f27900]// Chris [/color]
list[color=#ff0080][b].[/b][/color]add [color=#a68500]"Joseph"[/color]
list[color=#ff0080][b]+=[/b][/color][color=#a68500]"Jim"[/color] [color=#f27900]// Overloaded + operator [/color]
list[color=#ff0080][b].[/b][/color]each [color=#ff0080][b]{[/b][/color] println it [color=#ff0080][b]}[/b][/color] [color=#f27900]// Chris Joseph Jim [/color]
println list[color=#ff0080][b][-[/b][/color][color=#800080][b]1[/b][/color][color=#ff0080][b]][/b][/color] [color=#f27900]// Jim[/color]
[/size]
Adapun contoh dari Map, yang merupakan koleksi dari pasangan key/value (kunci/nilai), yang mana key/kunci adalah unik:
bagi yang udah berkecimpung di dunia java pasti dah paham apa itu Map (java.util.Map)
tapi bagi yang belum tahu, silakan liat: http://docs.oracle.com/javase/7/docs.../util/Map.html
Code:
[size=4][color=#bb7977][b]def[/b][/color] emptyMap [color=#ff0080][b]= [:][/b][/color]
[color=#f27900]// map.class mengembalikan null, pakai getClass()[/color]
println emptyMap[color=#ff0080][b].[/b][/color][color=#004466]getClass[/color][color=#ff0080][b]().[/b][/color]name [color=#f27900]//java.util.LinkedHashMap[/color]
println emptyMap[color=#ff0080][b].[/b][/color][color=#004466]size[/color][color=#ff0080][b]()[/b][/color] [color=#f27900]// 0[/color]
[color=#bb7977][b]def[/b][/color] todos [color=#ff0080][b]= [[/b][/color][color=#a68500]'a'[/color][color=#ff0080][b]:[/b][/color][color=#a68500]'Write the map section'[/color][color=#ff0080][b],[/b][/color] [color=#a68500]'b'[/color][color=#ff0080][b]:[/b][/color][color=#a68500]'Write the set section'[/color][color=#ff0080][b]][/b][/color]
println todos[color=#ff0080][b].[/b][/color][color=#004466]size[/color][color=#ff0080][b]()[/b][/color] [color=#f27900]// return ukuran map = 2[/color]
println todos[color=#ff0080][b][[/b][/color][color=#a68500]"a"[/color][color=#ff0080][b]][/b][/color] [color=#f27900]// cetak bagian dari map[/color]
println todos[color=#ff0080][b].[/b][/color][color=#a68500]"a"[/color] [color=#f27900]// idem[/color]
println todos[color=#ff0080][b].[/b][/color]a [color=#f27900]// idem[/color]
println todos[color=#ff0080][b].[/b][/color][color=#004466]getAt[/color][color=#ff0080][b]([/b][/color][color=#a68500]"b"[/color][color=#ff0080][b])[/b][/color] [color=#f27900]// idem[/color]
println todos[color=#ff0080][b].[/b][/color][color=#004466]get[/color][color=#ff0080][b]([/b][/color][color=#a68500]"b"[/color][color=#ff0080][b])[/b][/color] [color=#f27900]// idem[/color]
println todos[color=#ff0080][b].[/b][/color][color=#004466]get[/color][color=#ff0080][b]([/b][/color][color=#a68500]"c"[/color][color=#ff0080][b],[/b][/color] [color=#a68500]"unknown"[/color][color=#ff0080][b])[/b][/color] [color=#f27900]// definisi secara dinamis[/color]
println todos [color=#f27900]// ["a":"Write the map section", "b":"Write the set section",[/color]
[color=#f27900]// "c":"unknown"][/color]
todos[color=#ff0080][b].[/b][/color]d [color=#ff0080][b]=[/b][/color] [color=#a68500]"Write the ranges section"[/color]
println todos[color=#ff0080][b].[/b][/color]d [color=#f27900]// Write the ranges section[/color]
todos[color=#ff0080][b].[/b][/color][color=#004466]put[/color][color=#ff0080][b]([/b][/color][color=#a68500]'e'[/color][color=#ff0080][b],[/b][/color] [color=#a68500]'Write the strings section'[/color][color=#ff0080][b])[/b][/color]
println todos[color=#ff0080][b].[/b][/color]e [color=#f27900]// Write the strings section[/color]
todos[color=#ff0080][b].[/b][/color]putAt [color=#a68500]'f'[/color][color=#ff0080][b],[/b][/color] [color=#a68500]'Write the closure section'[/color] [color=#f27900]// tanda () opsional gan[/color]
println todos[color=#ff0080][b].[/b][/color]f [color=#f27900]// Write the closure section[/color]
todos[color=#ff0080][b][[/b][/color]null[color=#ff0080][b]] =[/b][/color] [color=#a68500]'Nothing Set'[/color] [color=#f27900]// null sebagai kunci[/color]
println todos[color=#ff0080][b][[/b][/color]null[color=#ff0080][b]][/b][/color] [color=#f27900]// Nothing set[/color]
[color=#f27900]// cetak setiap pasangan kunci/nilai di tiap baris[/color]
[color=#f27900]// Catat: it adalah iterator yang implicit gan[/color]
todos[color=#ff0080][b].[/b][/color]each [color=#ff0080][b]{[/b][/color] println [color=#a68500]"Key: ${it.key}, Value: ${it.value}"[/color] [color=#ff0080][b]}[/b][/color]
[color=#f27900]// cetak setiap pasangan kunci/nilai di tiap baris dengan index[/color]
todos[color=#ff0080][b].[/b][/color]eachWithIndex [color=#ff0080][b]{[/b][/color] it[color=#ff0080][b],[/b][/color] i [color=#ff0080][b]->[/b][/color] println [color=#a68500]"${i} Key: ${it.key},[/color]
[color=#a68500]Value: ${it.value}"[/color] [color=#ff0080][b]}[/b][/color]
[color=#f27900]// cetak nilai nilainya[/color]
todos[color=#ff0080][b].[/b][/color][color=#004466]values[/color][color=#ff0080][b]().[/b][/color]each [color=#ff0080][b]{[/b][/color] println it [color=#ff0080][b]}[/b][/color]
[/size]
0
![[memperkenalkan] bahasa groovy](https://dl.kaskus.id/3.bp.blogspot.com/-zgeYZDNDh_c/T61FPACYonI/AAAAAAAAAVQ/-WxcWUa5Az8/s1600/b.jpg)
![[memperkenalkan] bahasa groovy](https://s.kaskus.id/images/2012/09/13/4725487_20120913020235.jpg)
![[memperkenalkan] bahasa groovy](https://s.kaskus.id/images/2012/09/13/4725487_20120913024922.jpg)
![[memperkenalkan] bahasa groovy](https://s.kaskus.id/images/2012/09/13/4725487_20120913030332.jpg)
![[memperkenalkan] bahasa groovy](https://s.kaskus.id/images/2012/09/13/4725487_20120913030937.jpg)
![[memperkenalkan] bahasa groovy](https://s.kaskus.id/images/2012/09/13/4725487_20120913032628.jpg)
![[memperkenalkan] bahasa groovy](https://s.kaskus.id/images/2012/09/13/4725487_20120913082205.jpg)
![[memperkenalkan] bahasa groovy](https://s.kaskus.id/images/2012/09/13/4725487_20120913033622.jpg)
![[memperkenalkan] bahasa groovy](https://s.kaskus.id/images/2012/09/13/4725487_20120913033428.jpg)
![[memperkenalkan] bahasa groovy](https://s.kaskus.id/images/2012/09/13/4725487_20120913033844.jpg)
![[memperkenalkan] bahasa groovy](https://s.kaskus.id/images/2012/09/13/4725487_20120913040806.jpg)
![[memperkenalkan] bahasa groovy](https://s.kaskus.id/images/2012/09/13/4725487_20120913035856.jpg)
![[memperkenalkan] bahasa groovy](https://s.kaskus.id/images/2012/09/13/4725487_20120913041139.jpg)