akhirnya algoritme yang simple yang memberikan hasil paling memuaskan

#22 Ngobrol santai tentang Maemo summit, Qt Developer Days, Nokia N900 dan Google Wave – transkrip

Posted: October 26th, 2009 | View Comments

ingin kontribusi membantu teman macet? ketik bagian podcast yang kamu suka di post ini ala WIKI dengan login di facebook connect disamping kanan dan klik edit this. Dengan membantu teman macet, kamu ikut berpartisipasi dalam membuat konten ini lebih mudah diakses untuk orang-orang yang tidak bisa mengkonsumsi audio

RW: Hari ini aku bersama Ariya, akhirnya setelah berapa minggu Ariya absen dengan kesibukannya sendiri, akhirnya kita bisa ngobrol lagi yah Ya. Apa ni yang baru di kehidupan kamu?

AH: Yang baru banyak, yang baru diantaranya kmaren baru dateng dari Munich sama Amsterdam soalnya di Munich ada QT Developer Days dan di Amsterdam ada Maemo Summit. Yang pertama di Amsterdam, kmaren di adakan Maemo Summit. Pesertanya hampir 300, hampir 400an peserta. Acara utamanya adalah sneak review dari nokia N900.

RW: Nah itu dia, aku baru mau ngomong Maemo itu operating system Nokia N900 yah, sudah ga pake Symbian lagi yah

AH: Betul. N900 ini adalah sebelonnya sudah ada seri N yang sama N810, N800, N770. Tapi baru di N900 ini device nya baru bisa di pakai buat nelpon, sebelonnya hanya internet tablet.

RW: Internet tablet, betul

AH: Ini N900 di tenagai oleh Maemo 5, versi terbaru dari Maemo. Ada satu orang Indonesia kerja di Maemo, Endang. kapan itu waktu saya pernah kopi darat sama dia. mungkin kapan kapan perlu di ajak dia tuh di teman macet.

RW: Harus tuh, kayanya menarik banget.

AH: Dari segi Maemo, itu cuman software stack nya karena hardwarenya sendiri yah sama seperti hardware yang lain, tim tim yang ngerjain pasti beda dan hardwarenya meyakinkan, layarnya gede lalu ada keyboard nya. Kalau pernah liat N97, mirip mirip tapi lebih besar. Layarnya tajam sekali dan resolusi nya gila 257 gpi. Jadi kalau kita nge browse, seperti di cetak kan seperti di printer hampir 300 gpi. Versi berikutnya akan support kapasitive. Yang menarik ini berikutnya adalah dengan ukuran yang sama layar yang sama seperti iphone, pixels nya lebih banyak kan 800×550, bayangin iphones cuman 320×480 kan. Jadi detail nya menarik sekali. lalu ada camera nya 5 mega pixels, mantep lah, semuanya meyakinkan.

RW: Tapi kenapa ga di bikin kapasitive dan multi touch. Aku rasa bukan limitasi hardware dong pasti nya.

AH: Mungkin, versi berikutnya. Biasanya kan nama juga perusahaan besar, tahun ini buat yang seperti ini, tahun itu buat yang seperti itu.

RW: Cuman lucu ajah, htc sudah kapasitive, iphones sudah kapasitive. Kenapa ga nokia jadi kapasitive juga.

AH: Selain itu ada keterbatasan software yah. Maemo ini masih menggunakan x11 bukan frame by 4 bukan direct frame by 4, tapi langsung ke layar seperti Linux biasa.

RW: Jadi ada terminal di belakangnya yah

AH: Tapi kan transparent. Sampai sekarang kan masih belon stabil, masih belon final support multi touch. Cuman Maemo 5 masih menggunakan user interface nya berdasarkan gtk. Tapi di Maemo 6, 100 percent atau hampir 100 percent sudah berbasis Qt. Nah yang menariknya di Maemo Summit adalah, sneak review dari Maemo 6. Jadi Maemo 6 ntar, sekarang kan masih menggunakan jadi effect effect nya masih terbatas yah, ada effect seperti blur lalu ada window manager nya seperti expose seperti dari publikasi. Maemo ini support multitasking, jadi kita bisa buka multiplayer, lalu twitter, lalu camera semuanya bisa. Di versi Maemo 6 sudah berbasis Qt, mulai nya menggunakan berbagai macem effect seperti transisi yang seperti Iphone, dari landscape ke portrait ada effect rotasi nya terus multi touch tentunya. Di Qt versi depan ada multi touch.

RW: Tapi Maemo 5 gimana performance nya. Tadi kan kamu bilang hard ware nya mantep banget nih, tapi Maemo 5 memenuhi expektasi ga?

AH: Performance yang menjadi masalah, bukan performance tapi finishing touch. Yang kita dapet di Maemo Summit ini device masih production belon final, 1-2 bulan lagi baru keluar Cuman masih banyak yang keliatan kali di bandingkan dengan iphone, ada beberapa finishing touch yang kurang, contohnya maps. Kan ada maps application, seperti google maps. Bukan google maps tapi nokia maps, itu lama dan ga convinent yah. kalau kita dimana, mau liat jalan, tapi nunggu. Terus kalau sudah biasa pake iphone, problem dari touch sceen, karena kita harus menggunakan kuku, dia perlu presser bukan cuman touch. Terus ada beberapa problem, kalau di Eropa kan ngetik character khusus yah seperti u dengan u umlot lah. Kita perlu berhari hari sampai menemukan caranya.  kalau di telpon biasa kan bisa tekan lama, ntar muncul pilihan lah. Kalau touch screen, long tab seperti di iphones, ntar ada pilihannya. Kalau disini concept nya modifier, jadi actifkan symbol dulu nanti ada tanda umlot terus ketik u. Seperti ada module nya gitu, sekarang mau normal, sekarang mau umlot, sekarang mau apa gitu. Kecuali baca manualnya, idealnya orang ga usah baca manual.

RW: Jadi ngomong ngomong, kamu sudah punya N900 device nya sendiri nih

AH: Sudah

RW: Asik banget, di bagi bagi gratis di Summit nya?

AH: Ceritanya gini, di Amsterdam kmaren ada 300 N900 yang di bagi bagi, sebenernya bukan di bagi gratis karena setelah 6 bulan harus di balikin. Jadi ini cuman di pinjemkan. Cuman kita ga tau setelah 6 bulan nanti, di pinjamkan di ganti dengan upgrade atau gimana. Bisa juga kan

RW: Berharap, haha

AH: Yang menariknya kita, semua pesertanya ga ada yang tau kalau kita dapet N900. Itu gratis kalau register. Kalau deket deket Amsterdam, ga register rugi banget. Kalau saya karena mesti presentasi, jadi register ini itu. Tiba tiba di key notes di umumkan, nanti pesertanya dapet N900. Ga kebayang kan summit nya tuh ada 3 hari, hari pertama acara nokia, yang kedua ketiga acara community, begitu selesai makan siang, bagi bagi tuh N900. Kebayangkan, hampir 300-400 geeks dapet hadiah natal gitu kan kayanya, jato dari langit. Effect nya bisa di bayangkan ga? Tapi salut buat panitia nya kan ada wifi gratis juga kan, semua wifi masih berfungsi.

RW: Semua orang nyalain N900 di wifi. di Laptop juga.

AH: Itu berapa ratus orang nge tweet bareng bareng, waah pokoknya rame lah. Effect nya satu, peserta habis itu ga ada serius memperhatikan, semua orang main main sama N900. Oh iyah satu feature yang lupa, di N900 fantastic ada integrasi type. Jadi di contact nya kita bisa set up account skype kita. kalau kita online dalam wifi, semua contact di skype bisa keliatan terus bisa telpon langsung dari skype. Tentunya kalau bukan di komputer kena skype out credit dan sebagainya, tapi tetep fantastic kan.

RW: Tapi skype ke skype tetep gratis, apa pake credit tetep?

AH: Skype gratis kan.

RW: Jadi kamu skarang nelpon pake N900 ga?

AH: Ga. Kalau kita dimana ajah dan ada wifi dan kita mau nelpon ntah kemana punya skype credit, lumayan bisa di pakai. Dari pada kena pulsanya mahal.

RW: Pertanyaan sekarang adalah gimana reaksi para phone carrier yah. Apakah mereka mau include N900 buat line up phone yang di support apa ga, karena dengan integrasi nya skype lumayan mengganggu business module para phone carrier gini kan.

AH: Keputusannya pasti non teknis, apakah mau di masukan apa ga. Tapi sekurang kurangnya, chatting di skype itu sudah lumayan menarik, kalau kita punya sambungan 3G, lagi di jalan atau gimana, karena native. Jadi pesan dari skype muncul seperti conversation biasa, seperti sms biasa, ga perlu buka applikasi khusus

