Byte me.september.2003

13
STIKOMPlus & STIKOM Linux Users Group Open Publication September 2003 / Volume 1 Issue 2

description

 

Transcript of Byte me.september.2003

Page 1: Byte me.september.2003

STIKOMPlus & STIKOM Linux Users Group Open Publication

September 2003 / Volume 1 Issue 2

Page 2: Byte me.september.2003

So, What's Next... << Out of The Box

Edisi kedua ini kami berusaha tampil lebih baik dengan perbaikan disana sini, mulai dari layout sampai ke isi. Kami juga menerimabeberapa usulan diantaranya adalah tata layout yang lebih baik serta perbaikan tipografi. Selain itu kami tampil dengan tambahan 2kolom baru yakni Cute-Tea dan Essentials, Cute-Tea merupakan sumbangan tulisan dan ilmu dari Alfin sedangkan Essentials adalahtema utama majalah digital ini. Diharapkan dengan adanya bahasan utama mulai edisi ini kami dari redaksi {Byte Me!} dapatmemberikan sesuatu yang lebih dari yang lain. Kami juga masih mengundang para penulis untuk menyumbangkan tulisan danilmunya bagi kemajuan kita semua. Ilmu tidak akan berkurang karena diajarkan, justru ilmu semakin banyak diajarkan semakinbertambah. Rencananya mulai edisi kedua ini kami akan terbit dalam bentuk cetak, namun karena satu dan lain hal untuk sementarakami terbit dalam bentuk majalah digital saja.

Editor in Chief | Nuzli Latief Hernawan

{Byte Me!} Digital Magazine Syndicate

CONTRIBUTORS

Amygdala Nuzli Latief HernawanT03B4 M. Daud Setiawan Mukadar

kopiJahe Muhammad NasrullahLinuxCandy Nuzli Latief Hernawan

Cute-Tea Muhammad Alfin Nur HakimTry This One! Nuzli Latief Hernawan

[+] CLINIC ADVISORS

Linux Multimedia Nuzli Latief HernawanNetwork Security Diyan Christian

GTK+ Programming Ignatius Harnanto H.QT Programming M. Alfin Nur Hakim Shell Scripts M. Daud Setiawan MukadarDebian Linux Specialist Indra Kusuma

Slackware Linux & *BSD Specialist Diyan ChristianJava Programming Muhammad Nasrullah

Web Administration Specialist Erwien Samantha Y.

CONTACT

STIKOMPlus Research & Development Grha Kreativitas Level 2 STIKOM Surabaya

Jl. Raya Kedung Baruk 98Surabaya – Jawa Timur

E-Mail : [email protected]

{Byte Me!} Digital Magazine Syndicate

PUBLISHER

STIKOMPlus & STIKOM Linux Users Group

EDITORIAL

Editor in Chief Nuzli Latief HernawanCo-Editor M. Daud Setiawan Mukadar

Local Content Editor Daniel Satrio KoestoroProofReader M. Nur Budiwijaya

NewsCaster Santo Doni Romadhoni

SUBSCRIPTIONS

Just join our mailing list at: [email protected]

[email protected]

LICENSE

This magazine is under protection of Artistic License 2.0, aslightly loosed version of the old Perl Artistic License thatallows you to have verbatim copy of this magazine for free

(and feel free to quote it!) but with no writing and design stylechange. We are under consideration to move to other licensessuch as the GNU/FDL, OPL, or even create our own license.

Copyright Notices >> Linux ™ is a trademark belongs to Linus Torvalds; Microsoft® Windows™ family is a trademark ofMicrosoft® Corporation; Adobe PDF™ is a format created by Adobe® Corporation;

Disclaimer >> All the software/source code provided, tested, reviewed, and recommended here is either an opensource or a freewarealthough written with various licenses like GNU GPL, OPL, GNU FDL, Artistic License, and many more. This magazine created withOpenOffice.Org 1.1.0rc3 and compiled to PDF with PDF Exporter (OpenOffice.org 1.1.0rc3 prebuild).

We would like to thank to our God, our parents, everyone who in their tightly scheduled time have a minute or two to write andcontribute to this magazine, also to STIKOM Linux Users Group, Linux Team STIKOMPlus, and all the supporters out there :)

Page 3: Byte me.september.2003

{Byte Me!} CONTENTS Essentials

