Sayasangatsenangmencarilahanbaru.Masihbanyakyangbisadigarap.Sayasangat terinspirasidenganapayangsenantiasadilakukanparainovator.Merekasenantiasaingin tahu,senantiasamembuktikankonsep,dansenantiasamembuatsesuatuyangsebelumnyatak terpikirkanoranglain.Yangpalingpenting,lahanyangmaudigarapituharus bermanfaat nyatabagibanyakorang.Apayangharusdigarap?Banyaksekali.Danbidangyangakansaya bicarakanadalahGUI.TulisaniniberbicaramengenaimasadepanLinuxdesktopversisaya. AlasanDikatakanDemikian KarenaLinuxdesktopsaatinimasihkompleksuntukpengguna. UserFriendlyituApa? Realitasyangbicara.Sesuatudikatakanuserfriendlyjika: Userhanyabutuhsedikitgerakuntukmencapaisatutujuan Ujungujungnyahematwaktu,hemattenaga,danhematuang
UntukSiapaTulisanIni
SemuaorangyangmenyadarikekuranganLinuxdesktop SemuaorangyangobjektifmengakuikesederhanaanOSlain NonfanatisOS SemuaorangyangmauturutmembangunLinux Yangmemegangprinsipmesinyangmelayanimanusia
BukanUntukSiapaTulisanIni
FanatisLinux YangmerasaLinuxdesktoptidakusahdiperbaiki YangmerasaLinuxdesktoptidakadamasalah Yangmemegangprinsipkebalikandarimesinyangmelayanimanusia
IdeDasar
MasalahUtama
ToReduceComplexity
Sebelummelajulebihjauh,inidulu.Inilahsloganintiyangsayaangkatdalamesaiini.Satu kata:sederhana.Membuatsesuatumenjadisederhana.Artinyaadalahmengurangikerumitan. Prinsiptoreducecomplexityinilahyangakanmembawasesuatuyangtadinyakompleks/rumit menjadisederhana.Kalausederhana,sesuatuituakanmudahdigunakan.Sayabericontoh sebagaimanahasilobrolansayadikanal#debianidolehseorang maintainerDebian internasionalyangbernamajonass. Ada2benda.Satukotakdansatulingkaran. Rumusmatematikauntukkotakpanjangxlebarsedangkanlingkaran22/7xpixrxr 1. Manayanglebihkompleksrumusnya?Jawabannyatentulingkaran. 2. Manayanglebihsusahkalaudigunakanmenggelinding?Jawabannyatentukotak. Terimakasihuntukjonassatasanalogiini. Poin1menunjukkanbahwakotak()itulebihmudahaliaslebihsederhanadaripada lingkaran()darisisideveloper.Poin2menunjukkanbahwalingkaran()itu,meski rumusnyasusah,tetapisederhanadanmudahdigunakandalamhalmenggelinding (digunakansebagaiban)darisisipengguna.Darisinibisakitaambilkesimpulankalau kompleksitu=lebihbanyakgerakuntukmencapai1tujuan.Lawankatakompleksadalah sederhana,jadisederhanasendiri=sedikitgerakuntukmencapai1tujuan.Danesaiinihanya membahassederhanauntukpoin2.Sederhanauntukpengguna.Linuxdesktopitukompleks. Harusdisederhanakan.Dankesederhanaanuntukpenggunainibisadicapaidengankonsep to reducecomplexity.Bagaimanamelakukannya?
Solusi
GUI.
PenjelasanSolusi
YangbisadilakukanadalahmemperkayaLinuxdenganGUI.Sebelumnya,marimengenal makhlukapaini.GUIadalahgraphicaluserinterface,sebuahteknologiuntukmenerjemahkan bahasaantarapengguna(manusia)dankomputer.Manusiamaunyabegini,GUI menerjemahkankekomputerbegitu,dansebaliknya.GUIadalahsegalaaspekbergambaryang kitalihatdimonitor,yangbisadiklik.GUIadalahkesatuandaritombol,ikon,menu,toolbar, combobox,panel,danlainlainuntukmembantukitamenyelesaikanpekerjaandikomputer. GUIinilawandariCLI(commandlineinterface),teknologieralama.DiCLI,segalanya dilakukandilayarhitamdenganmengetikperintahperintah.GUIberjiwakanprinsip clickand runyangmerupakanbentukprinsiptoreducecomplexity.Daritadinyaharushafaldanketik perintahperintah,sekarangcukupklikdanmasalahsamasamaselesai.Sampaisinimestinya mudahdipahami.Jikabelum,inisayabericontoh: Manayanglebihsederhana:menyetirbelokkanandimobildenganputarsetirkekanan (1gerakan)ataudenganperintah$sudobelok45d15d5dkanan(34gerakan)?
ContohNyataSolusi
Otodidakdibuatdenganharapantoreducecomplexity.ApasajayangdilakukanolehOtodidak? 1. UntuknewbiepenggunaWindows:tidakusahinstalLinux(minusratusanklikdan puluhankegagalan)untuksekadarbelajarLinux. 2. UntuknewbiepenggunaLinux:tidakusahbanyakbrowsing/tanya/menunggu lama/usahauntuksekadarmemahamidasarLinux. 3. Untukdeveloper/pengayomkomunitas:tidakusahrepotmengajarinewbiecukup katakan'cobalahOtodidak'untukhalhaldasar. Hasilnyaadalahpenghematanterhadap: jumlahklik, jumlahusahayangharusdilakukan, jumlahkegagalanyangbisaterjadi, jumlahuanguntukbrowsing, jumlahbandwidthpribadiyangharusdihabiskan,dan jumlahwaktuyangmestiterbuang. OtodidakdibuatberdasarkankesadaranbahwaLinuxdesktopiturumit.Linuxdesktopmasih kuranguserfriendly.Maka,minimalharusadasistemyangmengurangikerumitanitu. Otodidakadalahproposaluntuknya,namunhanyadarisisipembelajaran.Inilahcontohnyata penerapantoreducecomplexitydiLinuxdesktop.
Apayangbisadilakukan?
JalanpertamaMembuatAplikasiGUI
TernyatabanyaksekalilowonganuntukmembuataplikasiGUIdiLinux.Lebihmudah dipahamidenganide. 1. InternalCropperuntukLibreoffice/Openoffice 2. ImageViewerringanyangbisacrop 3. DownloadmanageryangpersisIDM(katakanlahIDMclone)
4. Overcloker/underclocker 5. PemaketDEBmenjadi1berkassiapinstal(bayangkanEXE) 6. FolderProtector 7. BackupToolyangsuperlengkap 8. Customizeruntukdesainkaos 9. Customizeruntukdesainsepedamotor/mobil3D 10. Perancangstikerotomatis 11. Perancangundangannikahotomatis 12. Sketchupclone 13. Alarmpraktis 14. BackupToolyangpraktisuntukFirefox/browserlain 15. Pengingatwaktushalat 16. PerancangtemaWordpressdraganddrop 17. PCSuiteserbabisauntukhapehapeyangberedardiIndonesia 18. Printerresetter 19. Printermanager(bisacleaning) 20. Backuphape(sms,kontak,dkk.) 21. Multisim,ISIS,Workbenchclone 22. PCWizardclone 23. Speedfanclone 24. GUImockupcreator 25. Colorpicker 26. Webforumclient
JalanKeduaMembuatkanGUIdariCLI
GUIuntukaplikasiCLIitubiasanyadisebutfrontend.SedangkanCLInyadisebutbackend. Contohyangsepertiiniadalahaptget(backend)yangmemilikiGUISynaptic(frontend). Contohlainnyaaxeldownloader(backend)denganAxelKapt(frontend).Jalankeduaini umumnyalebihmudahdariyangpertamakarenahanyamembuatGUIdariaplikasiyang sudahada. 1. TweakToolyangserbabisa 2. PenyimpanDEBdaricacheuntukdiinstaldikomputerlain 3. SystemLanguageChangeryangsekalikliklangsungberasa 4. Proxymanagerserbalengkap 5. WifiSharing(sepertiConnectifyMe) 6. Universalmodeminstaller 7. Pengecekhashberkas 8. Showfoldersize 9. Nautilusprofilesaver/loader 10. Deepfreezeclone 11. PerancangtemaUbuntudraganddrop 12. Frontendyanglebihbaikuntukaxel 13. Frontendyanglebihbaikuntukwget 14. Frontendyanglebihbaikuntukaria2
15. Frontendyanglebihbaikuntukjigdo 16. StandaloneDownThemAll! 17. AttributeChangeryangpraktis 18. Switchuntukmematikantombolsuspend/hibernate 19. BurneryanglebihcantikdariNero 20. KajianPlayer(streamerdandownloaderuntukilmoe.com) 21. Backupflashdisk(miripthumbsuck) 22. SudoThis!(sudodpkgi*.debdalamklikkanan)untukNautilus 23. BackuprutinisicacheAPT 24. Automaticwallpaperchanger 25. Libreofficeequationeditoryangsuperpraktis 26. Batchrenamer Sekianduluidedisini.JikaAndainginmemperolehidejuga,bukasajamajalahPCMedia atausebangsanyalalubukapadababaplikasibulanini.Andaakanmemperolehjauhlebih banyakide.Ya,jikadarisatuorangsajabisaterlihatsekianbanyaklowonganGUIdiLinux, berapalagijikasetiapwargaKPLImemilikiidenya?Masihsangatluas.
SedikitPenjelasanIde
JembatanMenujuGUI
DiWindows,kitasemuakenalAutoit.IniadalahbahasapemrogramanuntukmenciptakanGUI dariperintahperintahCMD.Sebagaicontoh,untukmelakukanassembling.asm,temansaya memakaiTurboAssembler(TASM.exe).Untukmenjadikan.exe,iamenggunakan(TLINK.exe). Setiapinginmembuatexebaru,iabukaCMDdanlakukanpengetikanperintahberulangkali. Anggapada10ketukankiboruntukmelakukannya(sebenarnyalebih).Datanglahtemansaya satunyamembuatkanGUIdenganAutoit,berdasarkanperintahperintahTASM/TLINKyang diapakai.JadilahcukupklikASSEMBLINGlaluklikLINKuntukmembuatexebaru.Lihat, cukup2ketukan.Jauhlebihsederhana.InilahAutoit. ZenitydanKdialogadalahAutoituntukLinux.Initidak100%samatetapiinilahrealitasnya. KitabisamelihatkegunaanZenitydalamotomasiperintahperintah,darisalahsatuproduk opensourcebuatanseniman,AwokenIconTheme.Iniiconthemeyangsangatcanggih.Untuk mengubahwarnadanbentukikondiseluruhkomputer,iamemanfaatkanZenity.Kitabisa mengubahwujudnyadenganGUI!Daninisebenarnyakitamelakukanperintahterminal. Hanyasaja,kitatidakmelakukannyakarenasudahdikerjakanolehZenity.Kitacumaklikdan jadi.Sangatmenarik,bukan?Kdialogpunserupa.
ProyekBesar
Otomasi
Penasaran?
JikaAndamerasaterganggudenganulasankekuranganLinuxini,mungkinadafaedahnya sayamemperkenalkandiri.Sayaadalahanakyangmengenalteknologiinformasidari game development(tidaksebaliknya).TentulahgamedevelopmentituadanyadiWindows.Sayamulai mengenalnyatahun2006.Danhinggakini,saya,tidakbisamelupakankesederhanaandan kemudahanWindowsdalammembuatgame3D.Sayamasihpercayapembuatansoftware palingsulitadalahgame.DanWindowsbisamelakukannyadengansangatmudah.Dengan draganddrop.Alangkahmudahnya,bayangkan!Pemrogramanyangpalingsusahsajabisa dilakukandengansangatmudah.SegalanyaGUI.Tanpasayabelajarperintahterminalatau sedikitbahasaskripsekalipun.HTMLpuntidak!Bahkanhampirtidakmemakaikodesama sekali.SayabisamembuatgamesepertiCounterStrikedalamsatujam.Danyangsepertiini tidakadadiLinux.Sayamelihatprinsipnya,toreducecomplexityituditerapkansecaraekstrem diWindows.MakasangatmudahbagisayauntukmengatakanLinuxitukurang userfriendly. LinuxmemangbukanWindows,tetapikalaukitainginmempromosikannyakepadapengguna Windows,makakitamestimembuatnyasederhana. Nah,apasihkuncinya?Kuncinyaadalahaplikasipembuatgameseperti 3DGameMaker(http://www.thegamecreators.com/?m=view_product&id=2126), 3DGamestudio(http://3dgamestudio.com), Unity3D(http://unity3d.com/creategames/), 3DRAD(http://3drad.com), RPGMaker danlainlain. Sayadulumenggunakantrialnya3DGamestudiodansangatmenakjubkan.Sangatgampang.
Penutup
RujukanZenity
1. http://linux.byexamples.com/archives/265/acompletezenitydialogexamples2/ 2. http://rangers206.blogspot.com/2013/01/membuataplikasiguidilinuxdengan.html 3. http://ugos.ugm.ac.id/wiki/panduan:panduan_membuat_aplikasi_gui_sederhana_men ggunakan_zenity 4. http://bash.cyberciti.biz/guide/Zenity:_Shell_Scripting_with_Gnome 5. http://nananananacurhatan.blogspot.com/2011/10/belajarzenityshellscript.html 6. http://linuxlibrary.org/zenitysimpleguicreationtool/ 7. http://www.techrepublic.com/blog/opensource/guiscriptingwithzenity/235 8. http://jakedth.tumblr.com/post/115232785/festivalzenityeasyguiinterface 9. http://www.linuxplanet.com/linuxplanet/tutorials/6838/1 10. http://www.linuxplanet.com/linuxplanet/tutorials/6838/2 11. http://tildehash.com/?article=advancedapplicationshortcutswithzenity
RujukanKdialog
1. 2. 3. 4. http://techbase.kde.org/Development/Tutorials/Shell_Scripting_with_KDE_Dialogs https://www.bg.bib.de/portale/bes/Scripting/Shell/kdialog/t1.html http://bash.cyberciti.biz/guide/Kdialog:_Shell_scripting_with_KDE http://www.wikilearning.com/articulo/shell_scripting_en_kde kdialog_dialog_types/1935
Penulis:AdeMalsasaAkbar