RW: Sudah fully integrate yah.

AH: Betul, applikasi nya sendiri masih sedikit. Tapi ada beberapa contoh contoh N97 ada gps, Jadi kebayang kan peluang applikasi nya bisa seperti iphones, bisa jadi new platform. Sudah ada contoh applikasi yang menggunakan seperti games games yang popular di iphones. Mantap lah effect effect nya

RW: Terus tadi kamu juga nyebut ada Qt Developer Days di Munich. Apa yang baru disana?

AH: Dari segi teknis yang baru adalah discusi atau presentati tentang feature yang akan di Qt 46. Baru minggu kmaren, versi beta nya keluar. Macem macem yah ada stack machine framework, animation framework, multi touch juga, special effect, feature feature baru nya. Dari segi teknis nya, selain menarik dari segi non teknis nya juga seru, tahun in pesertanya naik lebih dari 50 percent hampir 100 percent.

RW: Wow, dan itu membuktikan bahwa Qt semakin banyak pendukungnya yah.

AH: Sejak lebih banyak lagi pemakai nya dan animo nya juga positive. Tapi kebayang dong pas makan siang, gimana cara kita rebutan makan dengan 700 peserta. Terus presentasi nya juga ruangannya padat. Ada 3 track nya parallel, capasitas masing masing ruangan 250an, jadi selalu padat dan selalu penuh

RW: Kamu juga presentasi lagi di Munich?

AH: Ada presentasti tentang special effect dan Symbian. Qt untuk Symbian dan untuk Maemo sama sama menarik karena Qt Maemo kan karena N900, arahan lain untuk operating system di cell phone. Sementara Qt Symbian kan juga masih seru, karena lebih dari 100 juta user di luar sana, kalau kita buat twitter app seperti grafity yang sangat popular di pengguna Symbian, nah itu lumayan kalau di jual 2 dollar saja sudah berapa, jadi menang di volume. Ga tau sudah ada berapa ratus. Inget di tahun 90an ga, tiap orang buat soliter atau tetris.

RW: Cuman karena twitter ini service yang lumayan banyak pake sama semua orang tapi dia ga punya user interface yang optimal yah. jadi emang sengaja dibikin untuk para, sudah ada space vendor vendor bermain di atasnya. ohh buat seperti ini ajah di atasnya, oh kita tunjukin ini ajah diatasnya. Sekarang kalau bikin program dengan framework baru, hello world nya. udah ga bisa hello world lagi, paling ga twitter integration.

AH: Karena realitis simple kan nunjukan xml yang powerful lalu ada network feature kan. Jaman sekarang kalau buat application ga dengan itu, kayanya terlalu kuno deh. Lalu karena dia eti nya relative free dan use guest ada ratusan, mau di integrasikan dengan aplikasi apapun juga bisa. Jadi cocok untuk demo. Di Munich juga ada coffee machine, yang integrasi nya juga pake Qt, touch screen terus ada menu nya, mau pilih ada expresso, ada cappucino. Potensi nya banyak kalau kita clientnya bisa besar, vending machine kan menarik, atau wikepedia article biji kopi nya dari brazil. Brazil itu apa?

RW: Jadi bikin kopi, sambil nunggu, di depan coffee machinenya dipakai buat interaksi lebih lanjut.

AH: Kita kan ga bisa small talk. Ntar lama lama ada irc client, twitter client, disini juga ada ramalan cuaca atau status cuaca terbaru, lumayan lah, traffic jam atau traffic information, sekalian google maps atau info sales atau malem ini ada cara apa dimana atau ada masalah yang harus di sampaikan ke semua karyawan. Misalnya mencuci tangan bersih bersih supaya ga kena swine flu, kan bisa di taro disitu. Gitu lah acara di Amsterdam dan Munich. Dua dua nya adalah service saya terakhir di Qt development di Nokia karena minggu depan sudah ga kerja di nokia lagi.

RW: Wah, big news banget Ya. Sudah di umumin di blog nya juga yah

AH: Sudah sudah.

RW: Terus rencananya abis ini mau ngapain

AH: Yah, cari sesuatu yang masih ada hubungannya sama connecting people lah

RW: Jadi pulang kampung bikin warnet, connecting people. hahaha. Terus kamu bakal tetep di Norway atau bakal pindah mungkin?

AH: Beberapa hari lagi bakal ke Indonesia untuk di rencanakan dari sana, pasti ada di blog apa yang akan terjadi.

RW: Wah kita, podcast kita gimana nih dengan kamu bakal ke Indonesia. Malah jadi sempet atau makin sibuk?

AH: Dua dua nya bisa, kaya quatum mechanic ajah dua dua nya bisa. Masalahnya rencana yang terbaik adalah tidak punya rencana. Jadi buat spontan ajah, kalau ada kesempatan kita rekamam lagi.

RW: Cuman kalau kamu sempet, kontak teman teman lama di Indo kita ajakin podcast, kan lumayan seru juga.

AH: Jadi group podcast.

RW: Karena teman teman yang di Indo, beberapa makluk yang sudah di kejar kejar, agak agak sulit, di kejar kejar melalui email. Mungkin kalau kamu pressure secara langsung jadi mau.

AH: Loh memangnya kita ini debt collector.

RW: Tampang kamu sudah mirip sih, haha

AH: Kalau podcast di bagi bagian N900 nah gitu.

RW; Kamu sudah berenti dulu sih, kalau masi kerja di nokia kan bisa di sponsorin gitu kan.

AH: Sebagai karyawan aku ajah ga dapet discount.

RW: Wah pelita juga yah, ok terus ada apa lagi yang mau di bahas Ya?

AH: Rasanya itu ajah, bagaimana tadi tentang google wave?

RW: Kita kayanya satu episode aku pengen banget ngebahas buat google wave. Sekedar bagi bagi informasi, google wave recently sekitar 2-3 minggu lalu yah, masuk ke public beta. Banyak banget orang yang dapet invitation buat make google wave. Tapi sayangnya ga seperti gmail pas baru pertama kali keluar yah, kamu bisa ngundang teman, dan temannya bisa ngundang teman lagi dan seterusnya. Kali ini cuman orang bisa ngundang orang which is dapet 8 orang nominasi, notice aku ngomong nya nominasi bukan invite dan orang orang yang kita nominasi itu begitu dapet invitation ga bisa nominasi orang lain. Dan nominasi ini seperti nya ada system filtrasi nya di sisi google, karena ga semua orang yang aku nominasi ga dapet invite, kalaupun dapet invite 1-2 minggu setelah aku nominasiin. Bagi orang yang mungkin ga tau google wave ini apa, lumayan menarik sih, concept nya ngegantiin email. Gimana kalau email di ciptakan di jaman sekarang jadinya seperti apa, dan semua improvementnya sangat settle banget, sangat kecil kecil banget, cuman begitu di pake 2-3 minggu kayanya emang berasa sih, ibaratnya dari main PS 2 ke PS 3 kok kayanya biasa biasa ajah, balik ke PS 2 wah kok cupu skali yah. Perasaannya seperti itu, make google wave balik ke email lagi, kok email cupu yah. Ini focusnya dimana email masih ngikutin dunia fisikal yah, dunia relality, kalau aku mau nulis something buat kamu Ya. Aku nulis, aku masukin amplop, aku kirim. Kalau aku mau carbon copy orang lain misalnya, mau carbon copy ke Hendry Luk di Australia. Surat itu aku photocopy, aku kirim ke 2 lokasi kan. Nah begitu mau kita mau discusi di antara kita ber 3, akhirnya konsentrasi ke mereplikasi nya pesan itu. dan akhirnya susah keep track. Nah sekarang google wave ga mengikuti concept fisical itu lagi. Google wave punya respitory di tengah dan kita melihat sumber yang sama. Jelas technology nya kita harus bahas lebih lanjut karena ada algorithm algorithm yang sangat menarik juga kaya OT yah, Operation Transformation yang memungkinkan kita buat ngetik huruf demi huruf, kita bisa liat apa yang diketik oleh orang kita berhadapan, terus ada juga infrastructure yang menarik Google Wave ini di atas server, jadinya plaform yang sama buat Jaber dan sebagainya. Kita kayanya harus mendedikasikan satu episode lagi untuk ngomong platform ini apa, bisa buat apa, masa depannya kaya gimana, kayanya itu bakal jadi topic yang menarik.

AH: Satu pertanyaan, yang di jadikan target market di google ini apakah tiap orang individual ini personal apa perusahaan besar. Perusahaan besar kan punya workflow sendiri, 99 percent menggunakan microsofte exchange atau yang seperti hanya seperti google domain dimana target user nya misalnya adalah office sama office, organisasi kecil.