G N U (GNU'S NOT UNIX)

Idealisme & PerjuangannyaSelama ini anda sering mendengar GNU/Linux, GNU/GPL dan semacamnya namunkonsep di belakang idealisme ini terkadang sering diremehkan orang, seperti padakasus SCO UNIX versus Linux Community yang menuduh GNU/GPL tak lebih darisekadar kontrak sosial yang tidak memiliki kekuatan hukum. Kini kami mengangkatapa dibalik konsep dan idealisme GNU dan pendirinya, Richard M. Stallman.

| 14

cover courtesy of rodrigo diaz alvena

VOLUME 1/ISSUE 2

GNU's Goat of The Free Software Foundation

Out of the Box | 2Perbaikan layout & typography majalahserta tambahan beberapa kolom baru..

Regular

Whispers | 4Berita-berita seputar dunia IT danOpenSource..

5 | LinuxCandyMembuat Video CD dengan VCDImager

& K3B..

kopiJahe | 7Singleton Pattern, apa dan bagaimana..

8 | Tipz & TrixKoleksi tips dan trik untuk memudahkan

pekerjaan anda..

Try This One! | 12SystemRescueCD 0.2.3 – Linux to therescue..

13 | [+] ClinicLinux untuk penggunaan complex text

layout seperti pada tulisan Arab..

Special

SLUG Profiles | 8Ingin berkenalan dengan ErwienSamantha?..

16 | STIKOMPlus OutLoud!GKMon dalam Seminar

Deuleureon Extreme Science 2003.

T03B4 | 9Kreatif pake f...

.

Cute-Tea | 10Simple tutorial using TrollTech'sQT..

{Byte Me!} Digital Magazine Syndicate / September 2003 / 3

Page 4: Byte me.september.2003

Whispers | LinuxCandy | kopiJahe | Tipz & Trix | SLUG Profiles | Amygdala | T03B4 | Cute-Tea

Headlines

Worm baru menyebar di Internet – 22 September 2003E-mail nampaknya secara terus menerus menjadi sasaran empuk teror internet, denganworm terbaru yang muncul dengan nama "Swen" yang menyebar melalui pertukaranfile melalui jaringan pertukaran file pada sistem operasi Windows.

http://newsvac.newsforge.com/newsvac/03/09/22/198257.shtml?tid=5

SUN CEO: Linux itu buat "penghobi" bukan enterprise – 22 September 2003Scott McNealy nampaknya masih kurang setuju apabila SUN Microsystem masuk kedunia Linux dan Open-Source, berkata kepada para peserta konferensi SunNetworkminggu lalu bahwa operating sistem ini (maksudnya Linux) hanya cocok untuk"penghobi" bukan kelas enterprise.

http://www.searchenterpriselinux.com/originalContent/0,289142,sid39_gci928789,00.html

Artikel: Membangun Personal Robot Berotak Linux – 18 September 2003Hanya dengan $449 ER1 Personal Robot System dari Evolution Robotics menjadi carayang menyenangkan untuk belajar mengenai robot. Menggunakan laptop sebagaiotaknya, didalamnya terdapat fitur sistem pengenalan video dan audio yangmengizinkan anda untuk memprogram perilakunya berdasarkan pada apa yang dilihatoleh kamera atau berdasarkan apa yang didengar oleh microphone laptop anda. Robotini juga dilengkapi dengan motor bertenaga baterai yang mampu membuatnya bergeraksesuai kehendak anda. Jika anda mendapatkan "Gripper Arm" optional yang berharga$249, ER1 dapat diprogram untuk mengambilkan anda minuman, atau membuka pintudan melihat siapa di sana.

http://newsforge.com/newsforge/03/09/15/1115231.shtml?tid=7

Artikel: Yet another wormy reason to switch from Windows to LinuxSerangan virus/worms/trojans dan semacamnya yang dibawa oleh email beberapawaktu yang lalu yang telah meruntuhkan pengguna Windows belum berakhir, dannampaknya akan seperti itu untuk beberapa waktu lamanya. Diskusi mengapa ini terjadidan siapa – jika ada – yang dapat bertanggung jawab terhadap kerusakan ini. Yangperlu ditekankan oleh penulis artikel ini adalah, bahwa pengguna Linux tidak perlukhawatir dengan serangan serupa yang berjalan melalui email mereka.

http://newsforge.com/newsforge/03/09/18/2142224.shtml?tid=5

NewsFlash

LinuxGames.Com ~ S-Line, perusahaanyang memproduksi games simulasitransportasi yang dikenal dengan namaSimutrans mengeluarkan release expansionset terbaru mereka nomor versi 0.82-7expdengan tambahan satu add-on.

DistroWatch.Com ~ Knoppix versi 3.3[STABLE] telah keluar dan siapdidistribusikan ke seluruh dunia. Alamatdownload dan mirror-nya bisa andadapatkan di http://www.knoppix.net/

CNet.Com ~ Para ahli keamananmengeluarkan peringatan akan adanyalubang keamanan pada dua buah aplikasiopensource yang sering dipakai yakniSendMail dan OpenSSH. Sangat disarankanbagi pemakai untuk segera melakukanupgrade ke versi yang lebih baru ataumelakukan patch ke versi yang lebih baru.

SlashDot.Org ~ Proyek RedHat Linuxmelakukan penggabungan dengan proyekFedora, sebuah grup yang spesialisasibidangnya adalah menyediakan paket-paketRPM berkualitas tinggi untuk RedHat.

LynuxWorks.Com ~ Rockwell Collinsmenggunakan LynuxWorks LynxOS-178sebagai embedded Real-Time OperatingSystem (RTOS) pada sistem on-boardpesawat Bombardier Challenger 300,Adaptive Flight Display. LynuxWorksmenyediakan hanya DO-178B Level Atersertifikasi POSIX kompatibel RTOS diindustri saat ini.

GnomeDesktop.Org ~ Minggu laluGnomeOffice 1.0 dirilis untuk konsumsipublik. Salah satu aplikasi yang banyakorang ingin menjadikannya bagian dariGnomeOffice di masa mendatang adalahgLabels. gLabels adalah aplikasi untukmembuat kartu bisnis dan label cetaklainnya.

LinuxPlanet.Com ~ Novell UsersInternational telah mengeluarkan hasil testdrive untuk pre-beta Novell Nterprise LinuxServices (NNLS) software, build 821.

{Byte Me!} Digital Magazine Syndicate | September 2003 4

Page 5: Byte me.september.2003

Whispers | LinuxCandy | kopiJahe | Tipz & Trix | SLUG Profiles | Amygdala | T03B4 | Cute-Tea

Buat VCD dengan VCDImager & K3BMembuat VCD di Linux semudah click 'n run

Linux bisa buat VCD? Kira-kira begitulah pertanyaan kita pertama kali mendengarjudul di atas. Selama ini banyak orang menganggap Linux hanya mainannya SysAdminatau NetAdmin saja, bukan untuk kelas 'End User' apalagi buat praktisi Multimedia.Selain perangkatnya sendiri bebas (lisensi GNU/Gneneral Public License), keduaperangkat ini juga mudah cara menggunakannya.

Kalau edisi yang lalu kita membahas game'SimuTrans' di Linux, saat ini kitamembahas cara membuat VCD denganperangkat VCDImager dan K3B. Duaperangkat yang sebutkan tersebut adalahperangkat bebas multimedia yang denganmudah bisa anda dapatkan di Internet. K3Bdi lain sisi umumnya tersedia padadistribusi Mandrake atau RedHat sebagaipembakar CD yang menggunakan pustakaKDE sebagai basis kerjanya. Jadi pastikananda menginstal juga paket-paketketergantungan dari perangkat yang kitaakan gunakan ini. VCDImager bisa andadapatkan di situs resminya dalam bentuksource code padahttp://www.vcdimager.org/ sedangkanK3B bisa anda dapatkan juga lewat situsresminya http://k3b.sourceforge.net/.

VCDImager yang saya gunakan adalahversi 0.17-7 dan ini membutuhkan pustakatambahan yakni libCDIO. Anda dapatmencarinya lewat google.com ataurpmfind.net jika anda lebih sukamenginstal-nya langsung dari RPM. Kalau anda memilih menggunakan paketRPM, maka anda tidak perlumengkompilasinya terlebih dahulu. Caripaket RPM yang sesuai dengan sistemanda termasuk distribusi yang anda pakaidan tipe komputer anda 386/586/686.Setelah semua paket terkumpul besertapaket ketergantungannya, maka kitalanjutkan ke tahap instalasi. Instalasidengan RPM jauh lebih mudahdibandingkan harus mengkompilasi sendiridari source code-nya.

Jalankan perintah berikut :

# rpm -Uvh k3b-xxx.rpm# rpm -Uvh libcdio-xxx.rpm

Dimana xxx adalah nomer versi pakettersebut. Kalau kedua paket ini suksesterinstal lanjutkan ke langkah berikutnya.

Pastikan libxml2 dan libpopt terinstal baikdengan perintah:

# rpm -qa libxml2 popt

Kalau keluar semacam ini (setiap distromemiliki paket yang berbeda, ini merupakanpaket dari Mandrake 9.1):

popt-1.6.4-28mdklibxml2-2.5.4-1mdk

berarti paket tersebut telah terinstal. Namunbila belum, instalkan paket tersebut untukmemenuhi ketergantungan dari paketvcdimager yang akan kita instal berikutnya.

# rpm -Uvh vcdimager-xxx.rpm

Setelah semua paket terinstal sukses makakita lanjutkan dengan setup k3b untukmenyiapkan semua perangkat yang telah kitainstalkan tersebut. Jalankan program 'K3BSetup' (bisa dari pop-up menu atau darixterminal). Kalau anda menjalankan darixterminal, berikut ini perintahnya:

# k3bsetup

Pastikan anda menjalankan k3bsetup sebagairoot. Setelah itu periksa apakah path yangmenunjuk pada VCDImager telah benar. Jikatidak menunjuk pada VCDImager atau pathtidak muncul, maka masukkan direktori pathyang benar lalu keluar dari k3bsetup setelahitu jalankan kembali k3bsetup seperti biasa.Kalau path sudah benar maka andadipersilakan untuk memasukkan usertambahan yang dapat menjalankan aplikasiini. Kalau anda melakukan perubahan pada"/etc/fstab" maka anda harus me-restart mesin

Linux anda, namun kalau anda tidakmelakukan apa-apa dan path VCDImagertelah benar maka anda siap menjalankank3b dengan kemampuan barunya baikdengan user root atau user biasa yanganda masukkan sebagai user dari cdwriteranda.

Tahap berikutnya adalah menjajalkemampuan aplikasi ini. Lihat gambar dibawah ini.

Gambar di atas adalah tampilan awal k3bdengan beberapa file mpeg yang siapditulis ke cd dengan format vcd. Padamenu File pilihlah bagian New Project >New Video Project.

Maka akan tampil seperti tampilan di atasini. Setelah itu drag-lah file mpeg yangakan anda tulis dengan format vcd.

Nuzli L. Hernawan <[email protected]> {Byte Me!} Digital Magazine Syndicate | September 2003 5

Page 6: Byte me.september.2003

Whispers | LinuxCandy | kopiJahe | Tipz & Trix | SLUG Profiles | Amygdala | T03B4 | Cute-Tea

Maka akan muncul peringatan kalau hanyafile video akan dibuat dari file mpeg yanganda masukkan ke dalam project. Namun fileini harus sudah berformat vcd, maksudnyaadalah merupakan kompresi video mpegbukan compressed avi atau divx atau yanglainnya dan ukuran pixel video adalah352x244 yang merupakan format standar darimpeg video/vcd.Kalau ini sudah terpenuhi maka lanjutkan ketahap berikutnya.

Setelah anda msukkan file tersebut ke tempatyang telah tersedia maka akan muncul sepertigambar di atas.Setelah itu pilihlah menu Project > Burn..sehingga tampilan layar anda menjadi sepertidi bawah ini.

Kemudian pada dialog box tersebut pilihlahspeed cd yang akan anda tulis. Kecuali andaingin mengubah volume name-nya andatinggal menekan tombol burn, sehinggatampilan akan menjadi seperti ini.

Proses di atas adalah proses verifikasi filempeg oleh aplikasi k3b dan kemudianmembakar vcd.

Proses membakar cd, khususnya vcd dengankecepatan 8x, rata-rata menghabiskan waktu8 sampai 10 menit.

Berikutnya adalah menunggu hasil prosesmembakar vcd anda hingga selesai. Kalauanda memiliki memori sedikitnya 128 MBmaka selama menunggu anda bisa sembarimelakukan proses ringan dalam sistemsepanjang tidak membebani kerja memoriutama semisal hanya menjalankan XMMSuntuk mendengarkan musik. Jika prosespembakaran telah selesai dilakukan makatampilannya kurang lebih seperti padagambar berikut.

Setelah itu vcd akan otomatis keluar dansiap untuk dicoba. Selamat mencoba!

Nuzli L. Hernawan <[email protected]> {Byte Me!} Digital Magazine Syndicate | September 2003 6

Page 7: Byte me.september.2003

Whispers | LinuxCandy | kopiJahe | Tipz & Trix | SLUG Profiles | Amygdala | T03B4 | Cute-Tea

Singleton PatternMelaksanakan Properti Singleton dengan Private Constructor

Singleton Pattern adalah sebuah pattern paling sederhana dari design pattern.Sebuah class singleton hanyalah sebuah class yang dapat diinstantiasi sekali, jadiclass itu hanya akan memiliki sebuah objek.

Hal ini karena terkadang sebuah sistemhanya harus mempunyai satu objek dariclass. sebagai contoh, beberapa sistemterhubung ke data base melalui sebuahobjek database yang mengatur koneksi.bisa juga contohnya sebuah class akanmenggunakan resource komputer sangatbesar, sehingga bila ada dua objek makadapat menyebabkan deadlock.

Ada dua pendekatan untuk mengimple-mentasikan singleton. keduanya berdasarpada membuat constructor private danmenyediakan sebuah member static publicagar klien dapat mengakses satu-satunyainstan dari class.

Pada pendekatan satu, member staticpublic adalah field final:

public class Elvis { public static final Elvis INSTANCE = new Elvis();

private Elvis() { ... }

... // }

Constructor private dipanggil hanya sekali,untuk menginisialisasi public final fieldstatic Elvis.INSTANCE. tidak adanyaconstructor public atau protected menjaminketunggalan Elvis. Secara tepat hanya satuElvis yang akan ada ketika class Elvis diinisialisasi- tidak lebih, tidak kurang. Kliensama sekali tidak bisa mengubah hal ini.

pada pendekatan kedua, sebuah methodpublic static dibuat daripada final fieldstatic public:

public class Elvis { private static final ElvisINSTANCE = new Elvis();

private Elvis() { ... }

public static Elvis getInstance() { return INSTANCE; }

... // yang lain dihilangkan}

semua pemanggilan method static,Elvis.getInstance(), mengembalikanacuan objek yang sama, dan tidak adainstan Elvis yang lain dapat dibuat.

Keuntungan utama dari pendekatanpertama adalah deklarasi dari anggotapenyusun class membuat kejelasan bahwaclass adalah class singleton: field publicstatic adalah final, sehingga field selaluberisi referensi objek yang sama. Jugamemungkinkan sedikit keuntunganperforma pada pendekatan pertama.

Keuntungan utama dari pendekatan keduaadalah memberi fleksibilitas untuk berubahpikiran akan apakah sebuah class harussingleton tanpa harus merubah API.method static factory untuk sebuahsingleton mengembalikan satu-satunyainstan dari class tetapi dapat dengan mudahdimodifikasi untuk mengembalikan,katakanlah, instan yang unik untuk setiapthread yang memanggil method.

Sebagai suatu pertimbangan, gunakanpendekatan pertama jika yakin classselamanya singleton, gunakan pendekatankedua jika masih ada keinginan merubahkeputusan.

Membuat class singleton serializable tidakcukup dengan menambahkan implementsiSerializable pada deklarasi class. Untukmenjaga jaminan singleton, harusdisediakan sebuah method readResolve.Bila tidak, tiap deserialisasi dari tiap instanyangdiserialisasikan akan menghasilkaninstan baru.

private Object readResolve() throwsObjectStreamException { /* mengembalikan Elvis yangsesungguhnya dan membiarkan garbagecollector mengurusi impersonatorElvis */ return INSTANCE;}

References:[1] Joshua Bloch (2001). Effective Java:Programming Language Guide. AddisonWesley. ISBN 0-201-31005-8[2] Deitel n Deitel (2002). Java How toProgram (4th ed).

Muhammad Nasrullah <[email protected]> {Byte Me!} Digital Magazine Syndicate | September 2003 7

Page 8: Byte me.september.2003

Whispers | LinuxCandy | kopiJahe | Tipz & Trix | SLUG Profiles | Amygdala | T03B4 | Cute-Tea

Mempersingkat Mounting di Linux

Kita bisa mempersingkat mount suatu divais dengan menuliskan aturan mount divais tersebut di file /etc/fstab. Berikut potongan /etc/fstab di linux box punyaku;

$ cat /etc/fstab

LABEL=/ / ext3 defaults 1 1/dev/hda9 swap swap defaults 0 0/dev/cdrom /mnt/cdrom iso9660 noauto,user,ro/dev/fd0 /mnt/floppy vfat noauto,user,rw/dev/hda5 /mnt/hd vfat noauto,user,rw

Perhatikan, file ini terbagi atas enam kolom. Field pertama berisi nama divais yang akan dimount.Bagian kedua adalah mount point(kemana divais pada kolom satu akan dimount)Kolom ketiga adalah tipe file system (ngeliat file system yang disupport: cat /proc/filesystems)Kolom keempat adalah opsi tambahan.Kolom kelima program dump untuk menentukan apakah divais perlu back upKolom terakhir digunakan untuk menentukan urutan fsckJika ragu dua kolom terakhir tidak perlu disertakan.

Sekarang kalo mau ngemount floppy, cukup menyebutkan divaisnya atau mount pointnya: tamtam@localhost ~$ mount /dev/fd0

atau

tamtam@localhost ~$ mount /mnt/floppy

Btw, biar suatu divais boleh dimount oleh user biasa, tambahin opsi user di kolom no 4. Keterangan lebih lanjut hubungi man 5 fstab.

Whispers | LinuxCandy | kopiJahe | Tipz & Trix | SLUG Profiles | T03B4 | Amygdala | Cute-Tea

Nama LengkapSLUG Username

Working Experiences

Favourite Food(s)Favourite Beverage(s)

Favourite Distro(s)Favourite Site(s)

Erwien Samantha Y.erwienWeb Administrator di PT. 1rstWAP(www.1rstWAP.com)Yang Pedas-PedasSprite & Lemon Squash dan (tidak lupa) AirPutihMandrakewww.freshmeat.net & www.rpmfind.net

{Byte Me!} Digital Magazine Syndicate | September 2003 8

Page 9: Byte me.september.2003

Whispers | LinuxCandy | kopiJahe | Tipz & Trix | SLUG Profiles | T03B4 | Amygdala| Cute-Tea

{Byte Me!} Digital Magazine Syndicate | September 2003 9

Kreatif Pake F

OSPEK sudah berakhir, dengan sedikit sisa, manis atau gak sama sekali. Yang paling menyenangkan dariOSPEK sebenarnya tugas-tugasnya yang banyak itu. Sedemikian banyaknya sehingga sulit dikerjakandengan cara biasa. Seperti mungkin direncanakan oleh para panitianya, tugas OSPEK tidak sekadarberorientasi pada hasil, tapi juga proses. Pengalaman penulis, saat OSPEK 2000. Sempat membisniskanbuku tanda tangan --yang warna warni itu, bahkan terpikir juga buat jualan tas dari tepung terigu. Tapidasar bukan bisnismen, malah tekor puluhan ribu :)

Tapi bukan itu intinya. Sudah rahasia umum, pada kurva distribusi normal, semua yang umum akanmengelompok di tengah. Kadang untuk memperoleh sedikit kemudahan, kita harus berfikir agak ke pinggir.Hal-hal sepele, seperti berangkat sedikit lebih pagi biar gak berdebu di jembatan ijo, atau tidakmembiasakan diri menggunakan software yang menjerat meskipun digunakan banyak orang ;)

Seperti banyak hal lainnya, berfikir beda adalah proses. Tidak butuh IQ di atas 140 atau bakat potensialyang terpendam dalam untuk menjadi berbeda. Mulailah dengan latihan sederhana berikut;

1. Solusi awal adalah hal yang umum.Pada saat menghadapi masalah, katakanlah proyek PBD. Umumnya ide yang pertama kali datang adalahide yg umum, misalnya bikin inventory. Coba pikirkan kemungkinan lain.

2. Saya tidak ada karena saya tidak tahu.Pengetahuan, satu kunci penting. Makin sering kita bergaul dengan banyak orang, semakin seringmembaca, maka khasanah pengetahuan akan lebih luas. Yang berbanding lurus dengan cara kitamenghadapi masalah. Melanjutkan contoh di atas, cobalah ngobrol dengan teman yang beda angkatanuntuk memperoleh ide-ide segar, atau liat-liat judul TA di perpus.

3. Siapa takutTerakhir, setelah ide yang berharga itu berhasil ditemukan. Jangan takut untuk nyoba, temen saya, Dody,selalu bilang, "You never know until you try". Ehmm mungkin karena itu ada UTS dan UAS. Anyway...Sering kali kegagalan itu karena hal sepele, takut komentar orang banyak, takut jadi lain, takut disorakianak-anak kalo gagal. Asal tau aja, sahabat! You're the master of your own destiny.

Kalo punya ide beda, orang bilang kamu aneh, ... kalo kamu berhasil, mereka bilang kamu kreatif.

-- Billy <something>, Dare to Fail

M. Daud Setiawan Mukadar<[email protected]>

Page 10: Byte me.september.2003

Whispers | LinuxCandy | kopiJahe | Tipz & Trix | SLUG Profiles | T03B4 | Cute-Tea | Essentials

Say Hi! Tutorial Sederhana Bahasa Pemrograman Grafis QT

Semua yang pernah menggunakan KDE sebagai desktop environment, secara tidaklangsung sudah menggunakan Qt.

Apa Qt itu ?Qt adalah cross-platform C++ GUIapplication framework produksiTrolltech. Dengan kata lain C++ sebagaibahasa pemrogramannnya dan Qt sebagaivisualisasinya yang terintegrasi sebagaisuatu framework aplikasi. Sedangkanuntuk cross-platform maksudnya adalahQt dapat berjalan diberbagai platform,yaitu; MS Windows (95, 98, NT4.0, ME,and 2000), Unix/X11 (Linux, Sun Solaris,HP-UX, Compaq Tru64 UNIX, IBM AIX,SGI IRIX dan lainnya), Macintosh (MacOS X), Embedded (linux platform dengandukungan framebuffer).

KomentarPara pengguna opensource boleh bangga,karena tidak sulit lagi membuat programaplikasi yang selama ini didominasi olehMs.Windows sebagai platformnya,misalnya; Visual Basic, Visual C++,Delphi, dan lainnya. Kita ingin membuataplikasi berdatabase, aplikasi teknik,perkantoran, finansial, dan lainnya tidakmenjadi masalah. Dengan dukungandokumentasi, FAQ, forum melalui milis,arsip milis yang didesain mudah untukdipelajari, sehingga akan sangatmembantu Anda dalam memecahakanmasalah. Untuk tahu lebih jauh silahkankunjungi website Trolltech diwww.trolltech.com.

Pada kesempatan ini akan diberikantutorial Qt, yang akan membuat Andasangat terkesan.

TutorialSeperti biasa kita akan mengawali dengan“Hai! Qt...”

Silahkan membuka teks editor kesayangananda, kemudian tulis atau copy source codedibawah :

/***************************** **** Qt1.cpp********************************/#include <qapplication.h>#include <qpushbutton.h>

int main( int argc, char **argv ){ QApplication a(argc, argv); QPushButton hai(“Qt! Hai..”, 0); hai.resize(100,30);

a.setMainWidget(&hai); hai.show(); return a.exec();}

• Penjelasan tiap baris program:

#include <qapplication.h>

baris ini merupakan definisi classQApplication, yang akan selalu kitagunakan setiap membuat program aplikasikarena akan mengatur bermacam aplikasimisalnya teks dan kursor.

#include <qpushbutton.h>

baris ini merupakan definisi classQPushButton, fungsinya sama denganbutton biasa yang dapat diklik denganmouse. Dimana dapat dimodifikasipenampilannya dan modelnya, bisa berupatext atau gambar.

int main( int argc, char **argv )

main() merupakan awal dari program, berisibeberapa inisialisasi sebelum kontroldialihkan ke Qt library untukmemberitahukan program tentang aksi-aksinya melalui event.

argc adalah jumlah command-line argumen

dan argv adalah array dari command-lineargumen, merupakan fitur C/C++ yangdibutuhkan Qt untuk memproses argumendibawah.

QApplication a(argc, argv);

a adalah object dari Qapplication. Disinilahcommand-line argumen dibuat dan diproses(seperti menmpilkan program di Xwindow).Qapplication object dibuat sebelumwindow-sistem digunakan.

QPushButton hai(“Qt! Hai..”, 0);

hai adalah object dari QpushButton. Inilahmulai kode wndow-sistem dugunakan.Sebuah pushbutton dibuat, dan button disetuntuk menampilkan kata “Qt! Hai......” dansekaligus menjadi windownya, karenakonstruktor pada parent window di set 0,dimana posisi button diletakkan.

hai.resize(100,30);

baris ini digunakan untuk mengatur ukuranbutton, dimana diset panjang 100 pixel danlebar 30 pixel (ditambah frame dariwindow-system).

a.setMainWidget(&hai);

pushbutton dipilih sebagai main widgetuntuk aplikasi ini. Jika kita menutup mainwidget maka aplikasi juga akan ditutup.widget adalah sebutan komponen-komponen dalam Qt, misalnya pushbutton,radiobutton, textfield, filedialog, dansebagainya.

hai.show();

baris ini digunakan untuk menampilkanwidget.

return a.exec();

Disini yang menandakan berakhirnya prosesmain() untuk mengontrol Qt, dan exec()akan kembali (return) pada saat aplikasikeluar.Didalam exec(), Qt akan menerima danmemproses (menjalankan) program danmenyelesaikannya sesuai dengan widgetyang dugunakan. (Bersambung ke hal. 13)

M. Alfin Nur Hakim <[email protected]> {Byte Me!} Digital Magazine Syndicate | September 2003 10

Page 11: Byte me.september.2003

EssentialsGNU (GNU's Not UNIX) – Idealisme dan Perjuangannya

Berkenalan dengan GNU/LinuxIdealisme & Perjuangannya

Proyek GNU ini diluncurkan pada tahun 1984 untuk mengembangkan sebuahsistem operasi lengkap mirip UNIX berbasis perangkat lunak bebas: yaitu sistemGNU (GNU merupakan singkatan rekursif dari “GNU's Not Unix”; GNUdilafalkan dengan "genyu"). Varian dari sistem operasi GNU, yang menggunakankernel Linux, dewasa ini telah digunakan secara meluas. Walau pun sistem inisering dirujuk sebagai "Linux", sebetulnya lebih tepat jika disebut sistemGNU/Linux.

FSF merupakan organisasi utama dariproyek GNU. FSF menerima sedikit sekalisumbangan dana dari kalangan perusahaanatau organisasi donatur lainnya.Kelangsungan FSF sangat tergantung daribantuan perorangan seperti anda untukmendukung misi FSF agar PerangkatLunak Bebas: bebas untuk digunakan,dipelajari, disalin, diubah, dan diedarkan,serta untuk membela hak para penggunaperangkat lunak bebas.

” Perangkat Lunak Bebas” ialah perihalkebebasan, bukan harga. Untukmemahami konsep ini, silakan bayangkantentang “kebebasan berbicara”, danbukannya “bir gratis.”Perangkat LunakBebas mengacu pada kebebasan parapenggunanya untuk menjalankan,menggandakan, menyebarluaskan, mem-pelajari, mengubah dan meningkatkankinerja perangkat lunak. Tepatnya,mengacu pada empat jenis kebebasan bagipara pengguna perangkat lunak, yakni :

1. Kebebasan untuk menjalankanprogramnya untuk tujuan apa saja(kebebasan 0).

2. Kebebasan untuk mempelajaribagaimana program itu bekerja serta dapatdisesuaikan dengan kebutuhan anda(kebebasan 1). Akses pada kode programmerupakan suatu prasyarat.3. Kebebasan untuk menyebarluaskankembali hasil salinan perangkat lunaktersebut sehingga dapat membantu sesamaanda (kebebasan 2).4. Kebebasan untuk meningkatkankinerja program, dan dapat me-nyebarkannya ke khalayak umum sehinggasemua menikmati keuntungannya(kebebasan 3). Akses pada kode programmerupakan suatu prasyarat juga.

Sejarah Singkat

Richard M. Stallman (RMS) awalnyaadalah staf riset & karyawan diLaboratorium MIT Artificial Intelligence(Lab AI) sekitar tahun 1971. Sebagaiseorang yang bekerja pada sistem operasiITS (Incompatible Timesharing System) –sebuah sistem operasi yang ditulis olehpara hacker untuk mesin komputer yangcukup besar pada masa itu dan bertugasuntuk memastikan kinerja mesin selalu

baik. Tadinya RMS dan rekan-rekannyasesama hacker lab gemar mencobaprogram yang unik dan melihat kodeprogramnya untuk kemudian membaca,merubahnya atau meng-kanibal-nya untukmembuat sebuah program baru.

Keadaan berubah secara drastis di awal1980an saat Digital menghentikanpembuatan seri PDP-10. Arsitekturnyasebenarnya mantap dan canggih untukukuran tahun 1960an, namun memilikiketerbatasan pada perluasan ruang alamatseiring dengan teknologi memori tahun1980an. Dengan sendirinya, hampirsemua program pendukung ITS menjadikadaluarsa.

Masyarakat hacker lab AI pun telah bubarsebelumnya. Tahun 1981, perusahaanspin-off Symbolics telah memperkerjakanhampir seluruh hacker dari lab AI, dansisa penghuni lab AI tidak mampubertahan (buku Hackers, karangan SteveLevy, memaparkan kejadian ini, sertamemberikan gambaran jelas perihalmasyarakat ini dan tujuannya). Ketika labAI membeli PDP-10 baru (1982),pengelolanya memutuskan untukmenggunakan sistem operasi time sharingDigital yang tidak bebas, dari pada ITS.

Komputer modern pada zaman tersebut,seperti VAX dan 68020, dilengkapidengan sistem operasi masing-masing,namun tidak satu pun merupakanperangkat lunak bebas: anda harusmenandatangani perjanjian menjagarahasia (nondisclosure), walau pun hanyauntuk mendapatkan salinan executable.

(Sambungan dari Hal. 12)• Compile

Kemudian compile program dengan langkah :– qmake -project // output file.pro– qmake // membuat Makefile– make // compileSetelah jalankan ./file-exec (atau apapun nama file yang andasimpan) itu akan terlihat seperti gambar diatas, yaitu sebuahpushbutton bertuliskan “Qt! Hai......” didalam frame window.Untuk mengatur ukuran dan posisi window, gunakan perintah./file-exec -geometry 100x200+10+20

Punya tulisan sendiri, artikel atau rubrik tetap? Kirimkan keredaksi {Byte Me!} Digital Magazine Syndicate pada [email protected] dengan ketentuan format tulisan adalahplain text atau Rich Text Format (RTF) dengan gambar (kalauada) dipisah tidak di-embed ke dokumen dan diberi keteranganterpisah dari gambar. Tulisan anda akan kami muat setelah kamiedit seperlunya tanpa mengubah maksud tulisan. Namun, satuhal yang kami tekankan adalah kami TIDAK mampu membayaranda, kami adalah majalah bebas dan gratis alias tidakmemungut uang langganan sama sekali. Kami sangatmenghargai karya tulisan anda, dan tulisan anda terlindungi olehlisensi publik Artistic License 2.0

Hak Salin © 1998, 2001, 2003 Richard M. Stallman {Byte Me!} Digital Magazine Syndicate | September 2003 11

Page 12: Byte me.september.2003

EssentialsGNU (GNU's Not UNIX) – Idealisme dan Perjuangannya

Dengan kata lain, langkah pertama untukmenggunakan sebuah komputer ialahberjanji untuk tidak menolong sesamatetangga. Bergotong-royong pun dilarang.Aturan yang dibuat oleh para pemilikperangkat lunak ialah, "Jika anda berbagidengan tetangga anda, maka andamerupakan pembajak. Jika anda inginperubahan (perangkat lunak), maka andaharus mengemis kepada kami (parapemilik perangkat lunak)."

Gagasan sistem sosial perangkat lunakberpemilik--sebuah sistem yangmengatakan bahwa anda tidakdiperkenankan untuk berbagi danmengubah perangkat lunak--merupakansistem anti-sosial, tidak etis, singkatnyasalah, mungkin telah mengagetkansebagian para pembaca. Namun, istilahapa lagi yang harus digunakan untuksebuah sistem yang memecah-belahmasyarakat serta membuat para penggunatak berdaya? Para pembaca yang terkejutakan pandangan ini mungkin telahmenganggap sistem sosial berpemiliksebagai fitrah, atau menilainyaberdasarkan ketentuan bisnis perangkatlunak berpemilik. Para penerbit perangkatlunak berpemilik telah bekerja lama dankeras untuk meyakinkan masyarakatbahwa itu merupakan satu-satunya caramelihat masalah ini.

Ketika para penerbit perangkat lunakberbicara perihal "menegakkan hak"mereka atau "menghentikan pembajakan",yang mereka katakan sebetulnya nomordua. Pesan yang sesungguhnya daripernyataan mereka ialah anggapan yangsudah mestinya begitu dari sananya;bahwa masyarakat seharusnya menerimaanggapan tersebut tidak secara kritis. Jadi,marilah kita mencermati anggapan yangmereka gunakan.

Salah satu anggapan yang digunakan ialahbahwa perusahaan perangkat lunakmemiliki hak dasar yang tidak perludipertanyakan untuk memiliki perangkatlunak, sehingga mereka berkuasa di atassegala penggunanya (dan jika ini benar,

seberapa pun merusaknya, kita memangtidak dapat menentangnya).

Padahal, undang-undang dasar Amerikadan tradisi hukum menolak pandangantersebut; hak cipta bukan merupakan hakdasar, namun merupakan hak monopolibuatan pemerintah yang membatasi hakdasar para pengguna untuk melakukanpenyalinan.

Anggapan tak tertulis lainnya ialah bahwasatu-satunya hal yang penting pada sebuahperangkat lunak ialah perkerjaan apa yangdiperbolehkan untuk dilakukan--yaitubahwa kita para pengguna komputerseharusnya tidak peduli perihal bagaimanabentuk rupa masyarakat kita.

Anggapan ketiga ialah bahwa tidak akantersedia perangkat lunak berguna (atau,tidak akan ada program yang dapatmelakukan sebuah tugas tertentu), jikakita tidak menyerahkan kekuasaan daripara pengguna terhadap sebuah programkepada sebuah perusahaan. Anggapan inimungkin kelihatan masuk akal, terutamasebelum gerakan perangkat lunak bebasmenunjukkan bahwa kita dapat membuatbanyak perangkat lunak bebas bermanfaattanpa perlu merantai penggunanya.

Jika kita menolak anggapan tersebut, sertamenilai masalah ini berdasarkan anggapanjujur dan masuk akal yang mengutamakanpara pengguna, kita akan tiba padakesimpulan yang berbeda. Para penggunakomputer seharusnya bebas untukmengubah program sesuai dengankebutuhan mereka, serta bebas untukberbagi perangkat lunak, sebab membantusesama merupakan landasan darimasyarakat.

Akibat dari hal yang semacam itu,kemudian RMS di tahun 1984 keluar dariLab AI MIT dan memulai proyek GNU.Namun meskipun telah keluar dari MIT,RMS tetap diperbolehkan menggunakanLab AI MIT oleh Prof. Winston (ketika itukepala lab AI MIT). Awalnya RMSmenggarap program kompiler Pascal danC untuk mesin Motorola 68000 dengan

dasar kode dari Pastel (sebuah kompilerPascal), namun karena Pastelmembutuhkan beberapa megabytes ruangsedangkan Motorola 68000 hanyamembolehkan maksimal 64 kilobytessaja. Akhirnya proyek ini pun berhenti.

Kemudian RMS memulai proyek baruyang dinamainya GNU EMACS sampaisaat ini. Proyek ini dimulai pada bulanseptember 1984 dan mulai digunakanpada awal tahun 1985. Inilah awal dariproyek besar berikutnya GNU/Linux danGNU/Hurd, dua sistem operasi yangmengadopsi idealisme dan perjuanganRMS dengan GNU-nya.

Hak Salin © 1998, 2001, 2003 Richard M. Stallman {Byte Me!} Digital Magazine Syndicate | September 2003 12

Page 13: Byte me.september.2003

This magazine is published under neither GNU/GPL nor GNU/FDL but Artistic License. You may have verbatim copy, and quote as much as you like as long as you mentioned who wrote it.

But you cannot change the writer's artistic writing style, in another word, you cannot change the exact word if you want to quote it. This magazine also held all copyleft of the written articles, columns, stories, and internal news.

Critics, suggestions, chocolates, cookies, 8) are always welcomed. If you have any of them don't hesitate to write or send it to :

R&D STIKOMPlusGrha Kreativitas STIKOM Level 0

Jl. Raya Kedung Baruk 98 Surabaya – Jawa Timuror [email protected]

{Byte Me!} Digital Magazine Syndicate