52 Tutorial 04
52 Tutorial 04
GTK+
S
ebagai toolkit grafis standar di berbagai 2.2.0 dengan ukuran tarbal source code sebesar
distro, GTK+ pun dilengkapi dengan 450KB. Anda bisa men-download-nya dari situs
kemampuan theming. Versi teranyarnya, FTP untuk GNOME, misalnya di http://
GTK+ 2, malah memiliki fasilitas theme yang ftp.gnome.org/pub/gnome/sources/gtk-engines/.
begitu canggih, bisa disebandingkan dengan Bagaimana cara menginstalasi gtk-engines?
theme di Microsoft Windows XP. Mudah saja. Mula-mula ekstrak paketnya dan
Bila Anda menggunakan distro seperti lakukan konfigurasi, sebagaimana ditunjukkan
Mandrake 9 atau RedHat 8, secara default perintah di bawah ini:
beberapa theme standar sudah diinstalasikan. tar zxvf gtk-engines-2.2.0.tar.gz
Untuk RedHat 8, yang lazimnya terpasang cd gtk-engines-2.2.0
adalah Bluecurve, theme khas yang menjadi ciri ./configure
khas RedHat dewasa ini. Untuk Anda yang
penasaran, bagaimana theme dapat diinstalasi Jika semua lancar, maka kini Anda dapat
dari nol, jangan lewatkan ulasan yang satu ini! memulai proses kompilasi, yaitu dengan
menjalankan perintah:
Theme standar dengan gtk- make
engines
GTK+ 2 yang diinstalasi dari source code-nya Dalam beberapa saat proses ini akan selesai.
(“fresh”) tidak akan memiliki theme apapun, alias Selanjutnya, pindahlah ke user root
menggunakan tampilan default yang terlihat usang menggunakan perintah su diikuti dengan
dan membosankan. Theme standar GTK+ 2, memasukkan password yang tepat. Lakukan
yakni Metal, Redmond, dan Pixbuf bukan berasal instalasi dengan perintah:
dari source code GTK+ 2 itu sendiri. Bila sistem make install
Anda tidak dilengkapi theme standar ini, ada
Salah satu baiknya Anda menginstalasinya terlebih dahulu. Ada beberapa buah theme engine yang
gudang theme: Yang dibutuhkan adalah paket yang bernama tercantum dalam gtk-engines, yaitu Pixbuf,
www.themede
pot.org gtk-engines. Saat ini versi terbarunya adalah Metal, dan Redmond95.
Mengganti theme
Nah, anggaplah sekarang semua theme engine
yang disuplai oleh gtk-engines telah terpasang
dengan baik. Langkah selanjutnya tentu saja
adalah mengaktifkan theme yang dimaksud.
Bagaimana caranya? Mudah sekali, ada beberapa
pilihan untuk itu.
Yang pertama dan paling lazim adalah
menggunakan GNOME Control Center. Cara ini
tentu saja cukup lumrah bagi mereka yang
menjalankan GNOME sebagai desktop-nya. Kalau
tidak, maka meluncurkan program GNOME
Control Center bisa jadi merupakan beban Theme
switcher
tersendiri, terutama kalau Anda adalah pengguna
BlackBox, XFCE, atau window manager yang diletakkan di home directory dengan nama .gtkrc-
serba “ringan” lainnya. 2.0 (perhatikan tanda titik sebagai karakter awal).
Alternatif lain yang sangat sederhana adalah Jika Anda ingin mengganti style yang berlaku
menggunakan utiliti keci yang bernama gtk theme global, file-nya harus diletakkan di direktori /etc/
switcher. Ini bisa diperoleh di http:// gtk.
www.muhri.net/nav.php3?node=gts. Download Tiap-tiap style yang terpasang, seperti Metal
program gtk-theme-switch-2.0.0rc2.tar.gz yang atau Redmond95 akan menyediakan file
dimaksud (cukup kecil, hanya berukuran 14KB) konfigurasi yang dibutuhkan, biasanya diletakkan
dan instalasilah dengan beberapa langkah di direktori /usr/share/theme (sesuaikan dengan
mudah. Mula-mula, ekstrak paket source code- pengaturan distro
nya dengan perintah: Anda). Nah, file inilah
tar zxvf gtk-theme-switch-2.0.0rc2.tar.gz yang bisa Anda salin
Lakukan proses make: sebagai file .gtkrc-2.0.
cd gtk-theme-switch-2.0.0rc2 Sebagai ilustrasi,
make untuk mengaktifkan
style Metal, jalankan
Nah, lagi-lagi pindahlah sebagai root dan perintah berikut:
jalankan: cp /usr/share/themes/
make install Metal/gtk-2.0/gtkrc
.gtkrc-2.0
Sekarang, theme switcher bisa diaktifkan
dengan menjalankan perintah switch2. Untuk melihat
Tampilannya sendiri sangat sederhana, akan hasilnya, Anda perlu
tetapi sudah cukup berguna. Anda hanya menjalankan aplikasi
disodorkan daftar theme yang terpasang di yang berbasis GTK+
A B
sistem dan tinggal pilih yang dikehendaki. 2, termasuk juga
A B
Q
t adalah sebuah toolkit dari Trolltech AS punya keunggulan menampung sejumlah file pada
(Norwegia) yang digunakan sebagai satu window aplikasi.
kerangka aplikasi yang menggunakan Mula-mula marilah kita definisikan spesifikasi
antarmuka grafis (GUI). Penggunaan Qt untuk dari editor yang akan dinamakan Expad ini. Syarat
membangun sebuah program akan banyak utama tentu bahwa editor dapat menampilkan dan
menolong sang programer. Selain kaya akan menangani file-file teks sekaligus, dengan jumlah
berbagai rutin untuk menyusun antarmuka grafis yang tidak dibatasi. Untuk mudahnya, sekian
(GUI), Qt juga menyertakan beragam fungsi- banyak file teks ini tidak dipisah-pisah dengan
fungsi untuk operasi file, network, struktur data, menggunakan window editor sendiri-sendiri. Akan
XML, basis data, dan lain sebagainya. Salah satu lebih indah jikalau digunakan tab untuk memilih
proyek open source yang cukup besar, yaitu file yang akan diaktifkan. Kira-kira hal demikian
KDE, juga mengandalkan Qt sebagai fondasi serupa dengan fitur tab browsing yang ada di
dasarnya. browser web. Sebut saja fasilitas Expad ini
Tulisan ini mengasumsikan bahwa pembaca sebagai tab editing.
telah memahami konsep pemrograman aplikasi Untuk memilih-milih file yang akan diedit,
dengan Qt. Jika tidak, Anda bisa menyimak Expad diharapkan dapat menampilkan struktur
kembali InfoLINUX No. 7/2001 hingga 10/2001 direktori pada sebuah panel tersendiri. Selain
yang memuat tutorial bersambung tentang dasar mendaftar direktori, panel ini juga menyajikan
penggunaan Qt. Referensi dan tutorial online yang daftar file-file pada direktori yang aktif. Dengan
dapat dibaca di http://doc.trolltech.com juga akan panel ini, user bisa berpindah direktori dengan
sangat menolong. mudah dan juga dapat memilih file yang ingin
disunting. Jadi begitu menyorot file tertentu dan
Tampilan mengkliknya, maka file ini akan dimuatkan ke
Expad
yang editornya dan siap dimodifikasi.
sudah Dari deskripsi sederhana tentang fungsionalitas
jadi Expad ini mestinya sudah dapat disketsakan
secara kasar apa-apa saja yang perlu
diimplementasikan. Yang jelas dibutuhkan adalah
window utama aplikasi harus selalu ada dan ini
diturunkan dari widget QMainWindow. Untuk
kasus ini, window utama ini akan disebut sebagai
Expad.
Dua elemen lain yang akan menjadi bawahan
dari Expad adalah editor teks dengan tab dan
panel yang menyajikan daftar direktori dan file.
Yang pertama akan berupa widget Tab dan yang
kedua adalah DirList. Widget Tab berasal dari
widget QTabWidget yang sudah disediakan Qt
yang memang khusus dipergunakan kalau ingin
memanfaatkan tab-tab, lumrahnya dijumpai pada
Editor
Kelas Editor mewakili widget utama tempat user
mengedit isi dari file. Kelas Editor ini hanya
Dokumentasi
merupakan modifikasi kecil dari widget QTextEdit Penyunting teks lumrahnya bekerja dengan Qt di situs
yaitu dengan penambahan fungsi untuk font yang sifatnya fixed-width, yakni yang lebar web Trolltech
memudahkan menyimpan dan mengambil isi dari per karakternya sama semua, tidak bergantung dari
file teks yang sedang disunting. Terdapat juga karakter itu sendiri. Jadi, baik huruf m maupun
fungsi filename() yang akan memberikan nama file huruf i akan menyita ruang yang sama. Font
yang bersesuaian dengan Editor tersebut. Bila ini semacam Courier tergolong font yang seperti ini.
adalah widget Editor yang baru dibuat dan isinya Karenanya, dari awal widget Editor mengatur agar
belum pernah disimpan ke file, filename() akan font yang digunakan adalah font adobe-courier,
mengembalikan string kosong. Berikut adalah isi yakni salah satu ragam font Courier yang biasanya
dari file editor.h. sudah terinstalasi di sistem Linux. Umpamanya
#ifndef __EDITOR_H Anda ternyata tidak punya font ini, silakan ganti
#define __EDITOR_H dengan yang tersedia, misalnya bitstream-courier
atau malah Courier New jika Anda memasang
#include <qtextedit.h> font-font yang TrueType.
#include <qstring.h> Implementasi kelas Editor akan diletakkan pada
file editor.cpp berikut ini:
class QWidget; #include <qfile.h>
#include <qfileinfo.h>
class Editor: public QTextEdit #include <qfont.h>
{ #include <qtextedit.h>
Q_OBJECT #include <qstring.h>
{ repaint();
return m_filename; }
} }
“ *,,,,&=#;##+@*”,
“ *,,,&&&&$=#;#*”, m_dir = dir;
“ %$&&&&&$$$$$>*”,
“ .%>$$$$$$$=>*”, d.setSorting( QDir::Name | QDir::DirsFirst |
“ .%>=$$==>*”, QDir::IgnoreCase );
“ .%>==>*”, const QFileInfoList *list = d.entryInfoList();
“ .%% “}; QFileInfoListIterator it( *list );
QFileInfo *fi;
// — implementation of DirListItem —
clear();
DirListItem::DirListItem( QListView* parent, const it.toLast();
QString& name,
bool dir, bool readable ): while ( ( fi = it.current() ) )
QListViewItem( parent, name ) {
{ if( fi->fileName() != “.” )
m_name = name; {
m_isDir = dir; QListViewItem* item;
m_isReadable = readable; item = new DirListItem( this, fi->fileName(),
fi->isDir(), fi->isReadable() );
if( m_isDir ) setPixmap( 0, icon_folder_xpm ); }
—it;
} }
}
QString DirListItem::text( int column ) const
{ void DirList::slotDoubleClicked( QListViewItem* i )
if( column == 0 ) return m_name; {
else if( column == 1 ) return m_isDir ? “Directory” : DirListItem* item = (DirListItem*) i;
“File”; if( item )
else return QString::null; if( item->isReadable() )
} {
QString fullName = m_dir + “/” + item-
// — implementation of DirList — >shortName();
if( item->isDir() ) setDir( fullName );
DirList::DirList( QWidget* parent, const char* name ): else emit selected( fullName );
QListView( parent, name ) }
{ }
m_dir = “”;
addColumn( “Name” ); Yang menarik untuk disimak adalah array yang
addColumn( “Type” ); bernama icon_folder_xpm. Sebenarnya ini adalah
ikon yang akan digunakan untuk mencirikan
setDir( “/” ); sebuah direktori, untuk membedakanya dengan
setMinimumSize( 100, 50 ); file biasa. Lihat di konstruktor DirListItem, terdapat
setSorting( -1 ); perintah setPixmap jika item tersebut merupakan
Edisi direktori. Format ikon yang dipakai adalah X
berikutnya: connect( this, SIGNAL( doubleClicked( Pixmap (xpm). Anda bisa saja mengganti ikon
Masih ada dua QListViewItem* ) ), tersebut sesuai dengan yang Anda minati.
kelas yang akan this, SLOT( slotDoubleClicked( QListViewItem* ) ) ); Jalankan Gimp, buka file ikon yang dikehendaki
diulas, yakni kelas } (bisa PNG atau GIF atau format lain yang
Tab dan kelas
didukung Gimp) kemudian simpan dalam format
Expad. Jangan
void DirList::setDir( const QString& dir ) XPM). File xpm hasil dari Gimp tadi mestinya bisa
lewatkan bagai-
mana kesemuanya { dibuka dengan editor teks biasa, kemudian
akan dirangkai QDir d( dir ); salinkan saja untuk mengganti icon_folder_xpm di
membentuk satu atas. Mudah bukan?
aplikasi utuh! if( !d.exists() ) return; Ariya Hidayat (ariya@infolinux.co.id)
IKLAN
LANGGANAN
W
aktu boot sebuah komputer adalah block), dan data area. Administrative data tidak
tile boot loader saat yang sangat penting. Pada berhubungan dengan proses boot, dan dalam
for Linux. It waktu boot, kita dapat menentukan hal ini, dapat dianggap sebagai data area.
does not depend sistem operasi yang ingin kita jalankan, ataupun Berbeda dengan floppy, sebuah harddisk
on a specific file memberikan parameter-parameter tertentu sangatlah kompleks. Harddisk dapat dipisahkan
sehingga sistem operasi dapat berjalan sesuai dalam partisi-partisi. Satu harddisk dapat
system, can boot
yang dikehendaki. Untuk itu, sebuah boot berisikan empat partisi primary. Apabila ingin
Linux kernel
loader yang baik sangat diperlukan. Lilo adalah membuat banyak partisi, Anda bisa membuat
images from
salah satunya. satu partisi extended dan tiga partisi primary.
floppy disks and
Partisi extended tersebut dapat berisikan banyak
from hard disks Pengenalan partisi logical. Karena kerumitan seperti ini, maka
and can even act Lilo adalah boot loader yang luar biasa. Anda tabel partisi dibuat. Sektor pertama harddisk
as a “boot mungkin pernah atau sering mengalami masalah perlu berisikan tabel partisi. Partisi extended dan
manager” for dengan boot loader yang satu ini. Akan tetapi, setiap partisi logical juga mengandung tabel
other operating LInux Loader ini dapat Anda gunakan sebagai partisi.
systems. boot manager yang baik untuk menangani Tabel partisi di simpan di dalam boot sector
berbagai sistem operasi yang ada ataupun dapat partisi. Dalam kondisi umum, hanya partisi boot
Anda gunakan untuk melakukan proses boot ke
Linux dengan parameter-parameter yang tidak
umum.
Lilo sendiri adalah koleksi dari program dan
file berikut ini:
1 . Map installer. Ini adalah program yang kita
jalankan di Linux, yang berguna untuk
meletakkan semua file yang diperlukan dalam
proses boot ke alamat yang diperlukan.
Setiap kali kita memberikan perintah lilo
(yang umumnya terletak di /sbin/lilo), kita
menjalankan map installer. Istilah map
installer sering kali diabaikan dan diganti
dengan istilah /sbin/lilo.
Konfigurasi
Lilo memiliki satu file konfigurasi tunggal, yaitu
lilo.conf yang umumnya tersimpan di direktori /
etc. File konfigurasi lilo.conf membagi opsi-opsi
yang disediakan ke dalam tiga bagian. Opsi
bagian pertama adalah opsi global yang akan
mempengaruhi Lilo secara keseluruhan. Opsi
bagian kedua adalah opsi umum per image, dan
opsi bagian terakhir adalah opsi per image untuk
kernel.
Struktur MBR
hal tersebut bisa diminimasi. Berikut ini kita akan L <error>. Bagian pertama dari boot loader
melihat beberapa permasalahan yang umum dan telah dijalankan, akan tetapi bagian keduanya
penyebabnya. tidak bisa dijalankan. <error> berisikan kode
kesalahan. Anda dapat merujuk kepada
fatal error dokumentasi Lilo untuk selengkapnya.
<device_name> is not a valid partition device LI. Bagian pertama boot loader dapat membaca
Penyebab: Device yang dispesifikan bukan bagian kedua. Akan tetapi, bagian kedua
merupakan device, sebuah disk ataupun partisi tersebut gagal untuk dijalankan. Umumnya hal
dari disk yang berbeda. ini disebabkan oleh tidak tepatnya geometri.
Hal ini juga bisa terjadi akibat memindahkan /
Duplicate entry in partition table boot/boot.b tanpa menjalankan /sbin/lilo
Penyebab: Terdapat entri ganda tabel partisi. setelahnya. Yang satu ini termasuk yang paling
Tabel partisi harus diperbaiki dengan fdisk. sering terjadi.
LIL. Bagian kedua boot loader telah
Hole found in map file (<location>) dijalankan, akan tetapi bagian kedua boot
Penyebab: Map installer (/sbin/lilo) mengalami loader tersebut tidak dapat membaca tabel
kesulitan dengan organisasi disk. Pesan ini bisa deskripsi dari file map (peta). Umumnya,
Anda laporkan ke pembuat Lilo. terjadi karena tidak tepatnya geometri ataupun
kerusakan media.
Fatal error (umumnya jarang terjadi) dapat LILO. Lilo berjalan tanpa kesalahan.
menyebabkan hal yang berbahaya pada disk
Anda. Apabila harddisk Anda belum di-back up, siapkan bootdisk non-Lilo
segera lakukan back up apabila memungkinkan. Bermain-main dengan Lilo bukanlah yang terlalu
Terdapat sangat banyak fatal error yang mungkin menyenangkan. Untuk itu, sebaiknya Anda
terjadi. siapkan sebuah bootdisk yang tidak berisi Lilo
sama sekali. Di kala Lilo rewel, lupakan dahulu.
peringatan Berikut ini adalah cara untuk membuat sebuah
Warning: <config_file> should be owned by root bootdisk non Lilo dan hanya berisikan sebuah
Penyebab: file lilo.conf dimiliki oleh user lain. kernel.
Berhati-hatilah dalam menentukan kepemilikan file dd if=/path/to/kernel of=/dev/fd0 bs=1k seek=0
konfigurasi lilo. Kesalahan pengaturan pada Lilo
bisa menyebabkan kerusakan permanen pada Cara tersebut akan meletakkan kernel pada
data. bagian bootable dari sebuah floppy. Tanpa Lilo,
proses booting akan langsung ditangani oleh
Warning: <config_file> should be readable only for kernel. Dan setelah kernel berhasil di-load, maka
root if using PASSWORD rutin boot distro Anda akan dikerjakan. Cara ini
Penyebab: Anda menggunakan opsi PASSWORD dapat Anda gunakan bila Lilo bermasalah. Setelah
sementara hak akses file lilo.conf bukanlah 600. masuk ke dalam sistem, segeralah perbaiki Lilo
Hal ini sangat berbahaya karena menyebabkan Anda supaya tidak rewel lagi. Apabila Lilo terlalu
lilo.conf dapat dibaca oleh user lain. rewel, jangan ragu untuk mencoba GRUB sebagai
alternatif. Kabarnya, boot loader yang satu ini
WARNING: The system is unbootable ! “sedikit kurang rewel” dibandingkan Lilo.
Penyebab: Sebagian instalasi Lilo gagal. Pada Karena kompleksitasnya, masih banyak
kondisi demikian, sebuah bootdisk yang andal permasalahan yang dapat terjadi. Anda dapat
seharusnya telah disiapkan. merujuk kepada dokumentasi Lilo untuk lebih
lengkapnya.
start message Demikianlah, Lilo. Boot loader yang satu ini,
Pada saat Lilo dijalankan, program tersebut akan walaupun telah berusia cukup tua tetap masih
mencetak tulisan LILO. Setiap karakter dari LILO banyak digunakan sebagai boot loader default
dicetak setelah tugas tertentu dilakukan. Karakter- sebagian besar distro besar. Dengan mengetahui
karakter yang tercetak dapat digunakan dalam lebih tentang Lilo, banyak permasalahan yang bisa
analisis masalah. diselesaikan. Banyak optimasi sistem yang bisa
Tidak tercetak apa-apa. Kondisi ini dilakukan.
menunjukkan tidak ada Lilo yang dijalankan. Noprianto (noprianto@infolinux.co.id)
Scribus:
Desktop Publisher di Linux
S
istem desktop publishing (DTP) digunakan teks editor biasa. Ini salah satu keunggulan
untuk mengedit teks dan gambar yang Scribus dibandingkan program lainnya yang
dimasukkan pada suatu halaman penuh. menggunakan format biner. Di lingkungan KDE,
Terminologi desktop publisher mengingatkan kita perintah drag and drop dapat dijalankan. Format
Membuat buku pada suatu peranti lunak populer dan komersial, grafik yang dapat disisipkan pada dokumen
atau majalah di seperti QuarkXpress, Adobe InDesign, Adobe Scribus, meliputi Encapsulated PostScript (EPS),
PageMaker, CorelVentura, dan Microsoft Pub- TIFF, Joint Photographic Experts Group (JPEG),
Linux tidaklah
lisher. Semua program ini dibuat pada platform Portable Network Graphics (PNG), dan XPixMap
sulit. Kini telah
Microsoft Windows. Apakah di dunia open source (XPM).
tersedia aplikasi
tersedia peranti semacam ini? Adobe PageMaker Format keluaran baik dalam bentuk
yang dibuat
dapat dijalankan pada platform Unix, sehingga pencetakan, PDF, dan SVG dilakukan melalui
khusus untuk dapat juga dijalankan pada platform Linux namun pustaka driver dan plug-ins. Scribus dapat
mengatur layout tentunya tidak gratis. Pada tulisan ini akan menghasilkan keluaran PDF yang dilengkapi
(tata letak). diperkenalkan suatu peranti lunak yang berbasis dengan efek-efek presentasi, formulir PDF yang
open source untuk aplikasi DTP di Linux, Scribus. interaktif, dan naskah SVG terformat vektor.
Driver printer internal telah mendukung secara
Scribus lengkap Postscript Level 2 dengan sedikit Level
Sejak musim semi 2001 telah muncul peranti 3. Driver PDF dapat ditambahkan jenis huruf
lunak berbasis open source dengan lisensi GNU/ untuk pencetakan postscript dan dapat
General Public Lisence, Scribus, yang dapat menghasilkan berkas EPS resolusi tinggi.
digunakan untuk melakukan tata letak penulisan
(layout). Scribus dapat dijadikan alternatif yang Sumber dan instalasi
murah untuk aplikasi DTP di lingkungan Linux Scribus terbaru dapat di-download dari http://
atau BSD yang hampir sama dengan web2.altmuehlnet.de/fschmid. Ada beberapa
CorelVentura, QuarkXpress, Adobe PageMaker, persyaratan yang harus dipenuhi untuk
atau InDesign. Hingga tulisan ini dibuat, Scribus menginstalasi Scribus versi stabil terakhir, yaitu:
telah memiliki versi stabil 0.8 (artikel ini Qt-3.0.3.
menggunakan versi developer 0.9.7). Program ini GNU Ghostscript 6.53 atau 7.05.
telah dapat digunakan untuk melakukan beberapa Jenis huruf Postscript dan True Type Fonts.
task layout dalam Scribus dapat dijalankan di lingkungan
percetakan, seperti window manager apapun, kecuali fungsi drag
peletakan terpresisi, and drop hanya berfungsi di lingkungan KDE.
memutar teks dan/
atau gambar pada Kompilasi dan instalasi Scribus menggunakan
suatu halaman, standar perintah GNU sebagaimana biasa
menentukan kerning (configure && make && make install). Perintah ini
pengetikan secara dapat dilakukan setelah membuka paket yang
manual, poligon telah di-download atau meng-copy paket yang
kurva bezier, serta disertakan dalam CD InfoLINUX edisi ini.
layering dengan $ mount /mnt/cdrom
warna RGB dan $ cp /mnt/cdrom/scribus/scribus-0.9.7.tar.gz ./
CMYK. $ tar xvzf scribus-0.9.7.tar.gz
Dokumen $ cd scribus-0.9.7
Scribus disimpan $ ./configure atau ./configure -help
dalam format $ make
standar open $ su (sebagai root/superuser, isikan password root
source, XML yang setelah ini)
dapat diedit dengan # make install
Gambar 2.
gambar, mengolah posisi dan atribut teks, hingga Scribus dapat dilakukan dengan mengklik ikon Membuat Dokumen
ke perintah pre-print (pra-percetakan). Scribus penyisipan kotak gambar, lalu menyeret seukuran Baru Dua Kolom
mempunyai 7 perintah menu utama, meliputi yang diinginkan. Perintah untuk menyisipkan
File, Edit, Style, Item, Page, View, dan Tools. gambar/tabel hampir sama dengan perintah untuk
Seperti pada program lain, pemakaian Scribus menyisipkan teks, yaitu: File-Import-Figure Load.
dapat dimulai dengan perintah File-New. Pada Gambar yang akan disisipkan harus diset dengan
perintah ini akan muncul jendela dialog seperti resolusi yang sesuai dengan resolusi keluaran
pada gambar 2. yang diinginkan.
Hasil setting pada jendela dialog New Docu-
ment ini, akan dihasilkan dua kolom yang siap Mengatur posisi gambar dan
untuk diisi materi yang akan di-layout (teks, tabel, teks
dan gambar). Setting yang lebih detail dapat Mengatur posisi teks dan gambar pada program
dilakukan melalui menu Edit-Preferences-General. Scribus sangat mudah, persis sama dengan cara
pengaturan teks dan gambar pada program-
Memasukkan teks program DTP yang lain, seperti FrameMaker atau
Teks dapat dimasukkan dalam naskah Scribus InDesign. Posisi teks dan gambar dapat diseret
dengan dua cara, yaitu mengetik langsung pada dan ditempatkan di mana saja dalam halaman.
kotak teks (text border) atau melalui perintah Pengaturan teks dan gambar dapat juga dilakukan
impor. Cara yang paling cepat adalah melalui melalui pemilihan menu dengan mengklik mouse
perintah impor. Berkas teks yang dapat disisipkan kanan. Letakkan mouse di atas kotak teks atau
melalui perintah ini adalah berkas yang terformat gambar/tabel lalu klik mouse kanan.
ASCII (*.txt). Hampir semua word- atau docu-
ment-processing mempunyai fasilitas untuk Mengekspor file ke dalam
mengekspor menjadi ASCII yang dapat format lain
menghasilkan berkas *.txt. Berkas ini dapat juga Hingga versi developer terakhir, 0.9.7 (stabil
diketik langsung dengan program teks editor 0.8) Scribus hanya menyediakan tiga format
biasa, seperti pico, vim, jed, joe, mc, bluefish, keluaran pre-print, yaitu EPS, PDF, dan SVG.
quanta+, dan lain-lain. Format SVG belum stabil dan belum semua
Untuk menyisipkan berkas *.txt ke dalam program yang terkait bisa membaca format ini.
naskah Scribus, klik kotak yang akan disisipi teks Fasilitas ekpor yang paling lengkap adalah
dan lakukan perintah File-Import-Text Load. Lalu dengan mengekspor sebagai file PDF. Jendela
pilih berkas yang akan disisipkan (*.txt). dialog PDF dapat dilihat pada gambar 3.
Gambar 3. lain karena tidak berhubungan dengan sistem, 1 . Ceccone, Y., 2001. Scribus, enfin la mise en
Mengekspor ke
Format PDF tetapi dengan program aplikasi grafik/tabel. Salah page professionnelle sous Linux? Terjemahan
satu keunggulan program berbasis open source dalam bahasa Inggris dapat dibaca di: http://
adalah terletak pada interface antarprogram web2.altmuehlnet.de/fschmid/docs/index.html.
melalui format standar yang dikeluarkan masing- 2 . Khazaeli, C.D., 2001. Crashkurz: Typo und
masing program. Seperti kita ketahui, tidak ada Layout vom Schriftdesign zum visuellen
satu pun program yang dapat digunakan untuk Konzept. Rowohlt Taschenbuch Verlag,
mengerjakan semua hal tanpa memerlukan Hamburg. 480 hal.
bantuan program lain. 3 . Kipphan, H., 2001. Handbook of print media.
Dalam desktop publishing, Scribus Bab 3. Prepress. Springer-Verlag, Berlin.
membutuhkan peranti lunak lain seperti CMS 1207 hal.
(color management system). Program ini dapat 4 . Schmid, F. dan Zastrow, T., 2001. Das
digunakan untuk mengatur warna pada gambar Scribus-Handbuch. http://www.thomas-
yang disisipkan ke dalam naskah Scribus. Selain zastrow.de/scribus/de/index.html.
program ini, Scribus membutuhkan program I Wayan Warmada
Gimp/PhotoPaint untuk mengolah gambar raster. (warmada@nakula.rvs.uni-bielefeld.de)
J
ava kini merajai komputasi di sistem kumpulan beberapa file kelas. File-file kelas ini
enterprise dan Internet. Padahal saat dirintis dapat disatukan dan dipadatkan menjadi file
sekitar tahun 90-an, Java justru jar (Java archive).
dirancang buat sistem kecil-kecil seperti TV Pada akhirnya, kode byte tersebut akan
kabel atau home theater. Setelah berjalan dijalankan sebagai program oleh Java Runtime
lebih dari empat tahun, ternyata pasar Environment (JRE). Untuk masing-masing
tersebut tidak berkembang. Pemimpin proyek landasan komputer dan sistem operasi, tersedia
Java, James Gosling, bahkan sampai JRE yang berbeda. JRE inilah yang
khawatir masa depannya bakal suram. Lalu menyembunyikan si landasan dan menyediakan
terbersit ide, mengapa tidak mencoba ke lingkungan yang serupa bagi program Java agar
Internet? Keputusan setengah putus asa di dapat bekerja sebagai mana mestinya. Dengan
tahun 1994 ini ternyata menjadi nasib baik strategi ini, Java mampu menjadi peranti lunak
mereka dan juga seluruh dunia. yang “write once run everywhere”.
Artikel ini secara singkat memperkenalkan
keunikan dan kelebihan Java yang membuatnya Satu alat buat segala keperluan
sukses. Setelah itu akan dibahas bagaimana Kunci lain kesuksesan Java adalah beragamnya
menyiapkan sarana untuk membangun dan arsitektur program yang didukungnya (Gambar
menjalankan program Java di mesin Linux Anda. 2). Dengan Java Anda bisa membangun
program aplikasi yang berjalan di satu komputer,
Sekali tulis, lari di mana saja program terdistribusi yang bekerja antara
Ada tiga ide cemerlang yang menjadi ciri beberapa komputer, bahkan program mobile-
kesuksesan Java, yaitu bahasa, kode byte, dan agent yang bisa melompat-lompat dari satu
virtual machine. Seperti terlihat pada Gambar 1, komputer ke komputer lainnya di Internet.
siklus hidup Java dimulai dari kode sumber Arsitektur-arsitektur tesebut sangat menunjang
yang ditulis manusia (pemrogram) memakai komputasi tersebar dan paralel, sehingga Java
bahasa Java. Bahasa ini merupakan bahasa sangat populer di kalangan peneliti dan akademik.
berorientasi objek yang diturunkan dari C++ Sementara itu di dunia bisnis, arsitektur Java Gambar 1.
Tahap-tahap
dengan banyak penyempurnaan. Pada yang menarik adalah applet, servlet, Java pengembangan
umumnya, para pakar berpendapat bahwa Server Page (JSP), dan
Java
bahasa Java memiliki konsep yang konsisten Javascript. Sejauh ini,
dengan teori pemrograman objek dan aman arsitektur-arsitektur
untuk diimplementasikan. Kini universitas- tersebut merupakan
universitas di berbagai negara berpaling dari pilihan terlengkap yang
Pascal atau C++ dan memilih Java sebagai bisa disediakan oleh satu
bahasa untuk belajar memprogram. alat pengembangan.
Setelah selesai ditulis, kode sumber Java Aplikasi adalah
harus diubah menjadi kode siap eksekusi dengan arsitektur Java paling
menggunakan Java Development Kit (JDK). Di klasik, di mana kode
sini letak keunikan Java. Java menggunakan sumber dikompilasi
kode byte yang portabel dan modular. Portabel menjadi kode byte lalu
karena dia bukan kode mesin prosesor (peranti dijalankan menjadi program
keras) tertentu, justru sebaliknya dia bisa dimuat di sebuah komputer.
ke berbagai landasan komputer maupun sistem Aplikasi Java mampu
operasi. Dia juga modular karena tiap objek bekerja dengan antarmuka
dikompilasi menjadi satu file kelas (class) yang teks maupun grafik
mandiri. Aplikasi lengkap Java merupakan untuk mengerjakan
Java di Linux
teknologi lain yang menyamainya. Tabel 1.
memperlihatkan perbandingan Java dengan
beberapa bahasa populer lain.
CD-ROM InfoLINUX edisi April 2003 # Eksekusi paket tersebut untuk memasangnya.
menyertakan Blackdown J2 SDK versi 1.4.1- ./j2sdk-1.4.1-01-linux-i586.gcc3.2.bin
01. Ini sama dengan versi terbaru dari Sun,
dengan perbaikan dan penyempurnaan khusus # Buat link agar mudah diakses, lalu hapus file
untuk Linux. instalasi dan umount cdrom
Sebagai langkah awal, siapkan mesin Linux ln -s j2sdk-1.4.1-01 j2sdk
dengan spesifikasi minimum sebagai berikut: rm j2sdk-*.bin
Komputer PC Pentium, Memori 128MB, ruang umount /mnt/cdrom
harddisk 500MB.
Blackdown tidak meminta distro Linux tertentu, # Buat bash script untuk mensetup environment yang
tapi Sun menyarankan RedHat 7.1 - 7.3. diperlukan
Peket kernel-2.4.18, pustaka glibc-2.2.5, echo “#” > /etc/profile.d/setjava.sh
kompiler gcc-3.2. Anda bisa periksa hal ini chmod 755 /etc/profile.d/setjava.sh
dengan: vi /etc/profile.d/setjava.sh
rpm –q <nama-paket-tanpa-versi>
#!/bin/bash
X-Free versi 4.1. Anda bisa pakai desktop
manager apa saja baik KDE, GNOME atau # Listing-2.: /etc/profile.d/setjava.sh
lainnya. Anda juga perlu terminal dan editor # Bash login script untuk menyiapkan environment Java
teks, misalnya vim atau emacs.
# Tempat j2sdk dan variabel-variabel yang diperlukan
Setelah hal tersebut siap, masukkan CD-ROM Java
InfoLINUX edisi April 2003, maka kita bisa mulai JAVA_HOME=/usr/java/j2sdk
memasangan J2 SDK seperti tahap-tahap di CLASSPATH=./
Listing-1. Anda juga perlu mengedit skrip Bash PATH=$JAVA_HOME/bin:$PATH
seperti Listing-2. Pekerjaan ini harus dilakukan
sebagai root. export JAVA_HOME CLASSPATH PATH
# Listing-1. Perintah-perintah untuk pemasangan j2sdk
di Linux Membuat aplikasi Java
Sekarang marilah kita mencoba menggunakan
# Buat direktori /usr/java (anjuran Sun) untuk pemasangan Java untuk membuat program aplikasi
mkdir -p /usr/java sederhana. Login-lah sebagai user biasa di
cd /usr/java desktop (bukan di konsole teks). Jalankan
terminal untuk mengedit, meng-kompile dan
# Mount cd-rom, dan salin paket j2-sdk lalu diberi mengeksekusi sepeti Listing-3. Silakan pakai
mode bisa-dieksekusi editor apa saja, contoh menggunakan emacs,
untuk mengedit kode sumber Java seperti pada final JFrame frame = new JFrame(“Hello”);
Listing-4! JLabel label = new JLabel(“Hello World”);
# Listing-3. Perintah –perintah membangun dan frame.getContentPane().add(label);
menjalankan aplikasi Java
// pernik-pernik Swing
# Membuat direktori kerja di home frame.setSize(200,50);
cd $HOME frame.setVisible(true);
mkdir -p java/src frame.addWindowListener(
mkdir -p java/classes new WindowAdapter() {
cd java/src public void windowClosing(WindowEvent e) {
frame.dispose();
# Membuat kode sumber Java System.exit(0);
emacs Hello.java & }
});
# Mengkompile kode sumber java menjadi kode byte, }
ditaruh di direktori classes }
javac -d ../classes Hello.java
Penutup
# Menjalankan program Hello Bermula dari teknologi coba-coba untuk embedded
java -classpath ../classes Hello mikro prosesor, siapa kira kini Java menjadi
teknologi terpopuler untuk Internet dan sistem
// Listing-4. Hello.Java enterprise. Kunci suksesnya adalah:
// Contoh tersederhana aplikasi Java Portable. Anda bisa memrogram Java di
notebook dengan sistem operasi Windows
public class Hello { kemudian menjalankannya di PC dengan sistem
public static void main(String[] args) { operasi Linux tanpa masalah.
System.out.println(“Hello World”); Lengkap dan kaya. Anda bisa membuat
} berbagai arsitektur program dengan Java.
} Bandingkan jika Anda harus belajar C++, Perl
atau Phyton dan PHP, atau ASP untuk hal
Membuat aplikasi Java GUI yang setara!
Java dengan mudah dipakai untuk membuat Mudah dipelajari. Bahasa Java, boleh dikata
aplikasi berbasis GUI. Silahkan edit contoh kode adalah yang teranggun (elegant) untuk
sumber pada Listing-6, lalu kompile dan jalankan pemrograman berorientasi objek.
dengan perintah-perintah seperti pada Listing-5.
# Listing-5. Perintah-perintah membuat aplikasi Java GUI Hal yang sering dikeluhkan terhadap Java
emacs HelloGui.java & adalah lambat dan makan memori. Hal ini memang
tidak bisa dibantah. Namun, kenyataan
# Meng-kompile kode sumber java menjadi kode byte, menunjukkan bahwa Java sukses di pasar
ditaruh di direktori classes enterprise computing dan menjadi standard
javac -d ../classes HelloGUI.java platform di dunia akademik. Dengan demikian,
bisa disimpulkan bahwa portabilitas kode,
# Menjalankan program HelloGui fleksibilitas aplikasi, dan konsistensi pemrograman
java -cp ../classes HelloGUI jauh lebih menarik dibanding hambatannya.
D
NS adalah singkatan dari Domain Name lebih ditekankan pada pemakaian praktis, dengan
System. Kadang-kadang diartikan sebagai asumsi pembaca sudah bisa bekerja dengan Linux
Domain Name Server, jika sedang dalam mode text. Ya, bukan grafik.
membahas server. DNS berfungsi untuk Paket djbdns adalah sekumpulan program
mengatur proses penerjemahan nama domain ke aplikasi dengan ukuran kecil yang bisa disusun
nomor IP atau sebaliknya. DNS adalah juga sesuai dengan kebutuhan. Peranti lunak ini dibuat
sistem database yang terdistribusi, sehingga dengan kerangka berpikir yang mengutamakan
memungkinkan setiap bagian dari database keamanan dan unjuk kerja yang tinggi. Untuk
dikelola secara terpisah. membatasi pembahasan supaya tidak terlalu
DNS bekerja dengan konsep client-server. melebar, hanya akan dibahas tiga program aplikasi
Yang menjalankan fungsi sebagai server adalah dalam paket djbdns, yaitu tinydns, dnscache, dan
server DNS. Di dunia *nix (Unix/Linux) biasanya axfrdns. Pertimbangan yang diambil karena
dipakai program yang bernama named dari paket aplikasi ini yang paling sering dipakai.
BIND, sedangkan di sisi klien disebut dengan Dalam lapisan-lapisan TCP/IP, tinydns bekerja
resolver. di lapisan UDP bukan di lapisan TCP. Karena itu
Database DNS mempunyai struktur yang mirip tinydns mempunyai respons yang lebih cepat,
dengan pohon yang terbalik atau direktori dalam akan tetapi mempunyai kelemahan panjang data
sistem operasi *nix. Struktur seperti ini bisa dilihat yang bisa disampaikan sangat terbatas. Hal ini
pada Gambar 1. disebabkan protokol UDP tidak berorientasi pada
Kalau root direktori diberi lambang dengan koneksi, jadi agar bagian-bagian data tidak hilang
karakter garis miring (/), dalam DNS root harus dikirim dalam paket yang kecil.
dilambangkan dengan karakter titik (.). Antara Kesederhanaan dan optimasi database tinydns
nama domain dan sub-domain dipisahkan dengan juga menyumbang pada unjuk kerja. Semua
karakter titik juga. aplikasi dalam djbdns memakai database statik
DNS memegang peranan penting dalam dalam format cdb. Akibatnya Anda harus selalu
komunikasi melalui Internet. Karena kita mengonversi file text data DNS menjadi format
mengetahui komputer saling mengenal dan cdb ini jika ada perubahan yang Anda lakukan
berkomunikasi memakai nomor IP. Sedangkan terhadap data DNS. Akan tetapi, Anda tidak perlu
manusia lebih mudah berkomunikasi dengan khawatir, yang perlu dilakukan untuk melakukan
nama. Sebagai contoh, lebih mudah bagi kita konversi ini hanyalah menjalankan perintah make.
mengirim e-mail dengan alamat Karena layanan DNS sangat penting, maka
salman@openware.or.id, daripada perlu adanya server cadangan yang melayani
salman@[202.159.11.155]. Demikian juga akan sebuah domain. Paket BIND menyediakan
lebih mudah mengingat nama host mekanisme penggandaan layanan dengan nama
www.salman.or.id dari pada nomor IP-nya. zone transfer. Layanan ini sudah dimasukkan
Jika Anda ingin lebih tahu lebih dalam dalam program utama yang bernama named.
mengenai Domain Name System ini, saya Layanan yang sama, diimplementasikan di
anjurkan untuk membaca DNS HOWTO tulisan djbdns dengan menjalankan aplikasi terpisah.
Nicolai Langfeldt, Jamie Norris, dkk. Buku Program tersebut bernama axfrdns. Kalau tinydns
karangan Paul Albitz dan Cricket Liu yang berjudul berjalan di lapisan UDP dan mendengarkan pada
DNS and BIND sangat lengkap membahas teori port 53, maka axfrdns berjalan pada lapisan TCP
dan cara kerja DNS. Dalam tulisan ini pembahasan dengan port yang sama, sehingga kedua layanan
daemontools
Paket program daemontools adalah sekumpulan
program untuk mengadministrasi program-
program yang akan dijalankan sebagai server/
daemon. Dalam paket ini juga terdapat program
untuk mencatat aktivitas server.
Ikuti langkah-langkah berikut untuk meng-
instalasi paket program daemontools secara
manual:
Struktur
Database ini bisa berjalan pada saat bersamaan. Dan Buat direktori /package/
DNS
biasanya kedua program ini mengambil data dari # mkdir -p /package
sumber yang sama, yaitu file /etc/tinydns/root/ # chmod 1755 /package
data.cdb.
Sebenarnya ada cara lain yang lebih bagus dan Urai file paket program dalam direktori /
aman untuk membuat server DNS cadangan, yaitu package/
dengan cara menyalin setiap perubahan file data di # tar -xzv -C /package/ -f daemontools-0.76.tar.gz
server utama ke server-server cadangan tersebut.
Anda bisa menggunakan program rsync atau scp. Kompilasi dan setup daemontools
Dengan cara ini konsep zone transfer sudah tidak # cd /package/admin/daemontools-0.76/
berlaku lagi. # package/install
Program ketiga yang akan kita bahas adalah
dnscache. Program ini akan kita perlukan jika kita Proses setup akan membuat direktori /service/
tidak ingin membangun dns server sendiri. Ia akan dan /command/. Selain itu, pada file /etc/inittab
menyimpan setiap permintaan penerjemahan DNS akan ditambahkan baris:
yang didapatkan dari server-server DNS di SV:123456:respawn:/command/svscanboot
Internet. Jika dnscache menerima permintaan dari
resolver, dia akan meneruskan ke server-server Itu untuk distribusi Linux yang menganut
DNS di Internet. Setelah jawaban yang benar System V. Tapi jika file tersebut tidak ada, maka
didapatkan, kemudian akan disimpan ke dalam akan ditambahkan pada file /etc/rc.local baris:
cache. Jika nanti ada resolver meminta csh -cf ‘/command/svscanboot &’
penerjemahan nama dengan nama domain yang
sudah ada dalam cache, maka akan diambilkan Proses ini juga akan mengirimkan pesan pada
dari cache. init untuk membaca ulang file konfigurasinya,
yang juga berarti langsung menjalankan program
Instalasi djbdns svscanboot. Program ini akan selalu diawasi oleh
Untuk menjalankan DNS dengan djbdns init supaya tidak mati.
diperlukan tiga paket peranti lunak, yaitu: svscanboot menjalankan program svscan,
daemontools, peranti lunak ini bisa Anda yang akan selalu mengawasi direktori /service/.
dapatkan dari URL: Jika program ini melihat keberadaan sebuah
http://cr.yp.to/daemontools/daemontools- subdirektori dalam direktori /service/, ia akan
0.76.tar.gz menjalankan script yang bernama run di
http://sas.docspages.com/software/ subdirektori tersebut. Tentu saja script tersebut
daemontools-0.76.tar.gz harus bisa dieksekusi.
mempelajari lebih dalam lagi djbdns. Untuk menambahkan mail server untuk
# dnsq a salman.or.id 192.168.1.20 domain tertentu gunakan perintah add-mx.
1 salman.or.id: # ./add-mx salman.or.id 192.168.1.20
82 bytes, 1+0+1+0 records, response, authorita # make
tive, noerror
query: 1 salman.or.id Apabila perintah-perintah di atas Anda
authority: salman.or.id 2560 SOA a.ns.salman.or.id lakukan, file /etc/tinydns/root/data, akan seperti ini:
hostmaster.salman.or.id 1045229519 16384 .salman.or.id:192.168.1.20:a:259200
2048 1048576 2560 .1.168.192.in-addr.arpa:192.168.1.20:a:259200
=fariz.salman.or.id:192.168.1.192:86400
Tentu saja ini harus Anda lakukan setelah =salma.salman.or.id:192.168.1.20:86400
Anda mengisi file /etc/resolv.conf dengan nomor +mail.salman.or.id:192.168.1.20:86400
IP dari komputer yang sedang Anda setup sebagai @salman.or.id:192.168.1.20:a::86400
name server. Dan selamat, Anda sudah memiliki
dns server yang siap menjalankan tugasnya! Format data tinydns
Format perintah dnsq adalah: Tinydns mencari informasi tentang domain dari file
dnsq type name server database dengan format cdb, namanya data.cdb.
Seperti telah disebutkan sebelumnya, file ini
di mana, type adalah resource record apa yang berasal dari file yang bernama data. File yang
kita inginkan misalnya, a, ns, any, mx, txt, soa. disebutkan terakhir inilah yang akan kita bahas
Sedangkan name adalah nama host lengkap atau lebih lanjut.
nama domain dan server adalah name server Kalau Anda jeli melihat contoh file data yang
tujuan. dihasilkan dari script-script yang kita jalankan di
bagian-bagian sebelumnya, bisa Anda lihat ada
Menambahkan data empat hal:
Dalam paket djbdns sudah disediakan script-script Informasi nama name server diawali dengan
untuk menambahkan data ke dalam database. karakter titik (.).
Pekerjaan yang sering dikerjakan dalam mengelola Informasi nama host diawali dengan karakter
dns adalah: sama-dengan (=).
Menambahkan nama host. Informasi nama alias selalu diawali dengan
Menambahkan alias host. karakter plus (+).
Menambahkan informasi mail server untuk Informasi nama mail server selalu diawali
domain. dengan karakter at-sign (@).
Menambahkan informasi name server untuk
domain. Mari kita lihat satu per satu isi dari file data
Mendelegasikan sebuah sub-domain kepada tersebut. Lihat dua baris yang berisi informasi
server dns yang lain. mengenai name server berikut ini:
.salman.or.id:192.168.1.20:a:259200
Jalankan perintah-perintah di bagian ini dari .1.168.192.in-addr.arpa:192.168.1.20:a:259200
root direktori tinydns, /service/tinydns/root/.
Untuk menambah hostname bisa dipakai Pola keduanya sama, yaitu:
perintah seperti ini: .nama-domain:nomor-ip:name-server:ttl
# ./add-host fariz.salman.or.id 192.168.1.192
# ./add-host salma.salman.or.id 192.168.1.20 Nama-domain harus dalam bentuk Full
# make Qualified Domain Name (FQDN) dan diawali
dengan karakter titik. Name server utama untuk
Jika Anda mencoba menambahkan nama baru domain ini adalah name-server.ns.nama-domain,
dengan nomor IP yang sudah pernah didaftarkan jika name-server tidak mengandung tanda titik.
akan ditolak. Pada dasarnya sebuah server hanya Akan tetapi, jika tidak ada tanda titik maka name-
memiliki satu nama, tapi jika ingin sebuah server/ server dipakai sebagai name server tanpa
host bisa memiliki nama lain Anda bisa ditambahkan nama-domain di belakangnya.
menambahkan nama alias ini ke file data. nomor-ip adalah nomor IP dari name-
# ./add-alias mail.salman.or.id 192.168.1.20 server.ns.nama-domain. Setiap domain boleh
# make diberikan name server lebih dari satu, akan tetapi
yang dianggap server utama hanya satu saja. Perbedaan kedua jenis cache ini hanya terletak
Alamat kontak administrator adalah pada tempat meletakkan cache DNS. Cache
hostmaster@nama-domain. internal biasanya dipakai untuk akses melewati
Pada contoh ini, jika name-server adalah nomor IP 127.0.0.1, yang akan diterjemahkan
ns..salman.or.id, maka nama ini yang akan dipakai sebagai localhost. Sedangkan layanan cache DNS
sebagai NS resource record. eksternal terletak pada nomor IP ethernet card.
Time to live atau disingkat ttl adalah batas Cara men-setup cache DNS server seperti ini:
waktu—dalam detik—data DNS bisa disimpan Tambahkan user yang akan menjalankan
dalam cached. cachedns:
Dua baris berikutnya berisi informasi tentang # useradd -d /dev/null -s /dev/null dnscache
hostname, seperti ini: # useradd -d /dev/null -s /dev/null dnslog
=fariz.salman.or.id:192.168.1.192:86400
=salma.salman.or.id:192.168.1.20:86400 Konfigurasikan dnscache dengan perintah:
# dnscache-conf dnscache dnslog /etc/dnscache/
Pola keduanya sama, yaitu:
=nama-host:nomor-ip:ttl Aktifkan server baru ini dengan daemontools,
dengan cara membuat link di direktori service.
Informasi ini menentukan nomor-ip # ln -s /etc/dnscache/ /service/
diasosiasikan dengan nama-host. Nama host
harus disebutkan lengkap dengan domainnya. Untuk melihat bahwa server dnscache kita
Alias dari hostname direpresentasikan dengan sudah berjalan, perintahkan:
baris, # netstat -pln|grep dnscache
+mail.salman.or.id:192.168.1.20:86400
Hasilnya akan ditampilkan seperti berikut:
Format ini sama dengan informasi hostname (Not all processes could be identified, non-owned
hanya disini diawali dengan tanda plus (+). process info
Sedangkan, informasi tentang mail server will not be shown, you would have to be root to see it
sebuah domain diberikan dengan all.)
@salman.or.id:192.168.1.20:a::86400 tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 5038/
dnscache
Polanya adalah: udp 0 0 127.0.0.1:53 0.0.0.0:* 5038/
@nama-domain:nomor-ip:mail-server:bobot:ttl dnscache
Aturan yang berlaku di sini sama dengan Terlihat di sini bahwa dnscache local bekerja
aturan yang berlaku untuk name server. Tetapi ada di nomor IP 127.0.0.1 port 53 dengan protokol
informasi tambahan di sini, yaitu bobot. Anda bisa UDP dan TCP.
memberikan beberapa mail server untuk satu nama Untuk membuat server cache DNS eksternal
domain. Mail server akan diakses sesuai dengan prosesnya sama dengan cache internal hanya ada
urutan bobot ini. sedikit perbedaan saat menjalankan program
dnscache-conf dan saat membuat soft link.
Setup dnscache # dnscache-conf dnscache dnslog /etc/dnscachex
Tanpa menggunakan cache, setiap kita mencari 192.168.1.192
informasi tentang sebuah domain maka server # ln -s /etc/dnscachex /service/
DNS akan sibuk menjawab pertanyaan yang sama
berkali-kali. Jika proses ini dilakukan untuk banyak Setup axfrdns
client, akibatnya beban kerja dari DNS server akan Untuk memberi kemudahan proses back up data
berat. Seyogyanya setiap administrator sistem dari sebuah name server ke name server yang
menyiapkan paling tidak sebuah server cache kedua, djbdns menyertakan program axfrdns
DNS. dnscache adalah bagian dari paket djbdns. untuk menjaga kompatibilitas dengan BIND.
Ia bekerja pada port 53 dengan protokol TCP dan Program ini berguna jika Anda ingin menjalankan
UDP. back up name server Anda dengan konsep zone-
Ada dua jenis cache yang bisa kita buat, yaitu: transfer milik BIND.
Cache internal. Akan tetapi, jika Anda menjalankan semua
Cache external. DNS server Anda, baik primary maupun second-
ary, dengan djbdns sangat dianjurkan tidak dnnsip, dipakai untuk mencari nomor IP dari
menggunakan konsep zone-transfer ini. Lebih baik sebuah full qualified domain name atau
gunakanlah program bantu lain yang lebih aman disingkat fqdn. Format dan contoh:
dan cepat, misalnya scp atau rsync. scp adalah dnsip [fqdn] [fqdn] ...
bagian dari paket openSSH. # dnsip xyz.openware.or.id salman.or.id
Jika Anda masih berkeras mau menggunakan
zone-transfer, langkah-langkah berikut bisa dnsmx, dipakai untuk mencari mail server/MX
dijalankan untuk mengaktifkan axfrdns: record dari sebuah domain. Format dan
Buatlah user axfrdns dan dnslog jika belum ada. contoh:
# useradd -d /dev/null -s /dev/null axfrdns dnsmx fqdn
# useradd -d /dev/null -s /dev/null dnslog # dnsmx salman.or.id
Dengan isi file seperti ini host yang boleh dnsqr, untuk mencari type RR tertentu di
melakukan zone transfer hanyalah host dengan IP bawah domain. Format dan contoh:
192.168.1.192. Dan zone yang boleh ditransfer dnsqr type name
hanyalah salman.or.id. Jika Anda menginginkan # dnsqr a google.com
zone lain juga bisa ditransfer dari host yang sama,
tambahkan zone itu ke dengan format yang dnstrace, berguna untuk melacak name server
ditunjukkan pada baris yang diberi remark di atas. apa saja yang mempengaruhi resolusi sebuah
Baris ketiga menetapkan host lain akan ditolak jika type RR tertentu dari sebuah domain. Proses
melakukan transfer zone. pelacakan dimulai dari satu atau lebih name
Langkah terakhir jalankan service. server root. Format dan contoh:
# ln -s /etc/axfrdns/ /service/ dnstrace t fqdn r
# dnstrace a salman.or.id a.root-servers.net
Sekian pembahasan singkat dari instalasi sampai
setup name server menggunakan djbdns. Segala dnstxt, dipakai untuk mencari RR TXT dari
kritik, komentar, koreksi, alamatkan ke sebuah domain. Format dan contoh:
sas@salman.or.id. Versi terbaru dari dokumen ini dnstxt fqdn
bisa Anda dapatkan dari url http:// # dnstxt openware.or.id
www.salman.or.id/djbdns/.
Daftar rujukan
Menggunakan utilitas paket DNS HOWTO, Nicolai Langfeldt, Jamie Norris
djbdns dkk.
Dalam paket djbdns selain berisi peranti lunak dns DNS and BIND, Paul Albitz dan Cricket Liu.
server-nya sendiri, juga terdapat software-software http://cr.yp.to/djbdns/djbdns.html.
client untuk proses troubleshooting. Salman Agus Supriadi (http://salman.or.id)
Gambar 1.
Setup Klien 6 . Selanjutnya, kita masukkan parameter range DHCPDARGS=eth0
DHCP dengan dari alamat IP klien yang bisa mengakses
Drakconf dan server. Pada contoh di bawah ini, alamat 9 . Simpan hasil pekerjaan Anda.
Netconf
range tersebut berkisar dari 192.168.0.10 10. Jalankan DHCPD Server dengan mengetikkan
sampai dengan 192.168.0.100 perintah berikut ini:
default-lease-time 600; [root@localhost:~] # /etc/init.d/dhcpd start
max-lease-time 7200;
option subnet-mask 255.255.255.0; 11. Jika ingin diaktifkan oleh sistem secara
option broadcast-address 192.168.0.255; otomatis pada saat PC dinyalakan, ada dua
option routers 192.168.0.254; cara untuk menjalankan DHCPD secara
option domain-name-servers 192.168.0.1, otomatis.
192.168.0.2;
option domain-name “contoh.com”; Menggunakan chkconfig
subnet 192.168.0.0 netmask 255.255.255.0 { a. Pada konsol, lakukan login sebagai root
range 192.168.0.10 192.168.0.100; login: root
} Password: password (ganti dengan pasword Anda)
login: root berikut: Gambar 4.
Memilih
Password: password (ganti dengan pasword Anda) DEVICE=eth0
Protokol
BOOTPROTO=dhcp dan Kartu
b. Menjalankan ntsysv ONBOOT=yes Jaringan
Windows
Untuk menjalankan ntsysv, Anda tinggal
mengetikkan sintaks perintah sebagai berikut: 7 . Untuk mengaktifkannya, Anda bisa
[root@localhost: init.d] # ntsysv mengetikkan perintah berikut ini:
root@localhost # /etc/init.d/network restart
c. Mengaktifkan service dhcpd
Sekarang Anda bisa mengaktifkan service Setting konfigurasi client Windows
dhcpd, dengan cara mengarahkan pointer pada Untuk menjalankan DHCP pada Windows client,
tulisan dhcpd, kemudian tekan tombol spasi, caranya adalah sebagai berikut:
sehingga tampak tanda bintang pada bagian 1 . Jalankan sistem operasi Windows.
sebelah kiri service dhcpd. 2 . Pada menu Start, klik Control Panel (Gambar 2).
d. Kemudian tekan tombol [Ok] untuk keluar dari 3 . Pilihlah bagian Network
jendela service. (Gambar 3).
e. Sekarang, DHCP Server akan langsung berjalan 4 . Kemudian pada TCP/
secara otomatis, pada saat Anda menyalakan IP, klik Properties
PC. (Gambar 4).
5 . Pilihlah tab IP Address
Konfigurasi DHCP Client sehingga muncul
Setting konfigurasi client Linux Gambar 5.
Untuk melakukan konfigurasi pada client Linux, 6 . Klik pada bagian Obtain
Anda bisa menggunakan tool yang disediakan IP address automati-
setiap distro (misalnya netconf dan drakconf cally.
seperti pada Gambar 1) atau mengedit file /etc/ 7 . Klik OK.
sysconfig/network seperti langkah-langkah 8 . Restart Windows untuk
berikut: melihat efeknya. (Inilah
1 . Pada konsol, login sebagai root: bedanya dengan Linux
Gambar 5.
Login: root yang tidak harus restart ketika mengubah Setup
Password: password konfigurasi jaringan). Windows
sebagai
Klien DHCP
2 . Lakukan editing pada file /etc/sysconfig/ Dengan cara demikian, setiap kali client
network, sebagai berikut: Windows menyalakan komputer, maka secara
[root@localhost:~] # vi /etc/sysconfig/network otomatis akan menghubungi server terlebih dahulu
untuk meminta alamat IP dan informasi jaringan
3 . Tambahkan kalimat seperti di bawah ini: Internet lainnya. Selamat mencoba!
NETWORKING=yes R. Kresno Aji (masaji@ai.co.id), Atlantis Indonesia