RW: Itu pertanyaan yang menarik sekali buat di bahas. Dari sisi aku, aku merasanya kayanya google ini mentargetkan semua, ibaratnya kalau skype 1-2 bulan yang lalu mengumumkan bahwa technology compression nya itu di buka untuk umum boleh di pake untuk gratis, padahal itu core algorithm nya compression untuk skype. Dan motivasi nya skype adalah dengan di pakenya compression algorithm ini module untuk komunikasi akhirnya akan lebih mudah untuk skype ngomong antar media, antar platform. dan ini yang diinginkan oleh skype. Aku rasa google berusaha melakukan hal yang serupa, dengan google membuka protocol google wave ini, akhirnya semua orang bisa build infrastrure baru, build server client baru, who knows kalau misalnya ini bener bener dipake oleh banyak orang, banyak enterprise, Microsoft mungkin bakal ngeluarin microsoft exhange on top of wave protocol atau apapun yah. karena ini bener bener protocol yang open source, boleh dibikin diatas apapun, google ga bikin server yang bisa di install di enterprice, tapi dia punya solution dia cuma buka protocol nya, terbuka buat vendor vendor lain buat server dan client di atasnya. Jadi aku rasa google kayanya lumayan targetin semua orang, mungkin bisa di bayangin dari google punya tawaran gmail untuk email public nya cuman saat yang bersamaan email itu ga tertutup buat google ajah kan, kita pake exchange dan sebagainya. dan google pengen slice of the market disitu dengan cara ngebuka protocol untuk public.

AH: Tapi kan ada masalah sedikit untuk google domain untuk perusahaan besar, mereka ga mau data nya di host di google. Mudah mudahan berbeda dengan wave. Kalau kita punya server sendiri, nah kita kan ga perlu mengandalkan google.

RW: Betul skali, dan itu memungkinan. Sekarang ada beberapa user group yang kamu bisa join kalau kamu tertarik ada wave.api user group buat google wave yang di host oleh google, kemudian ada user group satu lagi wave protocol which is ngomongin protocol nya doang. Jadi kamu di posisi dimana mungkin kamu bikin server sendiri, client sendiri, ui kamu sendiri, Nah itu 2 hal yang berbeda. Ini salah satu banyak orang yang misconception nya mikir google wave itu punya google dan cuman ada 1 layer. Tapi ada beberapa layer. Kita bakal bahas lebih lanjut mungkin minggu depan kali yah.

AH: Em, minggu depan di Indonesia ni

RW: Jadi harus cari waktu , ayo.

AH: Kita atur lah.

RW: Oke, terima kasih buat dengerin teman macet. Saya Ronald Widha

AH: Dan saya Ariya

RW: Kita akan ketemu lagi di episode yang minggu depan


#21 Henri Luk ngomong soal Static Code Analysis: NDepend, Team City dan FXCop – transkrip

Posted: October 19th, 2009 | View Comments

ingin kontribusi membantu teman macet? ketik bagian podcast yang kamu suka di post ini ala WIKI dengan login di facebook connect disamping kanan dan klik edit this. Dengan membantu teman macet, kamu ikut berpartisipasi dalam membuat konten ini lebih mudah diakses untuk orang-orang yang tidak bisa mengkonsumsi audio

RW: Kali ini saya bersama Hendry Luk, seorang programmer yang berkelut dalam dua bidang, dia masuk di Java, masuk di .Net juga. Saya mengenal dia dari pembicaraan kita di mailing list .Net Indonesia yah. Jadi kali ini gw pengen ngajak Hendry buat ngobrol soal continuous integration yah, dan in particular tooling yang sering dipakai di continuous integration yaitu NDepend. Gw ngebaca dari blog lo Hen, lo kayanya punya sedikit insight tentang NDepend yang kayanya seru ni buat di share.

HL: Jadi NDepend, beberapa minggu lalu gw baca baca dari beberapa project open source sudah makai NDepend buat analysis, disclose dulu ni sebelon kita mulai, bahwa gw ada udang di balik batu, gw pake NDepend pake awalnya karena gw dapet license gratis, ditawarin oleh Patrick supaya gw bisa ngomong kata kata manis tentang NDepend.

RW: Terus lo awalnya ada relation, Patrick ini head of product nya NDepend yah, bener ga?

HL: Iyah, dia tech lead. Sebenernya gw ga ada hubungan sama dia, dia contack gw lewat email dan dia nawarin gw supaya gw ngomong sesuatu di blog gw tentang NDepend, jadi gitu awalnya sih.

RW: Lo mungkin mau ngejelasin dulu blog lo namanya apa, alamatnya dimana, dan lo nge blog tentang apa kebanyakan

HL: Blog gw ada di hendryluk.wordpress.com. Gw ngobrolin biasa soal tentang .Net atau technology .Net, gw ga terlalu technical, gw biasa kebanyakan soal design, architecture soalnya gw juga ga terlalu banyak main main di infrastructure .Net akhir akhir ini, jadi gw lebih banyak ngomong ngomong Unit Test, Test Driven Development, Domain Driven Design.

RW: Gw ngeliat salah satu postnya, Rob Conery yang nge reply. Lo kayanya network nya sangat sudah masuk ke dalam dunia expert sekali. Itu lo ada hubungan apa ni sama dia? Jangan jangan saudaraan juga.

HL: Ga, gw jauh sama dia hubungan family. haha. Gw ga terlalu banyak communication. Gw ada beberapa kali email dia tentang dia punya, dan soal blog reply nya dia gw ga tau dia lagi ngapain, end up di blog gw.

RW: Itu menandakan kualitas Hen

HL: Mudah mudahan

RW: Kembali kita ngomong soal NDepend lagi, jadi boleh jelasin sedikit tool NDepend itu sebenernya apa.

HL: Oke, NDepend itu sebenernya salah satu tool buat static analysis atau kalau lo mau put it in another way NDepend itu adalah tool buat ngebaca code tanpa sebenernya lo ngebaca source code lo. Cuman misalnya lo jadi architect atau tech enginner atau lead enginner, lo ga bisa baca semua source code dari application buat lo periksa satu per satu. Dan juga lo periksa source itu ga tau kemana harus ngeliat, lo bisa mengerti application lo jalannya kaya gimana, bentuknya kaya gimana, cuman lo ga ngerti dimana yang mesti liat, soalnya lo ngeliat terlalu detail. Jadi NDepend itu paling bagus buat visualization kaya peta, atlas, kalau lo pertama kali dateng ke negara yang belon pernah lo kunjungi, hal yang pertama lo cari adalah peta di airport. Nah itu buat lo ngeliat code lo structure nya kaya gimana dan dependency nya kemana ajah, terutama code yang bukan lo sendiri develop. Kalau di develop sama developer lo misalnya, lo baca source code orang lain, nah NDepend sangat berguna banget buat visualisasi.

RW: Jadi untuk make sure juga kalau uml tooling yah, kita ga mau ngeliat se detail itu. dan kita cuman mau liat landscape ajah yah, bener bener cuman warna, dependency antara satu module dan module lain, tapi ga sampai ngebahas soal class nya in particular, methodnya kaya gimana, properties nya gimana dan sebagainya. bener ga?

HL: Bener, ga particular. Jadi cuman characteristic nya. Jadi characteristics nya dari class nya bukan cara kerja dari class nya. JAdi characteristics nya mulai dari beberapa, disini ada 80 macem matrix, gw ga sure, bisa diliat dari webstitenya. Matrix yang lo bisa liat, number of dependency, complexity, sampai number of lines, number of parameters, dia depend kemana. Jadi sebenernya liat dari kualitas bukan dari sisi cara kerjanya.

RW: Terus dari 80 matrix itu, yang menurut lo menarik apa? Yang jelas kayanya paling terkenal gw rasa adalah dependency itu yah, bahwa dia bisa kasih liat seberapa tightly coupled atau loosely coupled design lo dan dia nge visualisasi nya dengan berupa kotak kotak atau bisa juga bisa dengan matrix, ngasi liat siapa dependency itu ke siapa. Tapi yang gw masih ga ngerti adalah apa gunanya buat tau hal hal ini. Maksudnya gw tau bahwa lo seorang test Driven Development guy juga yah dan kayanya salah satu test driven design focusnya adalah bukan sekedar unit test tapi malah loose coupled itu kan. Dengan lo ngelakuin Test Driven Development akhirnya design lo really really loosely coupled. Sekarang apa bagusnya, satu apa bagusnya loose coupled design. Yang kedua kenapa lo mesti pake NDepend buat tau loose coupled dependency ini?

HL: Ini sebenernya salah satu hal yang pengen gw bahas hari ini, data data yang dikasih sama NDepend itu kan terlalu gede buat developer atau tech lead, jadi dan gimana cara make data data itu dan arti data data itu. Itu yang bikin kita penasaran ini, jadi kalau lo liat NDepend. Lo udah pernah download NDepend belon Ron?

RW: Sudah pernah liat sekali, tapi gw belon pernah main main banget.

HL: Jadi NDepend ini method yang paling penting adalah dependency matrix. Kalau kita liat matrix ini mirip kaya, jadi lo bisa bayangin ada correlation matrix, ada sumbu x, sumbu y. Dan perpotongan dua sumbu itu, kalau lo click point perpotongan sumbu ini, lo bisa liat ada berapa dependency yang dari sumbu x, dan sumbu y. Jadi kalau misalnya lo highlight mouse itu, bakal generate bahasa English, dia bilang 21 members yang gw generate dari sini. Jadi dia ada tulis misalnya 21 member dari assembly a dipakai oleh 32 meter dalam assembly b. Contohnya seperti itu. Nah, assembly matrix ini ada banyak mathematika data nya, sebenernya lo ga peduli. Cuman bagaimana itu gimana dipakenya, kalau misalnya lo liat dari summary nya, dari report nya, salah satu yang bisa lo pake misalnya di summary nya. Di situ dikasih summary, bisa di baca oleh manusia, bukan orang yang hard core computer scientist. Jadi kalau lo liat di report nya, ada istilah namnaya abstractness versus instability. Jadi abstractness dan instability itu bukan berarti assembly lo stable itu bukan berarti itu bagus atau jelek. Itu adalah characteristic dari code lo. Jadi stable artinya adalah code yang dipake oleh banyak orang, jadi misalnya lo pake name space, yang banyak name space lain yang ke dalam name space itu. Makanya name space itu stable. Artinya name space itu susah di ganti, karena kalau di ganti bakal break banyak functionality. Dan itu adalah stable. Jadi kita mau, kalau code code yang sifatnya driven design yang bagian dari domain itu biasanya bagian yang paling stable , karena itu adalah bagian yang ga mau lo ganti ganti. Di satu sisi lain, ada abstractness. Jadi abstractness adalah ratio dari berapa bagian interfaces atau abstract class, jadi dia bisa tunjukin satu angka, dari 0 sampai 1. Nah disini didalam NDepend dia kasih liat, ada satu balance satu garis diagonal antara sumbu x dan sumbu y. Jadi di sumbu y ada abstractness, disumbu x ada instability. Nah disini ada satu balance, lo kepengin semua di dalam balance itu. Di ujung, suatu corner ada namanya zone of pain. Zone of pain itu adalah dimana lo masuk kedalam area itu code lo susah di ganti, susah di maintain karena zone of pain di sebagai code yang stable, artinya cukup di pakai orang banyak tapi sangat ga abstract. Iyah jadi lo sebisa mungkin menghidari daerah merah. Dan di opposite corner ada, zone of uselessness jadi kalau code lo sangat abstract, lo punya banyak interface, lo punya banyak variable tapi ga ada orang yang make.

RW: Jadi sebenernya dia punya premis tersendiri buat ngebikin 2 zone itu yah, zone of pain dan zone of uselessness. Menurut lo itu lumayan constant ga sebenernya throughout different project apa sebenernya itu relative dan kadang kadang suka ga terlalu relevant juga

HL: Itu sebenernya fluctuative cuman kalau, jadi dari project project bisa berubah rubah angkanya. Sebenernya kalau gw pribadi, gw belon experience ngeliat perkembangan project bergeraknya kemana, apa semakin bagus, apa semakin jelek, apa sudah cukup accurate, cuman sebenernya itu salah satu measurement doang, itu bukan salah satu feature yang major dari NDepend. Itu cuman summary yang paling gede tentang kualitas project lo tuh kaya gimana. Jadi di dalam NDepend tuh banyak tool lainnya. Salah satu nya dependency matrix yang lo sebut itu, jadi lo bisa liat. Misalnya lo liat di code camp server, code camp server itu yang gw pake buat review NDepend. Jadi itu project code camp server. Lo bisa liat dependency lumayan predictable. Jadi kalau lo sebagai tech engine nya gimana caranya layering application lo, cuman lo ga bisa control satu per satu developer lo bakal kerjanya kaya gimana, lo ga bisa periksa source code nya satu per satu. Kalau lo ngeliat dari dependency nya, lo ngeliatin ada unexpected dependency disitu, misalnya lo punya web, bisa punya access ke data access misalnya, itu sesuatu yang lo ga mau sebagai tech lead. Dia bisa kasih no yang jelas, bisa kasih angka 21 dependency dari web ke data access. Dan even better, kalau lo click ke angkanya, bisa ngasih detailnya, bisa kasih liat uml diagram nya, apa ajah depend dari web ke dalam unit test karena ada integration ke visual studio. Kalau lo double click, dependency nya, bisa kasi liat line of code, mana yang sebenernya make dependency itu.

RW: Wah keren skali, jadi ibaratnya kalau ngebayangin google earth atau live maps atau apa gitu, kita bisa liat zoom out peta dunia nya, dan begitu kita liat ada anomali di salah satu tertentu kita bisa zoom in sampai akhirnya nemu enough details yang kita cari yah, which is details yang paling rendah code gitu kan.

HL: Bener, sebagai google map. Ini ada salah satu video yang mirip google map, ini adalah three map. Ini kaya kotak kotak item item gede kaya NDepend, jadi kotak kotak ini mewakili satu characteristic tertentu, misalnya kalau misalnya lo liat di google map, kota yang geographically gede, kotaknya semakin gede. Tapi kalau dalam code lo bisa ganti ganti, Di sini bisa ngomong tolong kasih tunjuk gw tentang number of lines code. Jadi kotak kotak nya semakin gede, number of lines nya semakin gede. Jadi lo bisa melihat peta dunia dari code code lo gimana, liat dari sisi paling luas dengan bisa pakai mouse, bisa zoom kedalam. Semakin gede kotak nya, semakin gede class nya, semakin gede methodnya juga. Nah tujuan dari mapping ini, lo bisa liat kurang lebih dari lines of code misalnya ada 62 matrix, itu ngeliat complexity mana yang paling gede dari code lo, lo bisa melihat map nya yang paling gede mana complexity nya, dari situ ada bagian bagian yang bisa lo refactor. Ngomong ngomong soal refactor ini sebenernya, focus yang paling penting. NDepend ini bikin rule, jadi mirip effect scope. Kalau effect scope bagian painful buat lo sendiri kan. Effect scope dateng dengan berbagai macem tool, sebagian besar, lo ga bisa specific ke dalam project lo sendiri. Jadi bagian yang paling penting dalam NDepend ini yang paling unik dari tool lain adalah cql. Ini codequery language. Query language keren banget, mirip sql, cuman sql ini kan lo query ke dalam data base. Kalau cql, itu query ke dalam source code.

RW: Sangar sangar, itu bener bener dsl buat static analysis yah.

HL: Benar, ini sangat keren banget.

RW: Performance nya gimana, dipakai buat dijalanin along bersama continuous integration lo atau lo bisa kaya punya consule tinggal type in, dan langsung jawabannya instantly balik?

HL: NDepend ini ada banyak view, jadi lo bisa run dari sisi consule, bisa juga pake continuous integartion, unscripted, dia ada juga visual studio nya sendiri. Dia ada id nya sendiri. Jadi visual NDepend ini punya, sesuatu yang sequel server ga punya.

RW: Jadi udah meta programming yah? Bahwa lo programming against another code sebagai data lo kan. Iyah ga si? Lo biasa programming against user data kan, sekarang lo programming against language lo kan, code base lo. Tapi itu performance nya lumayan cepet kalau lo nanya pertanyaan yang se complex lo tadi? Lumayan cepet baliknya? dia harus go through code basenya, name space nya, data space nya, dan sebagainya.

HL: Nah ini the best part of NDepend sebenernya, jadi lo nulis query, lo bukan pencet execute, maka dia execute, dia search, keluar hasilnya, itu bukan. Selagi lo nulis dia execute. Jadi lo nulis dan keluar hasilnya dan kalau lo tulis lines of code lebih besar dari 50 dan number of comment lebih kecil dari 20 percent. Dia langsung keluar hasilnya selama lo ngetik. NDepend itu context sensitive, jadi kalau lo hasil dari query itu, bakal muncul di map yang gw sebut itu, three map itu, bakal di tandai dengan hot spot. Misalnya lo nulis complexity lebih gede dari 50, dia bakal tunjukin di map itu dengan warna merah bagian bagian yang kena warning itu mana ajah. dan lo misalnya lo double click di warna merah nya itu, dia langsung buka code itu di visual studio.

RW: Wow, thats amazing. Sekarang kalau di tie in ke continuous integration, karena NDepend banyak kemampuannya yang berdasarkan visualisasi kan. Sedangkan continuous integration kan biasanya something yang lo ga liat visualisasi, lo cuman liat bahwa yah merah atau hijau, build broken atau build stable. Gimana caranya lo integrate NDepend ke continuous integration, apakah lo bisa set rules rules rules, berdasarkan sql tadi dan untuk ngebalikin pass atau fail atau gimana? Atau ga pake NDepend continous integration, cuman hal yang pake oleh seorang team lead atau malah mungkin semua developer sebelon check in code nya harus make sure dulu gimana gimana sebelon check in. Menurut lo uses yang paling tepat yang gimana?

HL: NDepend ini sebenernya dua fold yang bisa lo pake jadi lo bisa pake sebagai architect yang lo bisa analysis dari application lo, sebenernya ini pake communitive, cek isinya kaya apa code lo. Satu lagi architect ini bisa define rule nya kaya apa dan bisa integrate. Jadi setiap orang yang commit, semua rules nya bakal di run dan lo bakal bisa ngeliat gerak nya kaya gimana, gimana progression lo bahkan bisa compare degnan version sebelonnya, ada berapa method yang lo tambain, ada brapa name space yang baru, berapa dependency yang lo introduce. Dia bakal tunjukin dalam bentuk report dan bakal nunjukin juga warning warning, dari sql yang di langgar. Jadi misalnya developer commit sesuatu hal yang jelek, masuk dalam source control akan di cek sama NDepend dan akan ngasih tau code itu melanggar sesuatu.

RW: That rise an interesting point yah bahwa continuous integration kan about automation dan mungkin ada beberapa kualitas yang blur gitu, ga jelas untuk di bilang apakah ini bagus, apakah ini jelek, apakah ini stable, apakah ini broken. Dan mungkin NDepend masuk dalam hal itu yah, bahwa memberikan kesempatan untuk human introvention kan dimana kalau setiap build, laporannya kirim ke tech lead dan tech lead nya bisa ngambil kesimpulan dari summary itu untuk stop or continue as usual yah.

HL: Tujuannya mirip FXCop yah, jadi developer dipaksa buat ngikutin guideline, jadi kalau lo punya guideline tertentu, lo bisa enforce guideline itu ke continuous integration. Dan setiap buildnya, build hari ini dan build kmaren bisa lo buka dan lo compare, di dalam report nya, mana yang lebih bagus. Nah ini fasilitas NDepend yang paling gw demen, bisa compare 2 version of code. Nah lo bisa compare dan tunjukin apa impact nya. Apakah dependency bertambah atau berkurang?

RW: Gw bisa liat NDepend ini bisa berguna buat architect yang ngadepin brown field yah. Kalau green field kan architect white board session yang ideal kaya gimana, sedangkan untuk masuk project yang sudah established ga semudah itu kan, karena seorang architect itu harus tau betul situasi nya seperti apa melihat tujuannya kaya apa dan ngelakukin gap analysis, gimana cara ngebawa dari situasi a ke situasi yang di tuju. Gw bisa ngeliat NDepend ini berguna buat overall picture nya itu yah. Ga mungkin seorang architect masuk ke satu project dan ngeliat ratusan ribu lines of code, iyah ga sih? Dan NDepend bisa jadi tool yang berguna untuk itu.

HL: Betul banget, soalnya code itu skill, berkembang seiring waktu. Architect itu ga bisa berkembang, cuman ada satu atau dua. Tapi intinya architect itu ga bisa scalable, ga bisa lo clone. Misalnya lo mesti ngecek satu per satu source code lo itu ngabisin waktu. Dan ada limitnya, sampai tahap tertentu architect ga bisa ngeliat semua source code. Jadi architect butuh visualization itu.

RW: Tapi mungkin juga sekarang gw mikir, kalau ngomongin architect orang yang sudah punya banyak pengalaman, sangat tinggi, sangat jago dan sebagainya. Tapi gw jadi mikir juga, ini tool yang sangat berguna, untuk developer, untuk any developer yang baru masuk ke project yang baru, iyah ga siy. Kalau lo masuk ke project yang baru, pasti kan lo time nya yang sangat lama, lo pengen navigate codenya secara cepat buat ngeliat overall picture nya, interaksi satu component dan component lainnya kaya gimana. Apa lagi dengan, sangat nge trend methodology methodology seperti ejal dan sebagainya yang lebih take priority buat documentasi lebih rendah, kita approach nya dari pada documentasi mending write good code. Code itu menjadi living document, dan gw ngerasa tool tool seperti ini untuk orang baru masuk ke dalam tim, apa lagi dalam situasi dimana ga banyak document around code base itu tersebut. Gw juga pengen nyambungin ke salah satu tool yang gw denger di Citcon Melbourne tahun lalu, which is Team City yah. Lo pernah denger ga?

HL: Iyah, gw pake Team City juga.

RW: Itu similar sama NDepend yah?

HL: Oh bukan, Team City itu similiar sama cruise control.

RW: Itu continuous integration ajah?

HL: Iyah.

RW: Gw kayanya waktu pas tahun lalu, gw ngeliat salah satu visualisasi nya adalah dia bisa ngeliat code tapi code nya di visualisasi secara gambar kota. Dan kalau misalnya ada satu module yang sangat complex, dia dikasih liat sebagai gedung yang sangat complex dan sebagainya. dan setiap area nya juga, sangat distinct satu sama lain dan lumayan ngegambarin gimana perbedaan landscape satu code dengan code yang lain, dan menurut gw analogy nya sangat hebat. city kan seperti itu, maksudnya yang salah satu sisinya banyak yang, style nya berbeda dengan style yang lain. Apakah itu ga mirip dengan NDepend?

HL: Gw ga yakin kita ngomongin Team City yang sama ni. Soalnya Team City yang gw tau itu ada beberapa plagin dan salah satu plagin adalah effect scope,mirip banget dengan NDepend. Ini salah satu persamaan Team City dan NDepend, cuman sebatas itu, yaitu dia punya pluggin effect scope. Sebenernya Team City bisa di extend ke NDepend. Jadi kalau lo commit sesuatu ke dalam Team City, Team City bisa bikin analyze data datanya, kaya satu yang paling sering di pake adalah coverage. Jadi test coverage bakal muncul dan lo bisa liat trend nya dimana  . Jadi lo bisa liat berapa percent dari code lo, dan di highlight di code code yang ga punya adequate, dibikin unit test nya. Dia bakal tunjukin dengan warna merah. Jadi kalau lo dibawah 80 percent bakal di kasih warna merah, bakal muncul warning di Team City nya. Jadi Team City maksa developer untuk nulis Unit Test. Ada lagi effect yaitu guideline, jadi lo bisa set apa lo melanggar compliance apa lo declare satu static variable atau lo exception generally tanpa lo declare secara specific, effect bakal nangkep itu dan bakal bikin warning di Team City. Cuman gw ga pernah liat kota segala macem. Itu Team City yakin?

RW: Jadi ga yakin setelah ngomong sama lo, haha. Gw lumayan mikir kayanya Team City, cuman namanya Team City jadi gw mikir itu team city kali yah, Gw akan google. Gw pengen nanya, gara gara ngomongin Team City yah, lo TDD juga, lo sangat resharper orientated juga?

HL: Oh banget, gw ga bisa bayangin gimana nge code tanpa visual studio.

RW: Tadi nge tied in sama effect scope kalau misalnya lo, bukan effect scope in general siy, kalau di visual studio 2008 dalam default nya kalau lo misalnya nyalain code static analysis nya, rules nya suka banyak yang bertentangan sama rules nya resharper yah. Misalnya yang classic banget, naming convention. Resharper sukanya kalau ga salah by default private variable itu boleh pakai nama sama public variable nya cuman beda satu camel casing yang satu di awalin dengan huruf kecil. Sedangkan kalau misalnya code setting visual studio, variable sama skali ga boleh ada nama yang sama, which is a fair comment karena mereka lebih mikir VB dengan C sharp VB ga support case sensitive jadi lebih baik jangan dipakai sama sekali. Lo suka nemuiin masalah yang sama ga, lo pake dua tool yang standard nya berbeda, kalau lo ngerasa gitu juga, biasanya apa yang lo lakukin?

HL: Kalau gw sebenernya, gw ngeliat rule rule yang dikasih itu adalah pilihan, mana yang lo enforce.Lo bisa nambahin rule sendiri kan dengan specific coding convention sendiri di company lo. Itu sebenernya kita make effect scope buat ngerapiin coding convensation di company kita ke dalam source code. Tapi bukan berarti effect scope nentuin coding code di company kita, jadi sebenernya effect scope itu bukan sesuatu yang harus kita ikutin.

RW: On that note, kayanya kita mesti akhirin podcast ini. Tadi lo ngomong bahwa jangan sampai tooling meng dictate apa yang lo lakukin, tapi malah kebalikannya lo menggunain tooling untuk mencapai tujuan yang lo pengen dapet dari team lo. Thank you banget Hendry sudah melukangan waktu nya buat ngobrol di teman macet.


#20 Ngebahas Apa tujuan memadankan istilah Teknik Informatika dengan Ivan Lanin dan Romy Hardiyanto – transkrip

Posted: October 12th, 2009 | View Comments

ingin kontribusi membantu teman macet? ketik bagian podcast yang kamu suka di post ini ala WIKI dengan login di facebook connect disamping kanan dan klik edit this. Dengan membantu teman macet, kamu ikut berpartisipasi dalam membuat konten ini lebih mudah diakses untuk orang-orang yang tidak bisa mengkonsumsi audio

RW: Hari ini saya bersama Ivan Lanin dan Romi Hardiyanto. Ivan Lanin itu S1 nya berawal dari teknik kimia sekarang lagi ngambil S2 technology informasi dan jatuh cinta sama wikipedia dan bahasa Indonesia pada tahun 2006, programmer by heart, risk management consultant by profession. Sedangkan Romi Hardiyanto background nya geo deci, ambil master jurusan hydrography, anggota pelokalan mozilla Indonesia secara dadakan sampai sekarang dari waktu itu Linux Blangkon belon pake pramban bahasa Indonesia. Apa nih maksudnya, Romi coba jelasin introduction nya kayanya rada rada ribet. Dari jurusan lo yang lumayan unik sampe anggota pelokalan mozilla Indonesia juga.

RM: Oke deh. nama saya Romi Hardiyanto. Sebenernya saya ngambil geo deci di Bandung. Kebetulan 2007 aku ngambil master di hydrography, itu geo deci cuman di laut gitu lah kira kira. Suatu saat aku lagi bengong bengong gitu, terus aku mau coba Linux paling baru nih, oh katanya ada project Linux Blangkon, bener bener dari Indonesia. Jadi kemudian aku coba nih, semua program hampir sebagian besar sudah dengan bahasa Indonesia kecuali yang program utamanya. Nah gimana caranya, supaya ini bahasa Indonesia, ternyata sudah ada effort effort sebelomnya itu cuman masih Firefox versi 2. Padahal saat itu Firefox versi 3, sudah hampir release. Yah sudah akhirnya aku kerjaan yang lama, tambah tambahin baru, kemudian aku submit ke Mozilla, diterima.

RW: Ivan baru di kasih tau juga sama Romi ternyata ini sosok di balik id.wikipedia.org yah?

IL: Iyah, yang seperti aku bilang tadi, Yang tahun 2006 itu saya mulai nulis di wikipedia dan sejak itulah, mulai, pertanyaannya kan sejak kapan yah. Sejak itulah sebelon nya sama sekali ga peduli.

RW: Sori banget kalau gw mesti pake bahasa English, merasa agak agak ga level sama kalian berdua, kayanya pakar bahasa Indonesia, sampai pramban pun aku ga tau itu apaan. Jadi garis merah yang mengikat kalian berdua adalah kalian berdua sangat gemar bahasa Indonesia yah. Jelas kita bangsa Indonesia nya yah. Tapi kenapa kamu berdua in particular ingin memajukan bahasa Indonesia terutama di bidang informatika.

IL: Sebenernya awal awal gw ga terlalu peduli masalah bahasa, yang penting itu, mau nyampur bahasa indo, bahasa english, bahasa jawa ga peduli. Cuman sejak mulai wikipedia bahasa Indonesia, tahun 2006 itu, gw melihat bahwa yang paling penting itu jadi kalau lo nulis dengan satu bahasa, lo harus menulis dengan bahasa tersebut yang baik. Nah jadinya karena sehari hari gw sampai 10 jem di wikipedia bahasa Indonesia, yah mau ga mau gw terpaksa untuk mempelajari bahasa Indonesia. Itu awal nya kenapa kemudian gw suka banget sama topik yang membawa bahasa Indonesia, kurang lebih begitu lah,

RW: Obsesi nya kenapa tuh van, sampai spend 10 jem di depan wikipedia.

IL: Mungkin pasaran, kalau menurut gw salah satu tipe yang bagus dari media itu adalah dia membuat article yang belon, ada articlenya berwarna merah. jadi sangat eye catching, ya karena itu setiap kali gw membuat article loh article ini belon ada, nambah lagi bikin article yang itu terus kemudian ada lagi, jadi ngambung terus, ga berenti.

RW: Ibaratnya kaya Alice in Wonderland, rabbit hole yah?

IL: Iyah, begitu lah.

RW: Sedangkan lo gimana Rom?

RH: Kalau di bilang alesan yang muluk muluk, sebenernya ga juga yah. Kebetulan di rumah aku ada laptop, kebetulan ibu aku lagi mampir di rumah di Jerman, gimana si caranya buka halaman berita jawa post. Itu salah satunya, Yang kedua, gw cuman sedih ajah kalau melihat pas waktu itu Linux Blangkon sudah hampir sebagian besar pakai bahasa Indonesia kenapa yang program pramban yang paling populer sedunia Linux itu kenapa masih pake bahasa English, gitu ajah. Emang pada saat itu, oke ada beberapa usaha cuman berenti di versi tertentu. Ya udah, dari situ kemudian kita mencoba menterjemahkan antar muka, pada saat itu kesulitan.

IL: Coba tanya Ronald, antar muka dia tau ga apaan itu

RW: Pramban tadi itu belon tau, haha

RH: Ya apa pandanannya ada history, ada view, ada window, cut copy paste, find gitu kan, ga semua orang ngerti, Kalau pertama kali pake komputer windows, pake program office mungkin, mereka bisa belajar. Kalau pertama kali pakai, kan tetep ajah mereka harus belajar bahasa English dulu, Kenapa belajar bahasa English dulu hanya untuk make komputer kan.

RW: Dan ini masuk ke topic kita selanjutnya yah, yaitu penting atau tidak penting kah istilah teknik informatika untuk di bakukan, cari pandanan katanya. Ini salah satu topic yang Ivan bicarakan di mailing list id indonesia.php, dia ngomong soal kenapa sulit istilah itu untuk di bakukan dan kenapa para programmer mulai make istilah yang benar.

IL: Yaitu tadi motivasi nya bahwa kita ini yang ngerti bahasa English, yang cukup beruntung untuk mengerti 2 bahasa itu cuman puncuk dari huruf S. Kita tuh cuman segelintir dari masyarakat bangsa Indonesia. Bokap lo, nyokap lo, ya mungkin kalau lo orang berpendidikan mungkin nyokap bokap lo cukup ngerti. Kaya bokap gw gitu misalnya, dia itu cuman pegawai TKI, dia itu senang sekali begitu tau nokia nya dia itu bisa ada antarmuka berbahasa Indonesia. Dia seneng banget. Dan itu banyak orang yang kaya gitu, Kira kira kita sih ga masalah. Gw ketemu guru smp, mreka itu sering sekali perlu cari bahan untuk di ceritakan ke murid nya tapi mereka itu ga berjaya karena sebagian besar materi dari internet itu bahasa English dan di Jakarta emang kualitas guru kita belon sampai ke taraf harus mengerti bahasa English, itu belon. Kebayang dong orang yang mesti ngajar, yang mesti mencitpakan, yang ngajarin ke penerus bangsa kita itu, ga bisa ngajarin sesuatu yang advance, kan sayang banget. Jadi tujuan gw adalah kenapa kita harus menciptakan terminology bahasa Indonesia untuk semua bidang ilmu adalah penyerapkan kita ke orang Indonesia.

RW: Dari sisi teknology, kosa kata di IT particular. Kayanya banyak banget kosa kata yang berawal dari bahasa English, dan mungkin itu ada salah satu hubungannya dengan inovasi terjadi kebanyakan di negara barat yang memakai bahasa English akhirnya penamaan penamaan yang memakai terminology tersebut berawal dari bahasa English. dan cukup sulit mungkin bahasa Indonesia untuk mencari pandanan katanya semua terminology yang cenderung lumayan cepet datangnya, iyah ga sih. Karena technology pada dasarnya selalu berubah dan selalu ada inovasi baru, Cara seperti apa?

IL: Bentar bentar, lo mesti ati ati lo mau mengucapkan bahasa English, bahasa Indonesia, bahasa Jakarta.

RW: Habis dari tadi kalian berdua yang memakai pilihin katanya tepat banget. Jadi gw ga mau kalah juga, haha. Jadi gw pengen memastikan kata kata gw juga pristine. Jadi menurut kalian berdua gimana caranya supaya kita bisa keep up sama semua terminology yang keluar secara cepet gitu

IL: Menurut gw gini, gw sudah cukup di wikipedia, yang kita lakukan adalah kita berusaha membuat terminology, padanan padanan untuk kata kata yang belon ada. Tapi yang gw temukan yang sangat gw percaya adalah sulit untuk menemukan pandanan kalau kita ga ngerti apa yang kita ngomongin. Kalau lo ga tau apa yang lo sedang ngomongin, otomatis lo ga bisa membuat sesuatu dari sana dong. Contohnya begini, sekarang gw lagi mencoba menterjemahkan gadget dan widget, kalau lo berusaha menerjemahkan itu apa sih bendanya. Kita sempet mau menerjemahkan itu menjadi gawai dan gawit. Gawai, iu kan sebenernya sangat cocok dengan pengertian gadget sendiri kan. Gawit itu diambil dari gawai rawit, jadi gawai yang kecil. Widget itu emang definisinya kalau lo liat dari definisinya, itu asal katanya dari Gadget, cuman di tambahin depannya wi, cuman dia itu cuman punya sifat yang kecil. Itu salah satu contoh pembentukan kata mesti ngerti bener apa yang lo ngomongin.

RW: Apakah menurut kamu dengan terminology terminology seperti ini bisa memudahkan purpose kamu tadi yah, guru guru dan dengan yang tidak familiar dengan bahasa English dan sebagainya. Karena mungkin ada orang yang punya pendapat juga, toh kita mesti blajar terminology baru, mau ngomong wizzard atau wisaya atau gadget atau gawai, toh kalau kita sudah tau gimana mengasosiasikan sebuah kata dengan concept nya, akhirnya kata itu cuman sekedar jadi kata, cuman sebagai nama.

RH: Kalau kita mau memadankan sebuah kata dengan kelompok istilah technology. kita liat sebenernya, kata ini sudah popular ga sih. Gw cuman ngambil kasus, misalnya bookmark. Bookmark itu ya kalau lo liat kadang kadang bisa dianggap sudah sangat sangat umum, akan susah sekali kalau bookmark ini aku cari padanan di istilah indonesia, misalnya penanda buku gitu. Dan itu kalau menurut aku ga terlalu penting semua untuk dicari padanannya, server misalnya, itu kan istilah yang sudah sangat unik. Mungkin kalau kita mencari padanannya jadi peladen atau pelayan. Kalau orang, misalkan gw sebagai user ni, ngomong ke customer support, peladen nya sekarang mati yah, si customer support ngerti ga. kan ga juga. Coba kalau ngomong server email nya mati ga? Sebenernya kan jadi ngerti satu sama lain. Sebenernya inti kalau menurut aku si, orang ngerti apa ga, populer apa ga. Kalau kita berusaha ingin mempopulerkan, sebnernya itu bisa dengan cara gradume, sebagai contoh, kebetulan firefox ini adalah satu program yang paling disukai, Kalau kita pengen mempopulerkan sebuah kata, ini bisa jadi media. Orang dulu mungkin ga tau, tempel hapus itu apa, cuman bakal undo, ulangi jadi redue, potong jadi cut, salin jadi copy, itu bisa jadi, sepertnya mediumnya itu aja.

IL: Kalau menurut gw pentingnya itu dari itu dari sisi, process pada saat waktu membuat padanan, Itu menjadi suatu discusi, discusi tersebut akan membuat pemahaman. Pemahaman kita makin mendalam. Untuk kita bisa menekankan kepada orang bahwa ini terjemahan gw mengenai gadget dan widget ini bener loh, berarti gw kan mesti membuat argumentasi kan. Karena itu pemahaman semua orang yang terlibat di discusi itu semakin dalam. Itu salah satu yang menurut aku bisa dijadikan alesan kenapa kita harus memadankan semua. Kedua sebenernya bener ya, bahwa ada kebanggaan disana, kita punya loh suatu istilah unik untuk sebuah infomasi, kebanggaan bahwa bangsa Indonesia ga kalah

RW: Melanjutkan logika yang sama, hopefully masyarakat yang bakal memakai kata tersebut akhirnya bakal jadi mengerti concept yang dibicarakan. Akhirnya bukan sekedar nama, tapi mereka mengerti ada akhirnya untuk mereka yah

IL: Latar belakang gw karena medium gw wikipedia, gw mendiscusikan suatu kata, yang gw lakukan di wikipedia itu mendiscusikan satu kata. Jadi gw ga pernah takut untuk menciptakan satu kata baru yang kemudian gw harus bertanggung jawab untuk mendiscusikannya karena itu kerjaan gw hari hari.

RW: Gw lumayan penasaran, siapa sih yang mengurusin kosa kata di Indonesia, apakah ada suatu pusat pemerintahan yang bilang oke kata itu kita terima ataukan ini purely soal peer acceptance dan public acceptance?

RH: Kalau yang ngurusin kosa kata siapa, itu sebenernya dulu sudah ada aturan pemerintahnya. Nah, cuman masalahnya kan cuman dari pemerintah saja kan pasti ga terlalu jalan. Di pusat kalau badan pemerintah ada website pusat bahasa, itu yang mengelolahkan kamus KBBI. KBBI itu apa sih Van?

IL: Kamus Besar Bahasa Indonesia

RH: Gw ingetnya yang KUBI, Kamus Umus Bahasa Indonesia, Nah dari sebenernya dari pusat bahasa itu, mereka punya ahli ahli yang mencari padanannya atau mencari arti nya, kata ini di gunakan untuk apa, kemudian bagaimana penulisannya, mereka punya ahli ahlinya untuk itu. Nah kita kalau mau meresmikan mereka sebagai sumber resmi yah bisa bisa ajah, toh mereka dari sumber pemerintah, Cuman masalahnya kebanyakan istilah istilah yang gw inget dari aturan pemerintah itu ga terlalu terkenal, karena jarang yang pake itu ajah

IL: Kalau kita melihat dari pusat bahasa, cuman siapa yang membuat satu kata itu juga sama dengan bahasa English, terminology nya itu bisa di perkenalan oleh siapa pun. Itu yang terjadi di Indonesia, contoh paling populer adalah celebrities, timbul kata kata tersebut karena media dong. Nah masalah nya sekarang kalau menurut gw, misalnya orang orang, ahli musik, kenapa. Karena mau ga mau, kita tuh ga sejago mereka. Dalam penggunaan kata kata musik kita tuh ga sejago mereka. Nah yang bisa kita lakukan adalah mengerti makna artinya lah, itu yang belon kita bangun, itu yang pengen dibikin olek kateglo.

RW: Tapi itu way yang bagus banget buat ngomongin kateglo. Ada yang mau ceritain mungkin kateglo, conceptnya apa dan apakah itu kateglo.

IL: Awalnya gw sama Romi waktu itu bulan apa yah itu.

RH: Pokoknya pas gw balik, april mestinya

IL: Itu kita ketemuan disana, kita sempet ngobrol. Untuk kamus kita sudah punya, Nah kemudian, gw inget bulannya May apa Juni. gw lagi pergi ke Singapore, gw di rumah sendirian, tengah malem ga ada kerjaan, ya gw mulai bikin, siapa ya yang bisa gw rong rong, gw tanya tanyain. akhirnya sama Romi. sekitar 3 jeman kita mulai bikin concept dasarnya. tapi jadi ujung ujungnya kita ga jadi buat thesaurus, jadinya ujung ujungnya bikin sesuatu yang kamus, glorasium, dan thesaurus. Jadi pada satu website, kita bisa melihat semua informasi tersebut.

RW: Oke, kateglo ini yang belon tau bentuknya berupa website ya. Yang isinya adalah kamus, thesaurus, glosarium bahasa Indonesia.

IL: Iyah betul.

RH: Bisa di akses di kateglo.com

RW: Dan content nya itu di dapatkan dari mana ajah?

IL: … Problemnya dengan KBBI online itu adalah sulit untuk mendapatkan data dengan mudah, mereka pake system nya post link.

RW: Buat hyperlink dan sebaginya yah, bisa dengan mudah nya hyperlink ke kata kata tertentu.

IL: Betul, juga structurenya KBBI sejak awal mereka buat ada lema, sublema. Contoh coba lo cari kata blajar, pasti ga ketemu. Kenapa, karena kata blajar adalah kalau lo cari harus tau kata dasarnya apa. Jadi lo harus cari dari kata dasarnya, karena dia sublema dari lema dasar tersebut. Nah itu kan kaya lo skarang gw tanya, coba cari kata memerinci, lo tau ga harus masukin kata dasarnya apa. Kalau lo masukin rinci, ga ketemu. Karena kata dasarnya adalah perinci.

RW: Dan kateglo ini, engine nya sudah cukup pintar untuk mengenal imbuhan dan suplemanya itu.

RH: Kalau imbuhan belon, tapi kalau kata turuan sudah .

RW: Jadi satu step yang lebih canggih dari KBBI. Yang membuat kateglo itu lebih berguna lah yah

RH: Paling tidak itu lebih mudah.

IL: Lo bisa hyperlinking dengan mudah. Misalnya mau share itu gampang.

RW: Dan kembali ke point yang Ivan tadi bilang yah, salah satu cara untuk memperkenalan kata baru ke masyarakat adalah melalui kateglo. Kalau misalnya ada conflict sama pusat bahasa itu sendiri, apa yang akan di lakukan, gimana philisofi nya itu sendiri, apakah mengangkap pusat bahasa itu menjadi sebuah kitab yah ibaratnya. Oke, walaupun ada usualan kata dari peers, pusat bahasa itu source of truth akhirnya jadi pusat bahasa, atau gimana?

IL: Ini, gw pernah discusi sama Romi. Kalau gw melihatnya bahwa bahasa itu adalah jadi jangan sampai ada satu pihak yang ditinggalkan…

RH: Kalau menurut gw kan sebenernya gini, arah ke depan kateglo kan gimana cara melibatkan pengguna untuk mengisi atau kemudian menambah definisi baru atau menambah kata baru, gitu kan. Nah kalau misalkan pengin meng submit sesuatu ke KBBI pusat bahasa, kita sudah punya documentasinya, Ini loh orang memperdebatkan ini, banyak yang setuju pake itu, semua orang lebih suka kata ini. Oh yah sudah, Mungkin si authoritas sudah punya bahan untuk masukin ke KBBI, jadi kalau penerjemah tersumpah itu kalau ga salah itu harus menuju ke suber terjemahkan yang legal, kalau disini sumber terjemah legal kan yah KBBI, yang di angkat terjemahan resmi, begitu kira kira.

RW: Tadi lo sebenernya lumayan bisa membaca pikiran gw, tadi gw pengen nanya sebenenernya kateglo itu menerima submisi dari user user nya apa ga. Tedengerannya dari penjelasan lo Rom, belon tapi itu yang kalian pengen work towards yah.

RH: Iyah betul

RW: Dan lucunya begitu sudah sampai level itu akhirnya kateglo atau mungkin bisa disankutin dengan mailing list yang Ivan bilang. Kalian menjadi sebeuah kelompok leverage yah, leverage buat make sure pusat bahasa Indonesia melakukan effort yang cukup untuk develop bahasa Indonesia yang lebih lanjut yah.

IL: Iyah betul

RW: Tapi gimana find balance antara submisi yang sekedar popular trend sama submisi yang berkualitas tinggi.

IL: Yah itulah, sampai sekarang kita belon menemukan, modelnya kaya gimana kita belon nemu terus terang

RH: Sebenernya kalau ga salah dulu rencananya mau bikin model facebook gitu yah, jadi setuju atau ga setuju kalau ada kata baru yang mau di terjemahkan. Tinggal register, claim setuju atau tidak setuju, kalau misalkan mau mengirimkan kata baru, yang silahkan.

RW: Oke, dan yang mungkin perlu di balance juga antara branding antara categlo sebagai sumber kebenaran sama kateglo sebagai social group yang punya interest dalam kata kata yah. Karena misi bisa jadi ngerubah dictionary gitu ga siy.

IL: Iyah betul

RW: Yang malah akhirnya jalurnya kan beda banget dari sepertinya asensi kateglo yang saat ini kan.

IL: Itu trade off nya kan. Kita berusaha jangan sampai, itu yang lo bilang tadi. Orang jadi pakai kateglo sebagai sumber yang cukup di percaya. Gw sudah cukup pengalamanan dengan wikipedia, akedemi itu belon menganggap wikipedia sebagai salah satu sumbernya. Gw ga mau itu terjadi lagi di kateglo.

RW: Gimana caranya nge submisi sebuah kata karena kata itu kan penggambaran sebuah concept, yang mungkin abstract, mungkin fisical, iyah ga sih. Dengan mudah kalau kata itu sudah di ciptakan di bahasa asing, misalnya dalam terminology, mouse itu padaan katanya munkin orang ada bilang a, ada yang b, ada yang bilang c, ada yang bilang d, dan seterusnya. Tapi gimana kalau concept ini sesuatu yang abstract, belon tergambarkan oleh bahasa lain. Kembali ke point yang gw bilang ke lo van, eskimo punya 9 kata buat es, sementara korea punya 6 kata buat bilang kamu. Semua lebih ke culture, nilai nilai kuat apa yang mereka pegang sehari hari. Kembali ke nge tied in, concept itu dengan concept submisi kata, gimana caranya untuk menggambarkan sebuah concept kalau katanya belon ada.

IL: Dengan definisi lah, berapa panjang lo mau menjelaskan kamus itu lo harus membatasi definisi itu. Intinya harus banyak, Ada 2 hal, yang pertama adalah kata kata yang berbeda untuk suatu makna, nah itu dilakukan dengan definisi. Sebenernya sangat banyak yah di bahasa Jawa. Kata makan untuk bahasa Jawa itu banyak banget. gimana cara membedakan satu sama lainnya. Misalnya ada bahasa Jawa a, makan dengan tangan…

RW: I guess kalau misalnya kita mau turun yang lo bilang tadi yah, rabbit hole lagi yah. Kalau ngomongin soal penemuan, akhirnya berubah branding, iyah ga sih. Karena kita punya satu ide, satu ide kita namanya a karena sifatnya, apa sangat dekat dengan abcdefg dan seterusnya, Akhirnya berubah dari tadi kita ngomongin soal bahasa berubah jadi concept dan penamaan branding bahkan yah.

IL: Kateglo ajah, pertama kali kita ngumpulin kata kata itu, kita pikir itu, kateglo itu nama dari mana ini, aneh banget, tapi kita tetep ajah buat

RW: Cuman salah satu point yang aku pengen bikin juga dari pembicaraan kita barusan adalah aku takutnya karena bahasa itu adalah sangat refleksi dan cerminan sebuah culture yah kalau misalnya kita sangat konsentrasi penuh untuk kita sekedar menterjemahkan bahasa asing ke bahasa indonesia kayanya lumayan sedih Dan akhirnya cuman jadi pembuntut lah, jadi pengikut orang.

IL: By the way gw baru inget ada 1 yang kita punya.. yang secara di puter.. Yang dia lakukan adalah gini, di Indonesia itu jalanan ga boleh terlalu lama itu ditutup. Kenapa, karena kalau ga macetnya parah banget kan. Jadi yang dia lakukan adalah bikin itu dalam kondisi yang sejajar dengan jalan. Begitu sudah jadi, di puter sama dia jadi melingtang. Itu bener bener Indonesia. dan orang bule make nya nama itu. Keren kan kalau kateglo ntar dijadikan kata yang merupakan antara satu penggabungan antara dictionary, thesaurus, dan glosarium.

RW: Semoga semoga. Oke, sekarang pertanyaan terakhir sebelon kita nutupin episode kali ini. Status adopsi kata kata informasi technology di Indonesia itu sudah sampai mana menurut kalian?

RH: Sebentar sebelonnya menurut aku ada 2 sisi di informasi technology, yaitu sisi yang programmer kemudian sisi end user yang make, gitu kan. Nah kalau di sisi end user si menurut aku yah sekarang sih sudah jauh lebih bagus dari 3-4 tahun yang lalu gitu kan. Tapi kalau si sisi programmer, sebenernya menurut aku lebih baik kalau di pertahankan dengan bahasa English, karena apa, karena ya terlalu banyak documentasi dalam bahasa English dan mungkin sudah baca semua kalau lo mau ngelamar ke luar negeri dengan kemampuan bahasa Indonesia ajah, yah dibebankan, gitu ajah, Jadi kalau menurut aku pemanfaaat technology end user, saya kira jauh sudah sangat berkembang.