28
www.infolinux.web.id 50 InfoLINUX 08/2004 TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial Setelah Anda selesai melakukan setting Diskless Server dan Diskless Client, selanjutnya Anda bisa melakukan setting aplikasi lokal. Pada artikel kali ini, kita akan melakukan setting printer lokal yang terpasang pada Diskless Client. Local Printer pada Diskless System T ulisan di bawah ini merupakan lanjutan dari pembahasan K12LTSP di majalah dan buku mini InfoLINUX tentang Diskless System, sekaligus jawaban dari per- tanyaan pembaca seputar masalah setting printer lokal pada Diskless Client. Untuk melakukan setting printer lokal, langkah-langkahnya adalah sebagai berikut: 1. Anda jalankan Diskless Server. 2. Selanjutnya, Anda masuk ke konsol dengan mengetikkan sintaks perintah: [Ctrl] +[Alt] + F1 3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti dengan pasword Anda) Anda juga bisa menjadi root, pada saat Anda login sebagai user biasa atau pada waktu menggunakan X Window, dengan mengetikkan sintaks perintah pada konsol sebagai berikut: [user@localhost:~] $ su -l root Password: (isi dengan password root Anda) 4. Pastikan Anda sudah melakukan instalasi Local_Apps. Pada K12LTSP, secara default file local_apps sudah diikutsertakan. Anda tinggal mengaktifkannya, yang akan kita bahas pada bagian berikutnya pada artikel ini. 5. Pindah ke direktori /opt/ltsp/i386/etc Selanjutnya, Anda menuju ke direktori / opt/ltsp/i386/etc, dengan mengetikkan sintaks perintah sebagai berikut: [root@localhost:~] # cd /opt/ ltsp/i386/etc 6. Edit file lts.conf Edit file lts.conf dengan editor kegemaran Anda. Pada contoh ini, kami menggunakan ‘vi’, ketikkan sintaks perintah sebagai berikut: [root@localhost:~] # vi lts.conf Selanjutnya, Anda bisa melihat isi dari file lts.conf, seperti berikut ini: # # Config file for the Linux Terminal Server Project (www.ltsp.org) # [Default] SERVER = 192.168.0.254 XSERVER = auto X_MOUSE_PROTOCOL = “PS/2” X_MOUSE_DEVICE = “/dev/ psaux” X_MOUSE_RESOLUTION = 400 X_MOUSE_BUTTONS = 3 USE_XFS = N LOCAL_APPS = Y RUNLEVEL = 5 [ws001] USE_NFS_SWA = Y SWAPFILE_SIZE = 48m RUNLEVEL = 5 [ws002] XSERVER = XF86_SVGA LOCAL_APPS = N USE_NFS_SWAP = Y SWAPFILE_SIZE = 64m RUNLEVEL = 3 7. Pengaktifan Local Application Lakukan perubahan pada kalimat LOCAL_APPS, menjadi sesuai dengan contoh berikut ini: LOCAL_APPS = Y 8. Penambahan parameter Lakukan penambahan parameter pada kolom [Default]sebagai berikut: PRINTER_0_DEVICE Kalimat di atas merupakan device pertama dari printer. Nama device seperti: /dev/lp0', /dev/ttyS0 atau / dev/ttyS1 diizinkan. PRINTER_0_TYPE Merupakan jenis dari printer. Untuk pilihan yang tepat adalah ‘P’ untuk Parallel, dan ‘S’ untuk Serial. PRINTER_0_PORT Nomor port TCP/IP yang digunakan. Secara default, biasanya mengguna- kan port ‘9100’. PRINTER_0_SPEED Jika printer Anda merupakan printer serial, konfigurasi ini untuk menentu- kan kecepatan (baud rate). Secara de- fault, kecepatan yang digunakan adalah ‘9600’. PRINTER_0_FLOWCTRL Digunakan pada jenis printer serial, alur kontrol yang digunakan lebih ter- arah. Isikan ‘S’ untuk Software (XON/ XOFF) alur kontrol, atau ‘H’ untuk Hardware (CTS/RTS) alur kontrol. Biasanya, yang digunakan adalah ‘S’. Diskless System

Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

Embed Size (px)

Citation preview

Page 1: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

www.infolinux.web.id50 InfoLINUX 08/2004

TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

Setelah Anda selesai melakukan setting Diskless Server dan Diskless Client, selanjutnyaAnda bisa melakukan setting aplikasi lokal. Pada artikel kali ini, kita akan melakukansetting printer lokal yang terpasang pada Diskless Client.

Local Printer padaDiskless System

Tulisan di bawah ini merupakan lanjutan

dari pembahasan K12LTSP di majalah

dan buku mini InfoLINUX tentang

Diskless System, sekaligus jawaban dari per-

tanyaan pembaca seputar masalah setting

printer lokal pada Diskless Client.

Untuk melakukan setting printer lokal,

langkah-langkahnya adalah sebagai berikut:

1. Anda jalankan Diskless Server.

2. Selanjutnya, Anda masuk ke konsol

dengan mengetikkan sintaks perintah:

[Ctrl] +[Alt] + F1

3. Pada konsol, lakukan login sebagai root .

login: root

Password: password (ganti

dengan pasword Anda)

Anda juga bisa menjadi root, pada saat

Anda login sebagai user biasa atau pada

waktu menggunakan X Window, dengan

mengetikkan sintaks perintah pada

konsol sebagai berikut:

[user@localhost:~] $ su -l

root

Password: (isi dengan

password root Anda)

4. Pastikan Anda sudah melakukan instalasi

Local_Apps.

Pada K12LTSP, secara default file

local_apps sudah diikutsertakan. Anda

tinggal mengaktifkannya, yang akan kita

bahas pada bagian berikutnya pada

artikel ini.

5. Pindah ke direktori /opt/ltsp/i386/etc

Selanjutnya, Anda menuju ke direktori /

opt/ltsp/i386/etc, dengan mengetikkan

sintaks perintah sebagai berikut:

[root@localhost:~] # cd /opt/

ltsp/i386/etc

6. Edit file lts.conf Edit file lts.conf dengan

editor kegemaran Anda. Pada contoh ini,

kami menggunakan ‘vi’, ketikkan sintaks

perintah sebagai berikut:

[root@localhost:~] # vi

lts.conf

Selanjutnya, Anda bisa melihat isi dari file

lts.conf, seperti berikut ini:

#

# Config file for the Linux

Terminal Server Project

(www.ltsp.org)

#

[Default]

SERVER =

192.168.0.254

XSERVER = auto

X_MOUSE_PROTOCOL = “PS/2”

X_MOUSE_DEVICE = “/dev/

psaux”

X_MOUSE_RESOLUTION = 400

X_MOUSE_BUTTONS = 3

USE_XFS = N

LOCAL_APPS = Y

RUNLEVEL = 5

[ws001]

USE_NFS_SWA = Y

SWAPFILE_SIZE = 48m

RUNLEVEL = 5

[ws002]

XSERVER =

XF86_SVGA

LOCAL_APPS = N

USE_NFS_SWAP = Y

SWAPFILE_SIZE = 64m

RUNLEVEL = 3

7. Pengaktifan Local Application

Lakukan perubahan pada kalimat

LOCAL_APPS, menjadi sesuai dengan

contoh berikut ini:

LOCAL_APPS = Y

8. Penambahan parameter Lakukan

penambahan parameter pada kolom

[Default]sebagai berikut:

� PRINTER_0_DEVICEKalimat di atas merupakan device

pertama dari printer. Nama device

seperti: /dev/lp0', /dev/ttyS0 atau /

dev/ttyS1 diizinkan.

� PRINTER_0_TYPEMerupakan jenis dari printer. Untuk

pilihan yang tepat adalah ‘P’ untuk

Parallel, dan ‘S’ untuk Serial.

� PRINTER_0_PORTNomor port TCP/IP yang digunakan.

Secara default, biasanya mengguna-

kan port ‘9100’.

� PRINTER_0_SPEEDJika printer Anda merupakan printer

serial, konfigurasi ini untuk menentu-

kan kecepatan (baud rate). Secara de-

fault, kecepatan yang digunakan

adalah ‘9600’.

� PRINTER_0_FLOWCTRLDigunakan pada jenis printer serial,

alur kontrol yang digunakan lebih ter-

arah. Isikan ‘S’ untuk Software (XON/

XOFF) alur kontrol, atau ‘H’ untuk

Hardware (CTS/RTS) alur kontrol.

Biasanya, yang digunakan adalah ‘S’.

Diskless System

Page 2: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

51InfoLINUX 08/2004www.infolinux.web.id

TUTORIALBerita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

� PRINTER_0_PARITYDigunakan pada jenis printer serial,

the Parity can be specified. Pilihannya

adalah: ‘E’ (Even), ‘O’ (Odd) atau ‘N’

(None). Jika tidak ada pilhan, Anda

bisa memilih ‘N’.

� PRINTER_0_DATABITSDigunakan pada jenis printer serial,

angka dari databit yang digunakan

adalah khusus. Pilihan angka me-

liputi: ‘5’, ‘6’, ‘7’ dan ‘8’. Jika tidak ada

pilhan atau bingung, Anda bisa me-

milih angka ‘8’.

� PRINTER_1_DEVICEMerupakan device printer kedua.

� PRINTER_1_TYPEMerupakan jenis printer kedua.

� PRINTER_1_PORTPort tcp/ip yang digunakan pada

printer kedua.

� PRINTER_1_SPEEDBaud rate pada printer kedua (serial).

� PRINTER_1_FLOWCTRLJalur kontrol printer kedua (serial).

� PRINTER_1_PARITYParity pada printer kedua (serial).

� PRINTER_1_DATABITSData bits / kecepatan data pada printer

kedua (serial).

� PRINTER_2_DEVICENama device printer ketiga.

� PRINTER_2_TYPEJenis printer ketiga.

� PRINTER_2_PORTPort tcp/ip pada printer ketiga.

� PRINTER_2_SPEEDBaud rate pada printer ketiga (serial).

� PRINTER_2_FLOWCTRLJalur kontrol pada printer ketiga (se-

rial).

� PRINTER_2_PARITYParity pada printer ketiga (serial).

� PRINTER_2_DATABITSData bits / kecepatan data pada printer

ketiga (serial).

Untuk jelasnya, Anda bisa melihat isi dari

file lts.conf secara lengkap, sebagai berikut:

#

# Config file for the Linux

Terminal Server Project

(www.ltsp.org)

#

Diskless System

[Default]

SERVER =

192.168.0.254

XSERVER = auto

X_MOUSE_PROTOCOL = “PS/2”

X_MOUSE_DEVICE = “/dev/

psaux”

X_MOUSE_RESOLUTION = 400

X_MOUSE_BUTTONS = 3

USE_XFS = N

LOCAL_APPS = N

RUNLEVEL = 5

PRINTER_0_DEVICE = /dev/

lpo

PRINTER_0_TYPE = P

PRINTER_0_PORT = 9100

PRINTER_0_SPEED = 9600

PRINTER_0_FLOWCTRL = S

PRINTER_0_PARITY = N

PRINTER_0_DATABITS = 8

PRINTER_1_DEVICE = /dev/lp1

PRINTER_1_TYPE = S

PRINTER_1_PORT = 9100

PRINTER_1_SPEED = 9600

PRINTER_1_FLOWCTRL = S

PRINTER_1_PARITY = N

PRINTER_1_DATABITS = 8

PRINTER_2_DEVICE = /dev/lp2

PRINTER_2_TYPE = S

PRINTER_2_PORT = 9100

PRINTER_2_SPEED = 9600

PRINTER_2_FLOWCTRL = S

PRINTER_2_PARITY = N

PRINTER_2_DATABITS = 8

[ws001]

USE_NFS_SWAP = Y

SWAPFILE_SIZE = 48m

RUNLEVEL = 5

[ws002]

XSERVER =

XF86_SVGA

LOCAL_APPS = N

USE_NFS_SWAP = Y

SWAPFILE_SIZE = 64m

RUNLEVEL = 3

9. Jika Anda juga memiliki printer yang

menggunakan port USB, Anda bisa me-

nambahkan konfigurasi sebagai berikut:

[ws003]

MODULE_01 = usb-ohci

MODULE_02 = printer

PRINTER_3_DEVICE= /dev/

usb/lp0

PRINTER_3_TYPE = S

10.Menyimpan hasil pekerjaan.

Selanjutnya, simpan hasil pekerjaan Anda

dengan mengetikkan sintaks perintah

sebagai berikut:

[Esc]+[Shift][:]

11.Restart LTSP Client.

Langkah terakhir, Anda bisa melakukan

restart Diskless Client Anda, agar peruba-

han konfigurasi bisa dirasakan. Selamat

mencoba.�R. Kresno Aji ([email protected])

Konfigurasi jaringan LTSP dengan printer di masing-masing client.

Page 3: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

www.infolinux.web.id52 InfoLINUX 08/2004

TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

Software .NET adalah produk yang

diciptakan oleh Microsoft sebagai

respon terhadap kesuksesan Java.

.NET adalah suatu framework atau platform

untuk software. Anda bisa bilang .NET

sebagai saingan Java. .NET sendiri bukanlah

jiplakan dari Java, tapi desain ulang kembali

dari Java dengan ditambahi berbagai fitur

menarik.

Anda cuma bisa memakai bahasa pem-

rograman Java untuk platform Java, tapi di

platform .NET Anda bisa memakai ber-

bagai bahasa pemrograman sepanjang

bahasa pemrograman itu memiliki properti

.NET. Ya, salah satu fitur menarik dari .NET

adalah ketidaktergantungan dari suatu

bahasa tertentu. Itulah sebabnya di dunia

Windows, Anda sering mendengar VB.NET,

C++.NET, Cobol.NET, ASP.NET, dan

C#.NET. Anda bisa mencampur berbagai

bahasa itu dengan mudah.

Untuk perbandingannya, salah satu

alasan pustaka GTK+ ditulis dengan bahasa

C adalah supaya bisa diakses oleh berbagai

bahasa. Misalnya Anda ingin menggunakan

pustaka GTK+ untuk membuat aplikasi

tapi Anda ingin menggunakan bahasa py-

thon bukan bahasa C. Hal ini dimung-

kinkan dengan binding. Anda mengakses

pustaka Gtk+ yang ditulis dengan bahasa

C itu dengan binding. Tapi Anda tidak bisa

mengakses pustaka python dari bahasa C.

Di .NET hal ini dimungkinkan. Luar biasa!

.NET mempunyai pustaka yang sangat

besar untuk hampir setiap keperluan.

Beberapa di antaranya adalah dukungan

XML, database, dan web. Sementara itu

dengan .NET, Anda bisa membuat aplikasi

web dengan mudah lewat ASP.NET. Dengan

ASP.NET, membuat aplikasi web berskala

besar menjadi jauh lebih mudah. Yang

enaknya, ASP.NET memberi Anda pilihan

berbagai bahasa seperti C#, atau C++ dalam

mengerjakan aplikasi web.

Walaupun .NET dibuat oleh Microsoft

tapi framework itu sendiri standar dan

begitu juga dengan berbagai hal lainnya

seperti spesifikasi C#. Standardisasi itu

sendiri di-submit ke ECMA, yaitu suatu

organisasi yang mengurus standardisasi atas

bidang teknologi informasi dan komunikasi.

Ini artinya setiap pihak bisa mengambil ke-

untungan dari framework ini secara bebas.

Novell dan kelompok open source men-

jawab tuntutan untuk menghadirkan frame-

work yang luar biasa ini di platform Unix, di

mana kemudian platform Windows dan

MacOSX pun didukung. Dengan dimotori

oleh Miguel de Icaza (salah satu pendiri

projek Gnome), projek Mono dikembangkan.

Secara singkatnya, Mono adalah imple-

mentasi bebas dari platform .NET. Ada

berbagai teknologi menarik dari Mono,

seperti compiler untuk bahasa pemrog-

raman yang baru, yaitu C#, compiler Basic,

compiler LOGO, mesin virtual bagi kode-

kode binari CIL (Common Intermediate

Language) yang mirip dengan Java Virtual

Machine, berbagai pustaka untuk mema-

nipulasi XML, pengaturan database, pem-

buatan aplikasi GUI, sampai konstruksi

web.

Anda boleh menulis aplikasi open source

maupun closed source dengan teknologi ini.

Compiler C# dilensikan ke dalam GNU GPL

sedangkan runtime library-nya dilensikan

dengan GNU Library GPL dan pustaka

kelas-kelasnya dilensikan dengan salah satu

lisensi open source, yaitu lisensi MIT X11.

Terus mungkin ada yang khawatir karena

bagaimanapun ini adalah teknologi yang

berhubungan dengan Microsoft. Mungkin

suatu hari Microsoft akan menuntut orang-

orang yang yang menggunakan platform

.NET di Linux seperti kasus SCO menuntut

IBM. Sebagai latar belakang informasi,

teknologi .NET terbagi dua: teknologi .NET

yang di-submit ke ECMA dan teknologi yang

dibangun di atasnya seperti Windows.Forms,

ADO.NET, ASP.NET.

Mono mengimplementasikan kedua-

duanya dan juga melebihi dari itu, yaitu

dengan mengembangkan dan menginteg-

rasikan pustaka pihak ketiga seperti API

untuk debugging, Mozilla, OpenGL, du-

kungan atas database yang luas, integrasi

dengan pustaka POSIX. Teknologi .NET

yang di-submit ke ECMA adalah standar.

Artinya semua pihak boleh mengimple-

mentasikan komponen-komponen itu

secara bebas untuk kepentingan apapun.

Teknologi .NET yang kontroversial

adalah seperti Windows.Forms, ADO.NET,

ASP.NET. Teknologi ini diperlukan bagi or-

ang yang memerlukan kompatibilitas penuh

dengan platform Windows, tapi tidak

diperlukan bagi platform open source

seperti Linux atau *BSD yang kaya akan

Implementasi .NETdengan Mono

Mono

Penulis masih ingat ketika membaca tulisan yang membandingkan aplikasi di Windowsdan di Linux. Misalnya, Photoshop di Windows dibandingkan dengan Gimp di Linuxsebagai editor gambar. Yang menarik adalah artikel itu membandingkan .NET di Win-dows dengan J2EE di Linux sebagai framework pengembangan teknologi informasiatau software. Tapi, hal yang lebih menarik adalah .NET sekarang “sudah” tersedia diLinux.

Page 4: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

53InfoLINUX 08/2004www.infolinux.web.id

TUTORIALBerita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

pustaka-pustaka. Jadi, seharusnya Anda

tidak perlu khawatir untuk mengembang-

kan karya dengan Mono. Lagipula ada

perusahaan besar yang menjadi sponsor

utama dari projek ini, yaitu Novell. Kita tahu

sendiri Novell adalah perusahaan yang

memiliki reputasi bagus. Jangan lupa juga,

masalah paten ini tidak berlaku di negara di

mana paten piranti lunak (software patents)

dilarang. Kabar baiknya, sampai artikel ini

ditulis, software patents tidak atau belum

diberlakukan di Indonesia.

Walaupun Anda bisa mencampur ber-

bagai bahasa dalam platform .NET ini, tapi

.NET ini sendiri memperkenalkan bahasa

baru, yaitu C# yang dikembangkan oleh

Anders Hejlsberg (pengembang inti Borland

Delphi sebelum ditarik oleh Microsoft)

bersama timnya. C# memiliki sintaks yang

elegan, bersih, dan indah.

Bagi yang memiliki pengalaman di

bidang bahasa pemrograman bahasa ber-

orientasi objek seperti Java dan C++, Anda

tidak akan mengalami kesulitan untuk

mempelajari bahasa ini. C# itu seperti anak

yang dilahirkan dari perkawinan C++ yang

“perkasa” dan Java yang “anggun” di mana

gen C++ lebih dominan. Jadi sekarang

dengan Mono, Anda bisa membuat aplikasi

dengan bahasa C# di platform Linux.

C# tidak di-compile ke bahasa mesin, tapi

ke kode-kode binari bagi mesin CIL yang

kemudian dengan bantuan pustaka-pustaka

class utamanya mengeksekusi program ini.

Mirip dengan Java VM. Apa artinya ini?

Artinya program yang dikembangkan di

platform Windows bisa dieksekusi dengan

baik oleh Mono tanpa kompilasi ulang

sepanjang program itu tidak memiliki kode

khusus Win32 seperti fungsi yang meng-

akses registry atau fungsi spesifik Windows

seperti fungsi spawnv(...).

Ok, kita akan mencoba pemrograman C#

di Linux. Umumnya Anda hanya mem-

butuhkan satu paket saja agar bisa melakukan

pemrograman di framework .NET, yaitu

mono-0.95.tar.gz. Paket ini berisi source code

dari Mono runtime dan demi kemudahan

pengguna, maka developer Mono memu-

tuskan untuk memasukkan juga compiler C#,

compiler VB, dan tentu saja pustaka class-nya

yang sudah di-compile. Jadi ketika mela-

kukan make install untuk paket mono-

0.95.tar.gz, maka Anda siap bekerja dengan

framework .NET ini. Source code dari com-

piler C#, compiler VB, dan pustaka class-nya

ada di paket mcs-0.95.tar.gz. Anda tidak akan

membutuhkan paket ini, kecuali Anda adalah

seorang hacker mono.

Sampai artikel ini ditulis, Mono sudah

mencapai versi 1 Beta 2 atau 0.95. Tapi

karena projek Mono ini begitu aktif, adalah

mungkin jika pada saat pembaca membaca

artikel ini Mono sudah mencapai rilis stabil

atau lebih baru dari ini. Instalasikan paket

mono-0.95.tar.gz seperti berikut:

$ tar -zxvf mono-0.95.tar.gz

$ cd mono-0.95

$ ./configure —prefix=/usr

$ make

$ su

# make install

Untuk kedua paket ini, Anda bisa meng-

gunakan prefix default yaitu /usr/local tapi

Anda bisa menggantikannya ke /usr yang

cukup umum digunakan orang. Dalam hal

ini, penulis merasa lebih nyaman dengan

prefix /usr.

Dengan asumsi Anda berhasil meng-

instalasinya, sekarang kita akan mencoba

program sederhana. Gunakanlah text editor

kesayangan Anda.

Program yang dihasilkan memiliki eks-

tensi exe karena untuk menjaga kompati-

bilitas dengan file yang dihasilkan di plat-

form Windows.

//Fitur.cs

using System;

class Fitur {

private string String;

private int Mono = 0;

public int FiturProperty {

get {

Console.WriteLine(

“Ini fitur baru C#. “ );

return Mono;

}

set {

Mono = value;

}

}

public static void Main() {

string Majalah =

“InfoLinux”;

int Jumlah = 4;

Mono

Tampilan MONO mengedit kode program Fitur .cs.

Page 5: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

www.infolinux.web.id54 InfoLINUX 08/2004

TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

Console.WriteLine( “Saya

mempunyai majalah {0} sebanyak

{1}. “, Majalah, Jumlah );

double[] angka = { 1.2,

2.3, 3.4 };

foreach( double temp in

angka )

{

Console.WriteLine(

“{0}”, temp );

}

Fitur penguin = new

Fitur();

penguin.FiturProperty =

7;

Console.WriteLine(

“{0}”, penguin.FiturProperty );

}

}

Simpanlah kode itu dengan nama Fitur.cs.

Lalu gunakan konsol dan pergilah ke direktori

tempat file itu berada.

$ mcs Fitur.cs

Compilation successful

$ mono Fitur.exe

Saya mempunyai majalah

InfoLINUX sebanyak 4 buah.

1.2

2.3

3.4

Ini fitur baru C#.

7

Kita akan membahas beberapa fitur unik

dari C#.

using System;

Ini berarti kita menggunakan namespace

System sehingga kita bisa menuliskan

Console.WriteLine langsung. Jika tidak kita

harus menuliskan System.Console.WriteLine.

get {

.....

}

set {

.....

}

Di C++ biasanya kita menggunakan

metoda tradisional untuk mengambil data

dengan fungsi dari class seperti int getX()

dan untuk mengeset nilai data dengan

fungsi dari class seperti void setX(...). Di C#,

Anda tinggal menggunakan fitur properti

yang menyederhanakan kode. Imple-

mentasinya bisa dilihat di kode program di

atas.

foreach( double temp in angka )

Ini mirip perulangan for biasa. Arti dari

pernyataan ini adalah perulangan atas array

angka dari index terkecil sampai ke index

terbesar dan dalam setiap pengulangan itu

nilai array angka dengan index yang ber-

sangkutan disalin ke variabel temp.

Sedangkan hal lainnya cukup jelas dari

kode program di atas.

Ok...kejutannya adalah mono datang

dengan compiler Basic.NET juga. Mari kita

mencicipi program Basic.NET di Linux.

Buka lagi text editor kesayangan Anda.

//InfoLinux.vb

Imports System

Module InfoLinux

Sub Main()

Console.WriteLine(

“Contoh sederhana program vb di

Linux” )

Dim nama as String

Dim jumlah as Integer

Console.Write( “Siapa

nama Anda? “ )

nama =

Console.ReadLine()

jumlah = 4

Console.WriteLine( nama +

“ mempunyai majalah InfoLinux

sebanyak “ + jumlah + “. “ )

End Sub

End Module

Simpanlah kode program ini dengan

nama InfoLinux.vb. Kita akan meng-com-

pile kode program ini menjadi kode binari

CIL.

$ mbas InfoLinux.vb

Compilation successful

$ mono InfoLinux.exe

Contoh sederhana program vb di

Linux

Siapa nama Anda? Slacker

Slacker mempunyai majalah

InfoLinux sebanyak 4.

Merupakan hal yang menarik jika kita

bisa bermain-main dengan C# dan Basic di

Linux dengan Mono. Tapi bagaimanapun,

program-program yang dihasilkan itu

adalah program konsol. Bagaimana dengan

GUI? Tentu kita bisa membuat aplikasi GUI

dengan C# atau Basic. Tapi untuk pem-

bahasan kali ini, kita akan menggunakan

bahasa C# karena bahasa ini dibuat khusus

untuk platform .NET.

Jika melakukan pemrograman GUI de-

ngan C# di platform Windows, maka Anda

umumnya memakai System.Windows.Forms

sebagai toolkit-nya. Untuk alasan kom-

patibilitas, maka Mono juga menyertakan

System.Windows.Forms sebagai toolkit-nya,

dan di platform Windows toolkit ini bekerja

secara sempurna seperti yang diharapkan tapi

di platform Unix dan MacOS X, keadaan

menjadi lebih sulit. Implementasi untuk

toolkit ini menggunakan pustaka winelib.

Akibatnya aplikasi yang dibuat dengan toolkit

ini kelihatan jelek di platform Linux dan

MacOS X karena menggunakan emulasi.

Bahkan untuk sekarang ini, tidak semua

fungsi API dari toolkit ini didukung di plat-

form Linux dan MacOS X karena projek

Mono sendiri belum selesai 100%.

Jadi jangan menggunakan toolkit ini,

kecuali Anda cuma mau membuat aplikasi

di platform Windows saja. Sekali lagi toolkit

ini didukung karena untuk mempermudah

transisi aplikasi yang dibuat dengan frame-

work .NET di Windows ke platform Linux.

Anda memerlukan paket winelib-0.3.tar.gz

untuk melakukan pemrograman GUI dengan

Windows.Forms.

Alternatif yang lainnya adalah GTK#.

Binding ini masih belum matang dan berada

dalam pengerjaan yang aktif. GTK# me-

warisi API yang stabil dari GTK+ dan

mempunyai basis komunitas yang besar.

Kita juga bisa membuat GUI dari program

secara cepat dengan Glade. Keunggulan

lainnya dari toolkit ini yang lainnya adalah

Mono

Page 6: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

55InfoLINUX 08/2004www.infolinux.web.id

TUTORIALBerita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

mendukung internasionalisasi, kontrol atas

HTML (rendering dan pengeditan). Tentu

saja program ini terintegrasi dengan manis

ke dalam desktop Gnome. Walaupun begitu,

aplikasi yang dibuat dengan GTK# bisa

dijalankan di platform mana saja seperti

Windows, Unix, atau MacOSX karena GTK+

itu sendiri multiplatform. Anda memer-

lukan paket gtk-sharp-0.93.tar.gz untuk

melakukan pemrograman GUI dengan

toolkit ini.

Mungkin Anda bertanya bagaimana

dengan penggemar KDE? Jawabannya

adalah Qt#. Toolkit yang dikembangkan

oleh Adam Treat ini mewarisi keunggulan

dari toolkit yang sudah sangat terbukti ke-

handalannya, yaitu Qt. Aplikasi yang dibuat

dengan Qt# ini multiplatform dan di setiap

platform penampilannya seperti aplikasi

asli pada platform yang bersangkutan atau

istilahnya native look. Anda memerlukan

paket qtsharp-0.7.tar.gz untuk melakukan

pemrograman dengan toolkit ini. Selain itu,

masih ada toolkit wx.NET dan Sharp WT.

Pengembangan software identik dengan

IDE. IDE yang khusus untuk keperluan

Mono ini diberi nama MonoDevelop. Proyek

ini masih berada dalam versi awal dan seperti

Mono, pengembangan project Monodevelop

sangat aktif. Tapi Anda juga bisa memakai

IDE yang sudah matang seperti Sharp-

Develop (hanya di platform Windows) atau

Eclipse dengan plugin C#-nya.

Masih banyak lagi teknologi lainnya yang

belum sempat dibahas pada artikel ini

tentang .NET di Linux seperti ASP.NET,

ADO.NET, Gecko#, dan lain-lainnya. Anda

juga bisa meng-compile Java ke kode binari

CIL. Jadi Anda bisa menjalankan program

Java dengan Mono. Walaupun begitu, tidak-

lah bijaksana untuk menggunakan Mono

dalam sistem produktif karena Mono ini

sendiri masih dalam pengerjaan yang aktif.

Istilahnya, “Under heavy development”.

Tapi banyak orang yang menaruh

harapan pada Mono. Mono adalah proyek

yang memiliki masa depan yang cerah

karena didukung oleh banyak developer

open source, perusahaan besar seperti

Novell dan tentu saja sebagian besar

komunitas open source. Sangat menarik

untuk melihat sepak terjang dari project

yang mencoba untuk menghadirkan frame-

work .NET di Linux ini.

Mono

Mono bukanlah satu-satunya imple-

mentasi bebas dari platform .NET di Linux.

Alternatif yang lain adalah proyek DotGNU.

Sama seperti proyek Mono, DotGNU juga

menghadirkan perlengkapan untuk me-

ngembangkan dan menjalankan aplikasi

Common Language Infrastructure (CIL). Tar-

get awalnya adalah platform Linux, ke-

mudian platform lainnya seperti Windows,

*BSD, Solaris, dan MacOS X.

Perbedaan proyek DotGNU dengan

Mono tetap ada. Pertama, proyek DotGNU

itu murni komunitas yang terlihat jelas dari

namanya. Mono sendiri dikembangkan oleh

perusahaan Ximian yang merupakan bagian

dari perusahaan Novell tapi tetap membuka

kesempatan bagi siapa saja untuk bergabung

mengembangkan proyek Mono. Secara

kasarnya, DotGNU itu seperti distro Slack-

ware yang murni komunitas walaupun tidak

menutup kemungkinan bagi orang untuk

menggunakannya secara komersial. Mono

itu seperti distro Mandrake di mana ada

upaya komersial untuk menjual distro itu

dan memberikan pelayanan pelanggan tapi

tetap saja orang bisa menggunakan distro

Mandrake itu secara bebas dan gratis.

Untuk GUI, tidak seperti Mono yang

menggunakan GTK+ binding sebagai fokus

utamanya, DotGNU menggunakan toolkit

Mono Documentation Library.

System.Windows.Forms. Mono mengguna-

kan pustaka winelib sebagai implementasi

dari toolkit System.Windows.Forms, se-

dangkan DotGNU menggunakan pen-

dekatan Java Swing. DotGNU tidak meng-

gunakan pustaka pihak ketiga, seperti

GTK+, Qt, ataupun Wine sebagai imple-

mentasi dari toolkit System.Windows.Forms.

Artinya DotGNU “menggambar” sendiri

penampilan aplikasi yang dibuat dari toolkit

System.Windows.Forms pada setiap plat-

form. Tentu masih ada beberapa bagian dari

toolkit System.Windows.Forms yang tidak

bisa “digambar” sendiri dan mesti meng-

gunakan pendekatan Wine.

Mungkin motivasi adalah perbedaan yang

paling menarik dari Mono dan DotGNU.

Motivasi utama dari proyek Mono yang

terlihat jelas dari situs dan milisnya adalah

ingin menghadirkan alat pengembangan

yang diharapkan bisa mendongkrak produk-

tivitas para developer di platform Free Soft-

ware seperti Linux. Motivasi utama dari

proyek DotGNU sendiri adalah menghindari

monopoli .NET-nya Microsoft. Malah

DotGNU sudah membuat pernyataan khusus

tentang bahaya .NET Microsoft bagi Free Soft-

ware di websitenya. Jadi Mono atau DotGNU?

Kebebasan ada di tangan Anda.�Akbar ([email protected])

Page 7: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

www.infolinux.web.id56 InfoLINUX 08/2004

TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

SciLab

Kelangkaan (baca: mahalnya)software

(dalam hal ini Matlab, dari

MathWorks, http://www. mathworks.

com) yang dapat digunakan untuk me-

nyimulasikan proses-proses yang terjadi pada

sistem teknik pengaturan tersebut, se-

wajarnyalah tidak memberikan kendala bagi

para mahasiswa tersebut untuk belajar lebih

lanjut. Sifat yang mengekalkan pembajakan

hak cipta, sudah waktunya untuk dihindari

di negeri ini. Untuk itu, marilah kita tilik

perangkat simulasi teknik pengaturan yang

berbasiskan Open Source Software (OSS).

Kalangan pendukung OSS, khususnya

pengguna Linux dan FreeBSD dihadapkan

pada dua pilihan software yang kurang lebih

berfungsi sama dengan Matlab, yaitu GNU

Octave dan Scilab. GNU Octave (http://

www.octave.org) dikembangkan di Dept. of

Chemical Eng., Univ. of Winsconsin, Amerika,

sedangkan Scilab (http://www-rocq.inria.fr/

scilab) dikembangkan oleh INRIA/ENPC

Cergrene, Prancis. SciLab bersifat open

source (tidak didaftarkan dengan lisensi

GNU) dan diperkenalkan sejak 1994.

Pada kesempatan ini, penulis mencoba

memaparkan penggunaan SciLab untuk

membantu memahami pembahasan sistem

kontrol/kendali. Untuk hal tersebut, pe-

maparan akan dimulai dengan tahap

instalasi Scilab v2.7 (stable) pada distro

Mandrake Linux v9.0. Sebenarnya, pada

saat penulisan naskah ini, SciLab v3.0 RC1

sudah dapat di-download oleh para peng-

guna.

Setelah instalasi di atas, penulis akan

membahas dua contoh yang digunakan

pada sistem kontrol (control system)

sebagai dasar pijakan penggunaan software

tersebut sebelum melangkah pada tahap

pemodelan dan pembahasan sistem yang

bersangkutan.

Instalasi SciLabInstalasi SciLab bukanlah hal yang sukar.

Paket RPM telah tersedia di situs berikut ini

(http://scilabsoft.inria.fr) dan dapat segera di

download sesuai dengan sistem operasi yang

Anda gunakan. Pilihlah file instalasi bagi

sistem Linux bila Anda mengunjungi situs

tersebut. Untuk hal tersebut, penulis men-

downdload scilab-2.7-1.i586.rpm dan untuk

sementara disimpan pada direktori /tmp.

Berikut ini adalah tahapan instalasinya.

[indraindra]$ su

password: ******** (password

root anda isikan pada bagian

*** tersebut)

[flop-xindra]# cd /tmp

[root@flop-x tmp]# rpm -ivh

Teknik Pengaturan atau lebih dikenal dengan terminologi sistem kontrol atau sistemkendali (dalam bahasa Inggris: control system, control theory, control engineering, pro-cess control) merupakan mata pelajaran utama pada perguruan tinggi yang berbasisteknik (engineering), seperti teknik mesin, teknik elektro dan elektronik, teknik kimia,teknik fisika, dan sebagainya.

SciLab: PemodelanSistem Kontrol

Gambar 1. Tampilan SciLab pada Mandrake Linux v9.0. Gambar 3. Perhitungan Fungsi Transfer (TF) dengan SciLab.

Page 8: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

57InfoLINUX 08/2004www.infolinux.web.id

TUTORIALBerita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

SciLab

scilab-2.7-1.i586.rpm

Preparing...

###############################

[100%]

1: Scilab

###############################

[100%]

Setelah terinstal dengan baik, pembaca

dapat temui SciLab pada direktori berikut;

/usr/lib/scilab-2.7/bin. Ketikan scilab pada

shell prompt setelah merujuk direktori

tersebut. Selanjutnya, Anda akan men-

dapatkan tampilan berikut ini:

[root@flop-x indra]$ cd /usr/

lib/scilab-2.7/bin

[root@flop-x indra]$ ./scilab

Untuk mengetahui apakah scilab ber-

fungsi dengan baik, cobalah ikuti per-

samaan/operasi matematika sebagaimana

ditampilkan pada Gambar 1.

Diagram BlokPada teknik pengaturan (sistem kontrol),

kita kenal dua jenis sistem, yaitu sistem siklus

terbuka (open-loop) dan siklus tertutup

(close-loop). Ciri utama sistem siklus ter-

tutup ialah adanya komponen umpan-balik

(feedback) pada sistem dalam pembahasan.

Sedangkan pada sistem siklus terbuka

komponen umpan-balik ini tidak dijumpai.

Untuk memperlihatkan komponen-kom-

ponen ini, teknik pengaturan menyajikan

pengunaan diagram blok. Gambar 2 mem-

perlihatkan diagram blok dari kedua jenis

sistem tersebut.

Contoh 1(Dicuplik dari buku Sudhir Gupta, Elements

of Control Systems, Prentice Hall of India,

New Delhi, 2002).

Sebuah potensiometer digunakan sebagai

transducer posisi angular. Jangkauan angu-

lar potensiometer ini adalah 0°-300° dan

catu daya masukan 12V. Potensiometer

tersebut bersifat linier. Tentukan fungsi

transfer (TF = Transfer Function) dari sistem

tersebut.

Contoh 1 ini dapat ditampilkan dengan

diagram blok sistem siklus terbuka seperti

pada Gambar 2a. Fungsi Transfer (TF)

adalah perbandingan Keluaran/Masukan

(Output/Input). Dan, bagi potensiometer

tersebut, Input = 300°, dan Output = 12V.

Jadi, TF yang dihasilkan dapat diper-

lihatkan secara sederhana seperti pada

Gambar 3.

Tentunya, contoh 1 di atas masih ter-

golong sebuah permasalahan yang teramat

sederhana. Bagi pembaca yang ingin me-

ngetahui TF, sebaiknya merujuk pada buku

Elements of Control Systems. Bila ingin

mengetahui TF pada SciLab secara lebih

rinci, pembaca dapat mengetikkan ‘help

transfer’ pada SciLab. Pada Gambar 3,

ditampilkan pula “error” yang akan di-

tampilkan SciLab bilamana kekeliruan

mengetik terjadi.

SciLab telah mengemas berbagai TF. Hal

ini dapat diperhatikan dari Gambar 4

berikut ini. Bila pembaca klik pada salah

satu jenis TF tersebut, maka akan di-

tampilkan informasi pengunaannya lebih

lanjut sebagaimana ditampilkan pada

Gambar 5.

Contoh 2Contol ini menampilkan diagram-diagram

yang perlu diketahui pada analisis sistem

kontrol, yaitu Bode, Nyquist, Root Locus,

dan lain-lainnya. Berikut ini adalah pa-

paran yang umumnya ditemui bagi mereka

yang tidak asing dengan sistem kontrol,

yaitu berbagai jenis diagram yang di-

gunakan untuk menyatakan kestabilan

sebuah sistem.

Secara sederhana, bahasan berikut me-

ngacu pada Gambar 2b. Untuk meng-

hindari kompleksitas bahasan, telaah sistem

lebih lanjut tidak diulas di sini. Pembaca

yang berminat lebih lanjut, silakan rujuk

buku Elements of Control Systems dan situs

SciLab Group, Introduction to Scilab -user

guide-, http://scilabsoft.inria.fr ataupun

pustaka yang mengupas pengunaan Matlab

[G.J. Borse, Numerical Methods with

Matlab, PWS Publishing Company, Boston,

1997].

Untuk mengikuti sistem kontrol berikut

ini, silakan menyalin teks berikut pada

Scilab. Setiap baris diikuti dengan tombol

Gambar 2: a. Siklus Terbuka, b. Siklus Tertutup.

Gambar 5. Transfer Function to State-Space.Gambar 4. Berbagai Fungsi Transfer yang telah dikemasdalam SciLab.

Page 9: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

www.infolinux.web.id58 InfoLINUX 08/2004

TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

“enter”. Perhatikan penempatan titik-koma

‘;’, jumlah kurung buka ‘(‘ dan kurung tutup

‘)’ haruslah genap, dan seterusnya.

S=poly(0, ‘s’);

h=syslin(‘c’,

(s^2+2*0.9*10*s+100)/

(s^2+2*0.3*10.1*s+102.01));

h1=h*syslin(‘c’,(s^2+2*0.1*15.

1*s+228.01)/(s^2+2*0.9*15*s+

225));

// bode diagram

subplot(2,2,1)

gainplot([h1;h],0.01,100);

Gambar 6. Proses Perhitungan dan Grafik Bode Diagram pada Mandrake Linux v9.0.

// Nyquist diagram

subplot(2,2,2)

nyquist([h1;h])

// Chart & Black

subplot(2,2,3)

black([h1;h],0.01,100,

[‘h1’;’h’])

chart([-8 -6 -

4],[80,120],list(1,0));

// evans —> cari Root Locus

subplot(2,2,4)

H=syslin(‘c’,352*poly(-5,’s’)/

poly([0,0,2000,200,25,1],’s’,

Gambar 8. Diagram Nyquist .Gambar 7. Beberapa diagram pada Sistem Kontrol.

’c’));

evans(H,100)

Gabungan dari grafik-grafik yang diplot

di atas ditampilkan pada Gambar 6, 7, dan 8.

Paparan di atas menampilkan alternatif

penggunaan OSS (Open Source Software)

pada bidang teknik (engineering). Di sam-

ping software yang telah banyak dikenal

untuk bidang ini (Matlab), ternyata inisiatif

para programmer OSS pun telah menam-

pilkan perangkat pemodelan yang cukup

memadai, dan penggunanya pun akan

cukup terhormat dengan lebih meng-

hormati HaKI (Hak atas Kekayaan Inte-

lektual).

Scilab, sebenarnya dibuat semirip mung-

kin (baca: compatible) dengan perintah-

perintah yang tersedia pada Matlab. Walau-

pun ada beberapa perintah yang tidak sama,

tetapi padanannya pun masih tersedia.

Sebenarnya bagi mereka yang belajar

pada ilmu-ilmu sosial pun dapat meng-

gunakan perangkat ini. Hanya saja, penulis

belum menjumpai contoh yang memadai

untuk dikemukakan. Bagi mereka yang

cukup paham dengan contoh-contoh di atas,

tentunya dapat memetik arti fisik dari

grafik-grafik yang ditampilkan.

Newsgroup Scilab ada di comp.soft-

sys.math.scilab. Perbandingan antara Scilab

dan Matlab tersedia di www.biostat.wustl.

e du / a rc h i ve s / h t m l / s - n e w s / 1 9 9 9 - 0 6 /

msg00025.html.�Prianggada Indra Tanaya([email protected])

SciLab

Page 10: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

TUTORIALBerita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

IKLAN

Page 11: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

www.infolinux.web.id60 InfoLINUX 08/2004

TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

Indonesia kini terpuruk dalam krisis

multidimensi. Salah satunya adalah

keterpurukan di dunia pemanfaatan

teknologi informasi. Tetangga kita, Vietnam

atau malaysia misalnya, telah melesat jauh

di bidang pemanfaatan TI. Dengan tetap

optimis dan tidak mengecilkan usaha

pemerintah untuk memperbaiki sarana,

kebijaksanaan dan fasilitas penunjang

infrastruktur TI, bagaimanapun kita harus

maju.

Di dunia TI yang berkembang demikian

pesat, Internet adalah suatu hal yang mulai

menjadi kebutuhan wajib. Berita dan pe-

manfaatan TI di berbagai pelosok negara

bisa kita dapatkan dari Internet. Oleh

karena itu, ber-Internet adalah hal yang

sangat penting. Agar kita, generasi penerus

bangsa tidak ketinggalan pelajaran. Dengan

Internet, kita bisa belajar bagaimana

vietnam bisa mulai serius memanfaatkan

TI. Dengan berbicara melalui praktisi TI di

India dan membaca berbagai kolom orang

India, kita bisa belajar bagaimana sebenar-

nya proyek-proyek di Amerika Serikat bisa

lari ke India.

Salah satu cara untuk tersambung ke In-

ternet adalah menggunakan bantuan tele-

pon. Jaringan telepon kini terpasang cukup

meluas di banyak tempat di Indonesia.

Penyedia jasa Internet juga siap menye-

diakan jasanya. Bagi pengguna rumah yang

memiliki anggaran terbatas, dial-up se-

sekali untuk sekadar men-download berita

adalah cara yang murah. Cara yang lain

seperti leased line dan ADSL, walaupun

menawarkan kecepatan luar biasa, sangat-

lah mahal.

Menggunakan Linux, kita tidak memiliki

halangan apapun untuk ber-Internet. Distro

apapun sebenarnya. Bedanya, distro yang

satu menyediakan fasilitas lebih banyak dari

distro lainnya. Sebagai contoh, SUSE 9.x

menyediakan cara yang sangat mudah untuk

melakukan koneksi Internet. Di artikel ini,

kita akan memfokuskan diri untuk melaku-

kan dialup di SUSE 9.x. SUSE yang diguna-

kan sebagai referensi adalah SUSE 9.1,

namun dapat diterapkan di SUSE 9.0 tanpa

halangan berarti.

PersiapanSUSE 9.1 dapat mendeteksi hardware

dengan sangat sangat sangat luar biasa.

Dengan kernel 2.6 di dalamnya, distro ini

terbang ke langit bebas, mengalahkan

kemampuan deteksi hardware pada Win-

dows XP untuk beberapa hardware. Mo-

dem yang penulis miliki di notebook tidak

dikenali sama sekali oleh XP (membeli

notebook tanpa sistem operasi) dan di-

kenali dengan sempurna oleh SUSE 9.1.

Bahkan, SUSE menyediakan satu paket

khusus untuk menangani modem yang

penulis gunakan.

Pertama-tama, kita perlu memastikan

apakah hardware kita telah dikenali oleh

SUSE atau belum. Caranya, bukalah YaST

dan aktiflah di bagian hardware. Kemudian,

jalankanlah modul Hardware Information.

Tunggulah sebentar, dan ketika selesai

memeriksa, pastikan modem Anda terdaftar

di Hardware Information tersebut.

Banyak software modem yang tidak

dikenali dengan baik atau dikenali, namun

tidak dapat bekerja dengan sempurna.

Apabila berencana membeli modem, belilah

modem eksternal, yang pasti dapat dikenali

dengan baik di Linux.

Apabila modem telah dikenali, maka

sebagian besar masalah telah kita selesaikan.

Tugas berikutnya akan jauh lebih mudah.

Siapkan modem dan telepon Anda. Jangan

lupa kabel-kabelnya. Setelah itu, mintalah

SuSE menyediakan cara supermudah untuk melakukan dial-up. Cukup beberapa kali klik,dan Anda pun siap melanglangbuana ke dunia maya.

Dial-up Cepat di SuSE

Distro SuSE

Parameter modem.Informasi Hardware.

Page 12: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

61InfoLINUX 08/2004www.infolinux.web.id

TUTORIALBerita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

informasi dari provider Internet Anda. Artikel

ini menggunakan Telkomnet@instan sebagai

layanan dial-up Internet. Anda perlu menge-

tahui nomor telepon ISP Anda beserta

username dan password-nya. Harap diper-

hatikan bahwa SUSE secara default akan

mengingat password Anda. Tentunya, Anda

bebas memilih untuk selalu memasukkan

password ketika memulai proses dial-up.

Konfigurasi modem dan providerSetelah modem dikenal, nyalakan modem

dan bukalah YaST. Aktiflahdi bagian Network

Devices dan jalankanlah modul Modem.

YaST akan segera mendeteksi modem

Anda secara otomatis. Setelah itu, modem

Anda akan terdaftar dalam Modems to Con-

figure. Pilih modem Anda dan klik tombol

Configure. Sebuah dialog akan ditampilkan.

Pertama-tama, SUSE akan meminta

Anda untuk memasukkan berbagai param-

eter. Pertama-tama adalah dial prefix. Hal ini

tidak dibutuhkan kalau Anda tidak berada

dalam jaringan telepon PBX.

Setelah itu, Anda akan diminta untuk

memilih mode dial. Umumnya, mode dial

adalah tone dialing.

Parameter lainnya yang dapat diatur

adalah menyalakan speaker dan mendeteksi

dial tone. Aktifkan keduanya. Pemberian

parameter kini selesai. Klik tombol Next

untuk melanjutkan ke layar berikutnya.

Pada layar dialog ini, Anda akan diminta

untuk memilih provider. Pilihlah Custom

provider dan kliklah tombol New. Sebuah

dialog tambahan akan ditampilkan. Berikut

Distro SuSE

ini adalah contoh entri provider yang

penulis miliki:

Provider Name: Telkom

Phone Number: 080989999

Username: telkomnet@instan

Password: telkom

Setelah itu, klik tombol Next untuk

melanjutkan ke layar berikutnya.

Di layar berikutnya ini, kita akan me-

ngatur parameter koneksi. Umumnya, Anda

tidak perlu mengatur nilai-nilai di sini.

Hanya, pastikan Anda memilih Modify DNS

when connected dan Automatically retrieve

DNS. Apabila rekan Anda yang meng-

gunakan provider yang sama mengatakan

bahwa koneksi susah dilakukan atau terlalu

lambat, cobalah untuk mengaktifkan pilihan

Stupid Mode.

Klik tombol Next untuk menyelesaikan

pengaturan. Anda akan kembali ke layar

utama. Pastikan Anda melihat modem Anda

dalam Already Configured devices lengkap

dengan nama provider ISP Anda. Klik

tombol Finish untuk menyimpan segala

perubahan.

Sewaktu-waktu, Anda bisa mengubah

konfigurasi modem dengan klik pada

tombol Change. Apabila Anda memilih

Change, maka sebuah layar akan ditam-

pilkan. Anda bisa mengubah modem atau-

pun provider di sini.

Setelah perubahan disimpan, YaST akan

menanyakan kepada Anda apakah penga-

turan e-mail akan dilakukan. Bagi Anda

yang menginginkan, lakukanlah konfigurasi

Modem telah dikonfigurasi.Provider Internet.

e-mail. Bagi Anda yang tidak memerlu-

kannya, jawablah tidak. Kini, Anda siap

untuk melakukan dial-up.

Memulai dial-up!SUSE menyertakan sebuah tool, Kinternet

untuk membantu dial-up. Jalankanlah

Kinternet dari Internet|Dial up. Lihatlah ke

System tray Anda. Anda akan menjumpai

icon seperti colokan listrik yang tidak

tersambung. Klik sekali untuk melakukan

dialup.

Ketika dial-up sedang dilakukan, icon

akan berubah seperti colokan listrik dan

logo PLN. Apabila telah terkoneksi, icon

akan berubah seperti colokan listrik yang

terhubung dengan colokan lainnya.

Untuk mengakhiri koneksi, klik sekali

lagi pada icon tersebut. Segera, icon akan

berubah lagi menjadi colokan listrik yang

tidak tersambung.

Pada saat dial-up, Anda mungkin tertarik

untuk melihat log koneksi. Klik kananlah

pada icon colokan listrik tersebut dan

pilihlah View Log. Di sebuah window yang

ditampilkan, Anda bisa melihat apa-apa saja

yang terjadi.

Mudah sekali untuk melakukan dial-up

di Linux. Memang sedikit lambat, tapi yang

penting masih dapat terhubung ke dunia

maya yang penuh informasi. Tetaplah

mengikuti perkembangan dunia dan meng-

aplikasikannya secara lokal. Agar kita,

generasi penerus bangsa, bisa menjadi insan

TI yang bijaksana. Selamat mencoba!�Noprianto ([email protected])

Page 13: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

www.infolinux.web.id62 InfoLINUX 08/2004

TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

Bagi kita yang sering menggunakan

StarOffice, tentu saja kita selalu

menggunakan berbagai fungsi-fung-

si dasar seperti membuat dokumen baru,

membuka dokumen baik secara read/write

ataupun read only, menyimpan dokumen,

mengubah properties dokumen, mengetahui

statistik dokumen, mencari teks tertentu

dalam dokumen, ataupun mencetak doku-

men.

Semua fungsi tersebut adalah fungsi

dasar StarOffice. Tak terlepas dari kom-

ponen apapun yang Anda gunakan, baik

Writer, Calc ataupun Impress, membuka

dan menyimpan dokumen adalah tugas

dasar yang tak terelakkan.

Dengan macro, kita dapat mengem-

bangkan apa saja di StarOffice. Membuat file

manager sendiri pun bisa asalkan rajin

karena tersedia banyak dukungan fungsi file

sistem. Tidak mudah memang mempelajari

macro di StarOffice. Sering berlatih adalah

salah satu cara untuk mempelajarinya.

Membuat macro pada dasarnya adalah hal

yang menarik. Banyak hal tersimpan di paket

office berukuran ratusan megabyte ini. Di

artikel kali ini, kita akan membuat macro

untuk menyimulasikan berbagai fungsi dasar

StarOffice yang sering kita akses.

Kita akan melihat secara detail apa saja

yang perlu kita lakukan untuk membuat

dokumen baru. Tak lupa, hal-hal tersembunyi

dalam proses membuka dokumen tersimpan

juga akan kita kuak habis-habisan. Termasuk

di antaranya bagaimana membuka dokumen

dalam modus read-only.

StarOffice adalah paket Office luar biasa. Kemampuannya untuk dikembangkan lebihlanjut dengan bantuan macro membuat paket Office ini begitu fleksibel. Dengan macro,kita bahkan bisa menyimulasikan berbagai fungsi dari StarOffice.

Simulasi BerbagaiFungsi Dasar StarOfficedengan Macro

Setiap contoh macro yang ada sebisa

mungkin akan kita sajikan dalam bentuk

form, sehingga akan terlihat lebih bagus dan

bagi user akan lebih mudah untuk di-

gunakan.

Kita akan melihat, bahwa kemampuan

StarOffice tidak kalah dibandingkan dengan

paket office di Windows, seperti Microsoft

Office.

PersiapanSebelum memulai, ada baiknya kita mela-

kukan persiapan terlebih dahulu. Dalam

beberapa artikel sebelumnya, ketika kita

membahas macro StarOffice, kita menge-

tahui bahwa macro dapat disimpan di dua

tempat: ikut StarOffice ataupun ikut doku-

men. Artikel ini akan menggunakan cara

kedua. Dengan demikian, kita perlu mem-

buat sebuah dokumen teks baru. Berikan

nama yang bersesuaian, sebagai contoh

macro.sxw. Kemudian, buatlah modul baru

dengan cara berikut ini:

� Akses Tools|Macros|Macro.

� Pilih dokumen|Standard

� Klik tombol New, berikan nama Module1.

� Tutup layar edit macro, kita belum

membutuhkannya untuk saat ini.

Berikutnya, kita perlu memahami ter-

lebih dahulu beberapa hal berikut ini:

� Dulu, di StarOffice 5, kita mengenal

StarDesktop sebagai suatu objek yang vis-

ible. StarDesktop berfungsi sebagai

kontainer berbagai komponennya. Kini,

di StarOffice 7, banyak perubahan yang

terjadi. Salah satunya adalah pergantian

fungsi StarDesktop. Kini, StarDesktop

bukanlah komponen visible. Saat ini,

StarDesktop lebih mengacu kepada

konsep. StarDesktop adalah objek yang

menaungi StarOffice itu sendiri. Berbagai

fungsi umum StarOffice akan dilakukan

oleh StarDesktop. Sebagai contoh, mem-

buka dokumen, menyimpan dokumen,

mencetak dokumen, dan lain sebagainya.

� Dalam artikel ini, kita akan banyak

bermain dengan objek StarDesktop.

Sebagian kecil contoh akan membahas

bagaimana bekerja dengan dokumen teks.

� Cobalah merekam macro dan kemudian

lihat source code-nya. Akan terlihat sangat

kompleks. Jangan pedulikan untuk saat

ini. Kita akan mencoba lihat macro dari

sisi yang mudah.

Kita telah membahas pembuatan dialog

pada pembahasan macro StarOffice sebelum-

nya. Kali inipun, kita akan menggunakan

macro. Hanya, perlu diperhatikan bahwa kita

tetap membutuhkan Module untuk menyim-

pan berbagai subrutin kita. Dialog hanya

berfungsi sebagai user interface, dan tetap

akan memanggil berbagai subrutin yang

disimpan di dalam Module tersebut.

Membuat dokumen baruUntuk membuat dokumen baru, kita perlu

meminta bantuan StarDesktop. Berikut ini

adalah contoh kode dan penjelasannya:

Sub CreateNew

Dim doc as object

StarOffice

Page 14: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

63InfoLINUX 08/2004www.infolinux.web.id

TUTORIALBerita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

dim URL as string

dim Dummy()

URL = “private:factory/swriter”

doc = StarDesktop.loadComponent

FromURL(URL, “_blank”, 0 ,

Dummy())

end sub

Subrutin tersebut, apabila dijalankan,

akan membuka sebuah dokumen teks baru.

Perhatikanlah isi dari variabel URL. Pada

contoh ini, kita mengisikan nilainya dengan

private:factory/swriter.

Untuk membuka spreadsheet baru atau

presentasi baru, gantilah swriter dengan

scalc dan simpress. Adanya kata kunci pri-

vate kurang lebih melambangkan bahwa apa

yang kita panggil merupakan milik internal

StarOffice. StarOffice sangat kompleks dan

dapat mengizinkan komponen lain me-

ngontrol dokumen yang dibuka untuk

diakses dari komponen luar.

Sementara, Dummy() adalah sebuah ar-

ray kosong yang dilewatkan pada method

loadComponentFromURL milik StarDesk-

top. Method tersebut mewajibkan adanya

properti file dalam bentuk array. Karena kita

belum membutuhkannya saat ini, kita

menggunakan array kosong. Ini sepenuhnya

valid di StarOffice.

Doc adalah variabel yang mengacu

kepada objek dokumen baru yang dibuat.

Perhatikanlah method loadComponent-

FromURL tersebut. Parameter pertama

adalah URL. Parameter kedua, yang saat ini

bernilai _blank, akan membuka dokumen

pada window baru, parameter ketiga adalah

search flag, kita tidak akan membutuh-

kannya untuk saat ini. Parameter terakhir

adalah properti pembukaan dokumen. Kita

akan melihat contohnya nanti.

Setelah mengetahui cara-cara dasarnya,

kita akan membungkusnya dengan user in-

terface yang baik. Kita akan membat dialog

dengan beberapa tombol, yang masing-

masingnya apabila diklik akan membuka

dokumen baru.

Pilihlah Tools|Macros|Macro. Klik tombol

Organize dan pilihlah New Dialog pada li-

brary Standard. Berikan nama Dialog1.

Kliklah tombol Edit. Susunlah dialog seperti

gambar contoh.

Setelah itu, buatlah tiga subrutin tam-

bahan berikut di dalam Module1.

Sub CreateNewText

Dim doc as object

dim URL as string

dim Dummy()

URL = “private:factory/swriter”

doc = StarDesktop.loadComponent

FromURL(URL, “_blank”, 0 ,

Dummy())

end sub

Sub CreateNewSpreadSheet

Dim doc as object

dim URL as string

dim Dummy()

URL = “private:factory/scalc”

doc = StarDesktop.loadComponent

FromURL(URL, “_blank”, 0 ,

Dummy())

end sub

Sub CreateNewPresentation

Dim doc as object

dim URL as string

dim Dummy()

URL = “private:factory/

simpress”

doc = StarDesktop.loadComponent

FromURL(URL, “_blank”, 0 ,

Dummy())

end sub

Setelah itu, assignlah event Mouse Button

Released masing-masing tombol dengan

subrutin yang bersesuaian. Kenapa event

Mouse Button Released? Sebenarnya, kita

bisa saja memproses event Mouse Button

Pressed. Namun, dengan asumsi bahwa aksi

klik adalah menekan dan kemudian mele-

paskan tombol mouse, dengan kemung-

kinan user membatalkan aksi klik setelah

menekan tombol mouse, memproses event

ketika tombol mouse dilepaskan akan terasa

lebih bijak.

Anda bisa saja membuat modul-modul

tersebut menjadi lebih sederhana dengan

melakukan passing parameter. Sediakan satu

handler untuk ketiga button. Handler

tersebut akan menerima parameter berupa

nama button tersebut. Parameter tersebut

kemudian akan menentukan komponen apa

yang akan dibuka. Cara ini lebih sederhana,

namun, penerapannya akan lebih susah.

Buat subrutin SimulateNew di Module1

yang berisikan kode-kode berikut ini:

Sub SimulateNew

Dim Dlg As Object

DialogLibraries.LoadLibrary

(“Standard”)

Dlg = CreateUnoDialog

(DialogLibraries.Standard.

Dialog1)

Dlg.Execute()

Dlg.dispose()

End SubLayar edit Module.

StarOffice

Page 15: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

www.infolinux.web.id64 InfoLINUX 08/2004

TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

Untuk menjalankan Dialog1 tersebut,

jalankanlah subrutin SimulateNew. Bisa

dengan shortcut ataupun penambahan

menu item (baca edisi sebelumnya untuk

melakukan hal tersebut). Harap diper-

hatikan bahwa apa saja yang dijalankan dari

dialog ini tidak akan bisa ditutup ketika dia-

log belum ditutup. Method dispose pada dia-

log akan menutup dialog sekaligus mengem-

balikan memori yang telah dipakai.

Sampai di sini, kita telah mengetahui

bagaimana cara StarOffice membuat doku-

men baru. Kita akan melanjutkan dengan

menyimulasikan membuka dokumen ter-

simpan.

Membuka dokumen tersimpanUntuk membuka dokumen tersimpan, sama

seperti membuat dokumen baru, kita juga

tetap meminta bantuan StarDesktop. Berikut

ini adalah contoh kode dan penjelasannya:

Sub OpenDoc

Dim doc as object

Dim URL as string

Dim Dummy()

URL = “/tmp/a.sxw”

URL = ConvertToURL(URL)

doc = StarDesktop.loadComponent

FromURL(URL, “_blank”, 0,

Dummy())

end sub

Perbedaan dengan membuat dokumen

baru hanyalah terletak pada URL-nya.

Apabila pada pembuatan dokumen baru kita

menyebutkan komponen StarOffice, maka

kali ini kita menyebutkan nama file-nya

secara langsung.

Satu hal yang perlu diperhatikan adalah

perihal nama file. StarOffice adalah paket of-

fice multiplatform. Dengan demikian, nama

file adalah hal yang penting. Linux tidak

mengenal istilah drive C:. Demikian juga

pemisah direktori di Windows berbeda

dengan pemisah direktori di Linux. Oleh

karena itu, setiap nama file akan dikonversi

ke bentuk URL yang standar. Untuk pengu-

bahan ini, kita mengenal dua fungsi:

ConvertToURL dan ConvertFromURL

dengan fungsi sesuai dengan namanya.

Berikut ini kita akan membuat user in-

terface yang lebih baik. Kali ini kita tidak

akan membuat dialog sendiri, melainkan

akan menggunakan cara yang lebih mudah:

menggunakan inputbox. Buatlah subrutin

ini di dalam Module1.

Sub SimulateOpen

Dim doc as object

Dim URL as string

Dim Dummy()

URL = inputbox(“Nama

dokumen”,”Masukkan nama

dokumen”,”/tmp/a.sxw”)

URL = ConvertToURL(URL)

doc = StarDesktop.loadComponent

FromURL(URL, “_blank”, 0,

Dummy())

end sub

Panggilah SimulateOpen untuk mem-

buka dokumen baru. Untuk saat ini, peng-

guna perlu mengetikkan path lengkap ke

dokumen. Ekstensi dokumen bebas dan

StarOffice akan menentukan dengan kom-

ponen apa dokumen tersebut dibuka.

Inputbox adalah fungsi yang berguna

untuk menampilkan layar input kepada user.

Bagi Anda yang pernah menggunakan

Delphi/Kylix, fungsi ini serupa baik nama

dan fungsinya.

Sebagai tambahan dari membuka doku-

men dan memahami cara membuka doku-

men dengan pengubahan properti, kita akan

membuka dokumen secara read only. Ketik-

kan subrutin berikut ini di module1:

Sub OpenDoc2

Dim doc as object

Dim URL as string

Dim FileProperties(0) as New

com.sun.star.beans.

PropertyValue

URL = “/tmp/a.sxw”

URL = ConvertToURL(URL)

FileProperties(0).Name =

“ReadOnly”

FileProperties(0).Value = True

doc = StarDesktop.loadComponent

FromURL(URL, “_blank”, 0,

FileProperties())

end sub

Selama ini, parameter terakhir load-

ComponentFromURL selalu kita isi dengan

array kosong Dummy. Kali ini, kita akan

mengubah satu properti yaitu properti

ReadOnly. Sebelum itu, kita mendeklarasi-

kan FileProperties(0) sebagai instans dari

com.sun.star.beans.PropertyValue.

Perhatikanlah kedua baris berikut:

FileProperties(0).Name =

“ReadOnly”

FileProperties(0).Value = True

Pada bahasa lain, akan lebih mudah di-

pahami apabila dituliskan sebagai berikut:

FileProperties(0).ReadOnly =

True

Layar desain dialog.

StarOffice

Page 16: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

65InfoLINUX 08/2004www.infolinux.web.id

TUTORIALBerita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

Akan tetapi, kita perlu memahami aturan

StarOffice yang menuliskan pengubahan

properti dengan dua baris tersebut.

Menyimpan dokumenSama seperti membuat dokumen baru

ataupun membuka dokumen, menyimpan

dokumen juga dilakukan dengan bantuan

StarDesktop. Berikut ini adalah contoh

penyimpanan dokumen. Ketikkan kode ini

di dalam bagian subrutin Anda:

Dim URL As String

Dim Dummy()

URL=”/tmp/a.sxw”

URL = ConvertToURL(URL)

Doc.storeAsURL(URL, Dummy())

Mencetak dokumenMencetak dokumen dengan bantuan macro

adalah hal yang mudah, menarik, dan bagi

sysadmin, adalah hal yang perlu diper-

hatikan. Kita akan membahas soal sys-

admin terlebih dahulu. Asumsikan ada

salah satu rekan kerja Anda yang nakal.

Beliau kemudian membuat virus macro

StarOffice yang sangat sederhana: men-

cetak puluhan kali ke berbagai printer di

dalam jaringan. Bisa Anda bayangkan kalau

tiba-tiba banyak printer yang sibuk men-

cetak berkali-kali?

Salah satu cara untuk mengontrol adalah

dengan menerapkan policy secure path list

yang tidak bisa diubah-ubah oleh user dengan

mudah. Gunakan StarOffice Configuration

Manager untuk melakukan pengubahan

secara mudah. Harap diperhatikan bahwa

SCM tidak dimiliki oleh OpenOffice.org.

Kembali ke pencetakan. Pencetakan da-

lam bentuk sederhana dapa dilihat pada

contoh berikut. Ketikkan bagian kode ini di

dalam bagian subrutin Anda:

Dim Dummy()

Doc.print(Dummy())

Untuk pencetakan yang lebih kompleks,

perhatikanlah contoh berikut ini. Contoh

berikut akan mencetak halaman tertentu saja:

Dim Doc As Object

Dim PrintProperties(0) As New

com.sun.star.beans.PropertyValue

PrintProperties(0).Name=”Pages”

PrintProperties(0).Value=”1-3;

7; 9"

Doc.print(PrintProperties())

Contoh berikut akan mencetak lebih

kompleks lagi. Lengkap dengan pemilihan

printer.

Dim Doc As Object

Dim PrinterProperties(1) As New

com.sun.star.beans.PropertyValue

Dim PaperSize As New

com.sun.star.awt.Size

PaperSize.Width = 20000' 20 cm

PaperSize.Height = 20000' 20 cm

PrinterProperties

(0).Name=”Name”

PrinterProperties (0).Value=”HP

Laserjet”

PrinterProperties

(1).Name=”PaperSize”

PrinterProperties

(1).Value=PaperSize

Doc.Printer =

PrinterProperties()

Doc.print(PrintProperties())

Kita tidak membuat user interface de-

ngan dialog kali ini.

Mengubah properties dokumenBukalah File|Properties. Maka Anda akan

dapat mengubah properti dokumen dengan

mudah. Dengan mengabaikan dialog tersebut,

kita akan melihat bagaimana mengubah

properti dokumen dengan bantuan macro.

Berikut ini adalah contoh subrutinnya:

Sub ChangeDocProperty

doc = StarDesktop.

CurrentComponent

doc.DocumentInfo.Title =

“Testing Macro:)”

End Sub

Satu hal yang menarik dari kode tersebut

adalah kode StarDesktop.CurrentCom-

ponent. Kita akan menggunakan cara seperti

ini untuk mendapatkan dokumen yang

sedang aktif dalam window. Berbeda dengan

macro pada Microsoft Office yang mem-

bedakan dokumen dan spreadsheet aktif,

StarOffice menerapkan cara yang sama

untuk mengambil dokumen aktif. Sangat

luar biasa!

Melihat statistik dokumenBagi penulis, salah satu fasilitas yang paling

sering diakses adalah melihat statistik

dokumen. Penulis harus mengetahui berapa

karakter yang ditulis, apakah sudah men-

cukupi persyaratan satu artikel. Untuk

mendapatkan fungsi tersebut, kita dapat

mengakses menu File|Properties|Statistics.

Berikut ini kita akan menampilkan infor-

masi tersebut dengan lebih cepat dengan

fungsi statistik buatan sendiri. Ketikkan

subrutin berikut ini di dalam Module1.

Statistik dokumen buatan sendiri.

StarOffice

Page 17: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

www.infolinux.web.id66 InfoLINUX 08/2004

TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

Sub MyStat

Dim StatString as String

doc = StarDesktop.

CurrentComponent

StatString = StatString +

“Character Count: “ +

doc.CharacterCount + chr(13)

StatString = StatString + “Word

Count: “ + doc.WordCount +

chr(13)

StatString = StatString +

“Paragraph Count: “ +

doc.ParagraphCount + chr(13)

msgbox StatString,64,

”Statistics”

end sub

Berikan shortcut agar mudah dijalankan.

Secara mendasar, apa yang perlu kita

dapatkan adalah properti CharacterCount,

WordCount, dan ParagraphCount milik

dokumen aktif. Selanjutnya, kita meng-

gabungkan semua informasi dalam satu

string, yang kemudian dicetak dengan fungsi

msgbox.

Parameter 64 menunjukkan dialog be-

rupa information. Fungsi ini lebih cepat

diakses daripada harus membuka File|

Properties|Statistics.

Mengatasi kelemahan Editor MacroStarOfficeBagi Anda yang pernah bekerja dengan

StarOffice dan Microsoft Office, coba

bandingkan kemampuan IDE kedua paket

office tersebut. Harus diakui bahwa editor

miliki Microsoft Office jauh lebih enak

digunakan.

Begitu kita mengetikkan suatu objek

diikuti tanda titik, maka properti dan

method yang bisa dipanggil akan ditam-

pilkan. Kita tidak perlu mengetikkan secara

manual. Bagi kita yang mudah lupa, hal ini

akan terasa sangat membantu.

Sebaliknya, editor untuk StarOffice akan

terasa sangat sederhana. Namun, tentu saja

kelemahan kecil tersebut tidak sebanding

dengan kemampuan paket Office itu sendiri.

StarOffice memiliki desain lebih baik, jauh

lebih stabil, jauh lebih bisa diandalkan, dan

bagi penulis pribadi, jauh lebih meng-

hasilkan.

Pada awalnya, penulis memiliki cukup

banyak kesulitan dengan editor yang susah

diajak kerja sama tersebut. Namun, penulis

kemudian mendapatkan cara yang sedikit

membantu. Yaitu, mencetak keluar properti

dan methodnya secara manual dalam

sebuah messagebox.

Perhatikan contoh berikut:

doc = StarDesktop.

CurrentComponent

msgbox doc.dbg_properties,64,

”Properties”

dan

doc = StarDesktop.

CurrentComponent

msgbox doc.dbg_methods,64,

”Methods”

Dengan mencetak properti dbg_pro-

perties dan dbg_method ke dalam message-

box, kita dapat melihat properti dan method

apa saja yang dimiliki oleh suatu objek.

Tidak interaktif dan menarik memang, tapi

tetap informatif.

Harapannya, dengan demikian kita tidak

lagi mengalami masalah dengan mengamati

properti dan method suatu objek. Hanya,

karena kita mengambil objek aktif, maka

hati-hatilah dalam menjalankan macro

tersebut. Pastikan Anda menjalankan macro

ini di objek yang bersangkutan. Sebagai

contoh, untuk mengetahui properti apa saja

yang dimiliki oleh komponen Writer, jalan-

kanlah di Writer dan bukannya tanpa

sengaja di layar edit macro.

Untuk mudahnya, macro tersebut di-

simpan ikut StarOffice dan diberikan short-

cut umum yang dapat dijalankan dari

seluruh komponen StarOffice.

Satu kelemahan cara ini adalah ketika

suatu objek menjadi begitu kaya raya akan

properti dan method. Dengan demikian,

satu layar messagebox tidak akan mampu

menampilkannya secara tuntas. Gabung-

kan dengan kemampuan menulis pada

Writer untuk mendapatkan properti dan

methodnya ditampilkan dalam dokumen

Writer.

Salah satu kelebihan StarOffice yang

tidak dimiliki oleh OpenOffice.org adalah

dokumentasi yang sangat baik. Apabila

dengan mengintip properti dan method

suatu objek masih tidak membantu, cobalah

mengintip dokumentasinya.

Sampai di sini perkenalan kita dengan

simulasi fungsi dasar StarOffice dengan

macro. Selamat mencoba, dan sampai ketemu

lagi dengan berbagai tip macro StarOffice.

Kita buktikan bahwa menggunakan Linux

bisa jauh lebih produktif dibandingkan

dengan menggunakan Windows. Bebas virus

dan lebih stabil. Pokoknya luar biasa, apalagi

dengan kehadiran kernel 2.6.�Noprianto ([email protected])

Mendapatkan method suatu objek.

StarOffice

Page 18: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

67InfoLINUX 08/2004www.infolinux.web.id

TUTORIALBerita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

Membaca Prosesdengan Shell ScriptLinux menyediakan banyak informasi proses. Dengan shell script, kita bisa membacanyadan menampilkannya dengan mudah.

Linux adalah sistem operasi yang benar-

benar ramah dan user friendly. Bagai-

mana tidak? Keadaan sistem dengan

transparan dipetakan di dalam pesudo file

system /proc. Kondisi memory, memory yang

digunakan oleh proses, status sistem, dan

berbagai informasi lainnya dipetakan dalam

berbagai file di dalam direktori /proc.

Bagi yang menyenangi shell script, Anda

bisa mendapatkan banyak keuntungan

dengan membaca /proc tersebut. Sebagai

contoh, dengan mudah, kita bisa menge-

tahui sudah berapa lama sistem berjalan.

Cukup dengan membaca /proc/utime,

informasi lama sistem berjalan bisa di-

dapatkan dengan mudah. Atau, dengan

membaca /proc/cpuinfo, kita dapat me-

ngetahui dengan lengkap informasi proces-

sor yang digunakan. Semua itu dapat

dilakukan tanpa harus menggunakan pem-

rograman low level seperti assembly atau

bahasa C. Bayangkan ketika Anda harus

membaca informasi processor di Windows.

Di artikel ini, kita akan memfokuskan

diri untuk membaca status proses. Proses

adalah hal yang supermenarik di Linux.

Kehebatan Linux dalam menangani proses

dan alokasi sumber daya menjadikannya

sangat stabil. Di linux, semua proses me-

miliki sebuah id unik, yang lazimnya disebut

sebagai PID (Process ID). Kita cukup

mengetahui ID sebuah proses untuk me-

lakukan berbagai hal pada suatu proses.

Di Linux, kita mengenai sebuah proses

nenek moyang, yaitu proses init. Proses ini

memiliki PID 1. Semua proses adalah anak,

cucu, cicit atau turunan lebih lanjut dari

proses init ini.

Berikanlah perintah ‘ps ax’ untuk melihat

proses-proses di sistem. Anda akan melihat

sejumlah PID di layar. Sekarang, tampilkanlah

isi /proc, Anda akan mendapatkan banyak

direktori berupa angka-angka. Direktori

tersebut mencerminkan ID proses. Apabila

masuk ke sebuah direktori ID proses tersebut,

Anda akan melihat banyak file. File-file

tersebut memetakan informasi detail setiap

proses. Dengan demikian, sebenarnya, dengan

sebuah shell script pun, dengan mudah kita

bisa membuat program ps sendiri. Setuju?

Berbagai tool siap pakaiShell script bukanlah bahasa pemrograman

lengkap seperti C. Oleh karena itu, shell script

tidak menyediakan berbagai pustaka siap

pakai untuk mengakses sistem. Shell script

berfungsi sebagai “file batch” yang akan

memroses perintah-perintah yang kita beri-

kan di dalamnya. Shell script menyediakan

berbagai fungsi dasar pemrograman seperti

perulangan, seleksi, array, dan lain sebagainya.

Untuk menggantikan fungsi-fungsi

seperti fungsi pembacaan file, kita meng-

gunakan program yang telah disediakan.

Sebagai contoh, kita menggunakan program

cat untuk membaca isi sebuah file. Atau, kita

menggunakan program grep untuk peng-

gunaan regular expression.

Dengan demikian, kita sangat ber-

gantung kepada ketersediaan program eks-

ternal untuk menghasilkan shell script yang

memadai. Untungnya, program-program

standar seperti cat, grep, dan lain sebagainya

selalu tersedia di hampir setiap distro Linux.

Untuk memperlancar pembuatan shell

script, kita perlu sering berlatih agar lebih

menguasai penggunaan berbagai program.

Dengan penguasaan program seperti grep

atau tr misalnya, dengan mudah kita bisa

menggunakan regular expression di shell

script.

Di artikel ini, kita akan banyak meng-

gunakan program cat, tr, cut, grep, sort, uniq,

dan berbagai tool lain.

Satu hal yang penting adalah, kita me-

miliki banyak cara untuk mencapai tujuan

ketika kita menggunakan shell script. Seperti

pepatah, “banyak jalan menuju roma”.

Contoh yang Anda lihat mungkin berten-

tangan dengan gaya Anda. Anda berhak

untuk memiliki gaya sendiri. Hanya, seba-

iknya gunakanlah gaya yang efisien dan

pastikan script Anda mudah terbaca untuk

memudahkan debugging dan penyem-

purnaan oleh pihak lain. Tidak ada gunanya

membuat shell script yang pendek, namun

hanya dimengerti oleh Anda.

Membaca status prosesAda sebuah file yang menarik di direktori ID

proses di dalam /proc. File tersebut adalah file

status. File tersebut memetakan informasi real

time setiap proses seperti nama, status proses,

memory yang digunakan, pemilik proses,

mask signal, dan lain sebagainya. Kita akan

banyak memanfaatkan file ini nantinya.

Cobalah untuk memberikan perintah

berikut ini untuk mendapatkan informasi

dari proses init:

cat /proc/1/status

Berikut ini adalah contoh keluaran di

sistem yang penulis gunakan untuk menulis

artikel ini:

Name: init

State: S (sleeping)

Tgid: 1

Pid: 1

PPid: 0

TracerPid: 0

Uid: 0000

Gid: 0000

FDSize:32

Groups:

VmSize: 620 kB

VmLck: 0 kB

Shell Script

Page 19: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

www.infolinux.web.id68 InfoLINUX 08/2004

TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

VmRSS: 72 kB

VmData: 136 kB

VmStk: 8 kB

VmExe: 464 kB

VmLib: 0 kB

SigPnd:0000000000000000

SigBlk:0000000000000000

SigIgn:ffffffffd770d8fc

SigCgt:00000000288b2603

CapInh:0000000000000000

CapPrm:00000000ffffffff

CapEff:00000000fffffeff

Dengan program grep, kita dapat me-

nyaring informasi dengan mudah. Sebagai

contoh, kita akan mendapatkan nama proses

dari proses dengan ID 1 ini.

cat /proc/1/status | grep Name:

Yang tampil adalah:

Name: init

Apabila ingin mendapatkan string init

saja, kita perlu membuang tulisan Name:.

Cara yang penulis gunakan adalah dengan

memanfaatkan program cut untuk memecah

string dengan pemecah berupa tanda titik

dua. Berikut ini adalah contohnya:

cat /proc/1/status | grep Name:

| cut -d: -f2

Perintah tersebut akan menampilkan:

init

Apabila ingin membuang spasi di depan

init, Anda bisa menggunakan bantuan pro-

gram tr untuk membuang segala spasi kosong:

cat /proc/1/status | grep Name:

| cut -d: -f2 | tr -d

‘[:space:]’

Perintah tersebut akan menghasilkan

tulisan init.

Dengan demikian, kita bisa melihat

betapa mudahnya mengambil informasi dari

file status ini menggunakan shell script dan

berbagai tool.

Berikutnya, kita akan melihat berbagai

contoh lebih lanjut.

Contoh 1: prunstatusKita akan melihat bagaimana menghitung

jumlah proses yang sedang berjalan, sedang

tidur ataupun sedang dihentikan. Hal ini

umumnya kita temukan ketika kita men-

jalankan program top. Linux adalah pro-

gram multitasking sehingga dalam satu

waktu, kita bisa menemukan banyak proses.

Beberapa di antaranya sedang berjalan,

sedang tidur, ataupun sedang dihentikan.

Kita menyebut kondisi sedang berjalan,

sedang tidur, ataupun sedang dihentikan

tersebut sebagai status proses. Dalam time-

slice (potongan waktu tertentu, umumnya

dalam hitungan nanosecond atau mili-

second) tertentu, sebuah proses dapat

berubah status. Sistem membagi waktu

dalam berbagai timeslice. Oleh karena itu,

dalam satu waktu tertentu, kita dapat

melihat beberapa proses berjalan sekaligus.

Perhatikanlah State pada file status di /

proc/<ID>. Kita akan membaca semua file

status di /proc/<ID>, kemudian meng-

hitung berapa saja yang sedang dalam sta-

tus running, sleeping, atau stopped.

Berikut adalah kode dan penjelasannya:

#!/bin/sh

#(c) Noprianto, June 2004.

TEMP=temp

for i in ‘ls /proc | grep -e

‘[0-9]’‘

do

cat /proc/$i/status 2>/dev/

null | grep State: >> $TEMP

done

echo ‘cat $TEMP | wc -l‘ total

echo ‘cat $TEMP | grep sleeping

| wc -l‘ sleeping

echo ‘cat $TEMP | grep stopped

| wc -l‘ stopped

echo ‘cat $TEMP | grep running

| wc -l‘ running

rm -f $TEMP

Pertama-tama, kita mendapatkan direk-

tori angka-angka di /proc. Penulis meng-

gunakan bantuan program grep untuk

mendapatkannya. Penulis menggunakan

regular expression dengan pola [0-9] untuk

menyaring direktori berupa angka dari

keluaran program ls.

Setelah itu, dalam perulangan, kita akan

membaca setiap file status dan menyaring

State: untuk kemudian ditambahkan ke

dalam file temp. Setiap perulangan akan

menghasilkan satu baris entri di dalam file

temp.

Pada akhirnya, kita akan menghitung

jumlah baris dengan bantuan program wc.

untuk mendapatkan total, kita hanya akan

membaca jumlah baris tanpa melakukan

penyaringan apapun. Untuk mendapatkan

jumlah proses yang sleeping, kita akan

menyaring kata sleeping. kemudian meng-

hitung jumlah baris yang dihasilkan. Begitu-

pun dengan stopped dan running.

Berikut adalah keluaran script ini di

komputer yang penulis gunakan:

222 total

221 sleeping

0 stopped

1 running

Contoh 2: pproglibSetiap proses akan memanfaatkan berbagai

file, program, atau pustaka sistem. Dengan

mudah kita bisa mendapatkan informasi

tersebut. Bedanya, kita tidak lagi membca

file status untuk mendapatkan informasi

tersebut. file status hanya kita perlukan

untuk mendapatkan nama proses.

Sebagai gantinya, kita akan membaca file

maps. Kita tidak akan mengambil semua

informasi di dalam file ini. Yang kita ambil

adalah nama file, pustaka, atau program,

yang ciri khasnya adalah diawali dengan

karakter /.

Berikut adalah kode dan penjelasannya:

#!/bin/sh

[ $# -ne 1 ] && echo ‘basename

$0‘ \<pid\> && exit 1

cat /proc/$1/status | grep

Name:

cat /proc/$1/maps | grep /

Program ini harus menerima satu pa-

rameter. Apabila jumlah parameter tidak

sama dengan satu, kita akan menampilkan

cara penggunaan kemudian keluar dengan

exit code 1. program basename kita gunakan

untuk memperindah tampilan. Apabila

pengguna tidak memberikan parameter,

maka program akan menampilkan tulisan

berikut ini:

pproglib <pid>

Shell Script

Page 20: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

69InfoLINUX 08/2004www.infolinux.web.id

TUTORIALBerita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

Perhatikan bahwa untuk menampilkan

karakter <, kita menggunakan cara <.

Setelah itu, kita akan mendapatkan nama

proses dengan menyaring Name: dari file /

proc/$1/status. Kemudian, kita menyaring

berbagai file yang terdaftar di /proc/$1/maps.

tanda $1 menunjukkan parameter pertama

yang dilewatkan pada program.

Berikut ini adalah contoh keluaran dari

program dengan parameter 1321 pada

komputer yang penulis gunakan:

Name: resmgrd

08048000-0804f000 r-xp 00000000

03:01 51281 /sbin/resmgrd

0804f000-08050000 rw-p 00007000

03:01 51281 /sbin/resmgrd

40000000-40018000 r-xp 00000000

03:01 6654 /lib/ld-

2.3.2.so

40018000-40019000 rw-p 00017000

03:01 6654 /lib/ld-

2.3.2.so

40029000-4002c000 r-xp 00000000

03:01 51278 /lib/

libresmgr.so.0.1

4002c000-4002d000 rw-p 00002000

03:01 51278 /lib/

libresmgr.so.0.1

4002d000-40159000 r-xp 00000000

03:01 6651 /lib/i686/

libc.so.6

40159000-4015e000 rw-p 0012c000

03:01 6651 /lib/i686/

libc.so.6

40160000-40167000 r-xp 00000000

03:01 6667 /lib/

libnss_compat.so.2

40167000-40168000 rw-p 00006000

03:01 6667 /lib/

libnss_compat.so.2

40168000-4017a000 r-xp 00000000

03:01 6666 /lib/

libnsl.so.1

4017a000-4017b000 rw-p 00011000

03:01 6666 /lib/

libnsl.so.1

4017d000-40185000 r-xp 00000000

03:01 6671 /lib/

libnss_nis.so.2

40185000-40186000 rw-p 00007000

03:01 6671 /lib/

libnss_nis.so.2

40186000-4018f000 r-xp 00000000

03:01 6669 /lib/

libnss_files.so.2

4018f000-40190000 rw-p 00008000

03:01 6669 /lib/

libnss_files.so.2

Apabila ternyata Anda merasa bahwa

keluaran program terlalu kompleks, Anda

dapat menyaring hanya nama file-nya saja

dengan memisahkan setiap baris dengan

program cut atau awk dengan pemisah

berupa spasi. Anda juga dapat menggantikan

spasi dengan karakter # misalnya. Harap

perhatikan bahwa Anda tidak dapat meng-

gunakan karakter : sebagai pemisah karena

telah digunakan pada informasi waktu

proses.

Salah satu kekurangan dari program ini

adalah tidak ada validasi ketika membaca

direktori ID proses. Apabila user memasuk-

kan ID yang tidak valid, maka pesan kesalahan

default akan ditampilkan. Untuk mengujinya,

Anda bisa menggunakan program test dengan

parameter -d yang akan menguji apakah

sebuah file ada dan merupakan direktori.

Contoh 3: pnameApakah Anda sering menjumpai kasus di

mana Anda ingin mengetahui PID dari

semua proses java di komputer Anda?

Misalnya ketika Anda ingin melewatkan

semua PID tersebut dengan signal SIGKILL

pada program kill? Apabila sering menga-

laminya, Anda mungkin tertarik pada

contoh program yang satu ini.

Contoh yang satu ini lebih mengacu pada

latihan pemrograman. Untuk tugas bunuh-

membunuh, Anda bisa melihat manual pro-

gram kill ataupun pkill.

#!/bin/sh

#(c) Noprianto, June 2004.

Shell Script

http://www.distrolinux.net

Sedia CD Distro Linux & BSD

Murah, Bergaransi (10Rb/CD)

Email : [email protected]

HP/SMS : 0812 1876 981

IKLAN

Page 21: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

www.infolinux.web.id70 InfoLINUX 08/2004

TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

[ $# -ne 1 ] && echo ‘basename

$0‘ \<name\> && exit 1

export PIDS=””

for i in ‘ls /proc | grep -e

‘[0-9]’‘

do

TEMP=‘cat /proc/$i/status 2>/

dev/null | grep $1 | tr -s

‘[:space:]’ ‘:’ | cut -d: -f2‘

test ! -z $TEMP && test $TEMP

= $1 && PIDS=”$PIDS $i”

done

echo $PIDS

Program ini juga menerima sebuah pa-

rameter. Karena tujuan dari program ini

adalah mendapatkan semua PID dari nama

proses, maka program ini menerima para-

meter berupa nama. Apabila pengguna tidak

melewatkan parameter, maka pesan ke-

salahan berikut akan ditampilkan:

pname <name>

Sama seperti contoh sebelumnya, kita

menggunakan basename untuk mem-

perindah tampilan. Exit code 1 akan di-

kembalikan apabila terjadi kesalahan.

Kita memiliki sebuah variabel PIDS yang

nilainya kosong ketika program dijalankan.

Setelah itu, kita melakukan perulangan pada

direktori-direktori angka di dalam /proc dan

mendapatkan PID proses.

Untuk mendapatkan PID proses, kita akan

menyaring parameter pertama dalam file sta-

tus di semua direktori angka. Harap diper-

hatikan bahwa kita mungkin akan mendapat-

kan nilai kosong karena tidak semua file sta-

tus akan berisikan string yang ingin kita cari.

Apabila pencarian berhasil, variabel

TEMP akan berikan string berupa nama

proses. Kita telah membuang spasi yang

tidak diperlukan dengan program tr.

Sebagai contoh, kita menyaring kata java.

Tentu saja, tidak semua file status akan

berisikan kata java. Maka, kita perlu meme-

riksa variabel TEMP yang kita gunakan

sebagai penampung tersebut.

Apabila TEMP kosong, maka kita asum-

sikan bahwa direktori tersebut bukan

direktori yang kita inginkan. Oleh karena

itu, perulangan dilanjutkan. Tapi, apabila

TEMP berisikan nilai yang kita inginkan,

maka kita akan menambahkan direktori

tersebut dalam daftar PIDS.

Pada akhirnya, kita hanya perlu menam-

pilkan variabel PIDS yang telah berisikan

daftar PID untuk nama program yang kita

lewatkan.

Berikut ini adalah contoh keluaran script

pada komputer yang penulis gunakan

apabila diberikan parameter java:

21979 21980 21981 21982 21983

21984 21985 21986 21987 21989

21990 21991 21992 21994 21995

22005 22014 24753 24754 24755

24756 24757 24758 24759 24760

24761 24762 24763 24764 24765

24766 24767 24769 24789 24790

24791 24797 26535 26550 26563

Kenapa program ini menampilkan hasil

yang sederhana? Tujuannya adalah supaya

program ini dapat digunakan bersama pro-

gram kill. Sebagai contoh:

kill ‘./pname vi‘

Kelemahan utama dari program ini adalah

lambat. Hal tersebut disebabkan karena kita

mencari PID proses secara brute force.

Contoh 4: puserLinux adalah sistem operasi yang didesain

dengan memperhatikan konsep keamanan.

Oleh karena itulah, penerapan sisi ke-

amanan dapat ditemukan di hampir semua

tempat di Linux. Termasuk proses. Contoh

berikut ini akan menampilkan user yang

memiliki proses tersebut.

File yang kita gunakan adalah file status.

Perhatikanlah Uid: di dalam file ini. Kita akan

mengambil daftar Uid dan melihat ke dalam

/etc/passwd untuk mendapatkan nama user.

Berikut ini adalah kode dan penjelasan:

#!/bin/sh

#(c) Noprianto, June 2004.

[ $# -lt 1 ] && echo ‘basename

$0‘ \<pid\> [-v] && exit 1

export USERS=””

USERS=‘cat /proc/$1/status 2>/

dev/null | grep Uid: | tr -s

‘[:space:]’ ‘:’ | cut -d: -f2-

5‘

USERS=‘echo $USERS | tr ‘:’ ‘

‘‘

for user in $USERS

do

cat /etc/passwd | grep -w

$user | cut -d: -f1

done

export COUNT=‘echo $USERS | tr

‘[:space:]’ ‘\n’ | uniq | wc -

l‘

test ! -z $2 && test $2 = -v &&

echo —‘echo $COUNT | wc -w‘

users —-

program ini dapat menerima dua parameter.

Parameter pertama adalah parameter wajib

dan parameter kedua adalah parameter

opsional. Parameter pertama adalah pid, dan

parameter kedua adalah verbose. Apabila

parameter kedua dilewatkan, nama kita akan

menampilkan informasi ekstra.

Kemudian, kita memiliki sebuah variable

USERS yang bernilai kosong pada saat pro-

gram dijalankan. variabel ini akan menam-

pung user-user yang memiliki proses yang

dimasukkan oleh pengguna.

Pertama-tama, kita menyaring terlebih

dahulu Uid di file status. Kemudian, kita

menghapus spasi, menggantikan spasi

dengan tanda :, memisahkan berdasarkan

tanda : tersebut dan mengambil field kedua

sampai kelima. Setelah itu, kita mengganti

kembali pemisah : menjadi karakter spasi di

variabel USERS.

Dengan menggunakan perulangan, kita

akan mencari ke dalam /etc/passwd dan

langsung menampilkannya.

Setelah itu, kita menghitung jumlah user

unik yang kita dapatkan. Untuk itu, penulis

mencetak isi variabel USERS, mengganti spasi

dengan karakter newline (\n), mendapatkan

nilai unik dengan program uniq dan menge-

tahui berapa baris dengan program wc -l.

Kita akan memeriksa apabila paramater

kedua dilewatkan. caranya, dengan bantuan

program test, kita menguji apakah isi variabel

kedua kosong atau berisikan nilai tertentu.

Apabila berisikan nilai tertentu, kita akan

memeriksa apakah nilainya sama dengan -v.

Apabila sama, kita akan mencetak jumlah

user unik yang telah kita dapatkan tersebut.

Shell Script

Page 22: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

71InfoLINUX 08/2004www.infolinux.web.id

TUTORIALBerita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

Berikut adalah contoh keluaran program

apabila dua parameter dilewatkan:

root

root

root

root

— 1 users —-

Salah satu kelemahan program ini adalah

tidak ada pemeriksaan bahwa suatu PID

benar-benar valid atau tidak.

Contoh 5: pchildrenProses di Linux memiliki hirarki yang jelas.

Nenek moyang proses adalah proses init

(proses dengan PID 1). Setelah itu, juga

terdapat anak-anak proses. Kemudian, ada

pula cucu-cucu proses. Umumnya, hubu-

ngan orang tua dan anak adalah hubungan

yang paling diperhatikan.

Terdapat sebuah program yang sangat

berguna untuk melihat hirarki proses dalam

bentuk tree. Program tersebut adalah pstree.

Dalam banyak kasus, pstree sangat mem-

bantu.

Namun, apakah Anda tertarik untuk

mendapatkan PID anak-anak suatu proses?

Sebagai contoh, pernahkah Anda tertarik

untuk membunuh semua anak proses dari

sebuah proses? Apabila Ya, mungkin Anda

akan tertarik dengan contoh program be-

rikut. Program berikut akan menampilkan

PID semua anak proses dari proses tertentu.

Berikut adalah kode dan penjelasannya:

#!/bin/sh

#(c) Noprianto, June 2004.

[ $# -lt 1 ] && echo ‘basename

$0‘ \<pid\> [-v] && exit 1

export CHILDREN=””

for i in ‘ls /proc | grep -e

‘[0-9]’‘

do

TEMP=‘cat /proc/$i/status 2>/

dev/null | grep PPid: | tr -s

‘[:space:]’ ‘:’ | cut -d: -f2‘

test ! -z $TEMP && test $TEMP

Shell Script

= $1 && CHILDREN=”$CHILDREN $i”

done

echo $CHILDREN

test ! -z $2 && test $2 = -v &&

echo —‘echo $CHILDREN | wc -w‘

children —-

Program ini menerima dua parameter.

Parameter pertama adalah parameter wajib

dan parameter kedua adalah parameter

opsional. paramater pertama adalah PID or-

ang tua dan parameter kedua adalah verbose.

Kita akan memiliki variabel CHILDREN

yang kosong ketika program dijalankan.

Pertama-tama, kita akan mendapatkan

semua direktori angka dan melakukan per-

ulangan di semua direktori tersebut sambil

membaca file status dan menyaring kata PPid:

Parent Process ID, atau PID milik orang tua

proses. karena kita akan mencari anak-anak

proses, maka kita akan menyaring proses-

proses yang orang tuanya adalah PID yang

dilewatkan sebagai parameter pertama.

IKLAN

Page 23: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

www.infolinux.web.id72 InfoLINUX 08/2004

TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

Kita menghapus spasi dan mengambil

hanya PPid proses tersebut. Kita juga me-

meriksa apakah PPid yang didapatkan sama

dengan parameter pertama. Apabila ya, maka

kita akan menambahkan direktori tersebut

sebagai isi dari variabel CHILDREN.

Setelah itu, kita hanya perlu menam-

pilkan isi dari variabel children. Apabila

pengguna memberikan parameter kedua,

maka informasi tambahan akan diberikan.

Pertama-tama, akan diperiksa dahulu

apakah parameter kedua kosong atau tidak.

Apabila berisikan nilai, maka akan diperiksa

apakah nilainya sama dengan -v. Apabila

benar, maka jumlah kata dalam variabel

CHILDREN akan dihitung dengan bantuan

program wc -w. Jumlah kata yang didapat-

kan adalah jumlah anak-anak proses.

Berikut ini adalah contoh keluaran dari

program ini:

1007 1066 12 1321 1373 1402

1439 1440 1491 1597 1607 1689

1833 1834 1835 1836 1838 1870

1941 2 2183 2190 2205 2234 2235

2250 2374 2428 2429 2430 2431

2432 27888 27891 27894 27897

27907 27910 27913 27915 27918

27924 27926 27931 27932 27951 3

30062 31110 31111 3202 373 3918

4 417 5 6 7 723 724 730 8 811 9

992

— 65 children —-

Contoh 6: mytopProgram top akan melihat proses-proses

yang paling banyak memakan resource

sistem. Program top adalah program yang

sangat luar biasa. Kita akan membuat pro-

gram top sederhana dengan shell script, yang

akan menampilkan proses-proses yang pa-

ling banyak memakan memory.

Program ini jelas masih kalah jauh

dibandingkan dengan program top. Pe-

ngertian paling banyak memakan memory

juga dilakukan secara sederhana. Berikut ini

adalah kode dan penjelasannya:

#!/bin/sh

#(c) Noprianto, June 2004

export LONGDATA=””

test -z $1 && COUNT=10 ||

COUNT=$1

for i in ‘ls /proc | grep -e

‘[0-9]’‘

do

NAME=‘cat /proc/$i/status 2>/

dev/null | grep Name: | tr -s

‘[:space:]’ ‘:’ | cut -d: -f2‘

VMSIZE=‘cat /proc/$i/status

2>/dev/null | grep VmSize: | tr

-s ‘[:space:]’ ‘:’ | cut -d: -

f2‘

DATA=”$VMSIZE:$NAME”

test ! -z $NAME &&

LONGDATA=”$LONGDATA $DATA”

done

LONGDATA=‘echo $LONGDATA | tr

‘[:space:]’ ‘\n’ | sort -nr‘

LONGDATA=‘echo $LONGDATA | tr

‘[:space:]’ ‘\n’ | uniq ‘

COUNTER=0

for i in $LONGDATA

do

let COUNTER=$COUNTER+1

echo ‘echo $i | tr ‘:’ ‘\t’‘

[ $COUNTER -eq $COUNT ] &&

break

done

Program ini dapat menerima satu param-

eter opsional yang akan diartikan jumlah

proses yang akan ditampilkan. Pertama-tama,

kita akan memeriksa apabila parameter

pertama kosong atau memiliki nilai. Apabila

kosong, maka variabel COUNT akan diset

secara default menjadi 10. Apabila berisikan

nilai, maka variabel COUNT akan diset sesuai

nilai yang diberikan.

Kita memiliki variabel LONGDATA yang

akan menampung seluruh proses dan

memory yang digunakan.

Untuk mendapatkan memory proses,

kita akan menyaring informasi VmSize.

Setelah itu, kita akan membangun struktur

sederhana berupa VmSize:Name. Kemudian,

apabila Name memiliki nilai, kita akan

meggabungkan struktur VmSize:Name

tersebut ke dalam variabel LONGDATA.

Setelah LONGDATA berisikan nilai dan

perulangan selesai, maka kita akan me-

nurutkan terbalik (dari besar ke kecil) dengan

bantuan program sort (yang diberikan opsi -

n untuk pengurutan bilangan). Setelah itu,

Shell Script

untuk menghilangkan entri ganda, kita akan

meminta bantuan program uniq.

Terakhir, kita akan melakukan perulangan

untuk menampilkan isi dari LONGDATA

tersebut sesuai isi variabel COUNT. Apabila

COUNTER telah mencapai COUNT, maka

perulangan dihentikan. Dalam menampilkan

isi dari LONGDATA, kita menggantikan :

dengan TAB dengan bantuan program tr.

Salah satu kelemahan program ini yang

paling terasa adalah lambat. Selain itu,

masih ada nama proses yang berganda. Hal

ini dapat dihilangkan, namun struktur

dalam LONGDATA mungkin harus diubah.

Berikut ini adalah contoh keluaran dari

program ini:

357432 java

179748 kernel

29364 kdeinit

29356 kdeinit

27908 kdeinit

27116 suseplugger

26860 httpd2-prefork

26676 kdeinit

25916 kdeinit

25628 kdeinit

Program mytop dapat dijalankan dengan

bantuan program watch untuk mendapat-

kan informasi secara perodik.

Demikianlah perkenalan kita dengan

informasi-informasi proses di Linux. Con-

toh-contoh dalam artikel ini lebih berfungsi

untuk mempelajari shell script daripada

menghasilkan program yang digunakan

pada lingkungan kerja produktif.

Satu hal yang perlu diperhatikan secara

umum adalah bahwa informasi proses

berubah sesuai kondisi sistem. Oleh karena

itu, kita tidak dapat mengandalkan pem-

bacaan informasi proses di /proc dalam

waktu yang berbeda. Pada contoh terakhir

misalnya, mytop, kita tidak bisa mengambil

semua informasi VmSize, diurutkan, dan

barulah mencari nama proses sesuai VmSize.

Takutnya, pada saat kita ingin mencari entri

yang sesuai dengan VmSize, entri yang

bersangkutan telah menggunakan VmSize

yang berbeda.

Kita bisa melihat bahwa Linux adalah

sistem operasi luar biasa. Masih banyak yang

bisa dikerjakan dengan membaca /proc.

Selamat mencoba dan sukses!�Noprianto ([email protected])

Page 24: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

73InfoLINUX 08/2004www.infolinux.web.id

TUTORIALBerita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

Yang jadi pertanyaan, apakah

presentasi di layar komputer selalu

identik dengan PowerPoint? Tidak-

kah ada program lain yang dapat diseban-

dingkan atau bahkan lebih baik daripada

PowerPoint? Di lingkungan open source

terdapat banyak sekali paket presentasi yang

dapat digunakan untuk menggantikan

PowerPoint, misalnya LyX/LaTeX dengan

Acrobat Reader, MagicPoint, StarOffice/

OpenOffice.org Impress, Kpresenter, dan

lain-lain. Pemilihan tergantung pada rasa

masing-masing. Pada artikel ini, penulis

akan membahas bagaimana membuat

presentasi dengan LyX.

Apa yang membuat LyX lebihistimewa?Hampir semua software Office baik di ling-

kungan Linux maupun Windows menye-

diakan software untuk presentasi, seperti

Microsoft PowerPoint (*.ppt) pada Micro-

soft Office, StarOffice/OpenOffice.org Im-

press (*.sxi) pada StarOffice/Open-

Office.org, Lotus Freelance Graphics (*.pre)

pada Lotus SmartSuite, atau KPresenter

(*.kpr) pada KOffice.

Salah satu kelemahan dari berkas (file)

presentasi yang dihasilkan oleh software

Office ini adalah ukuran berkasnya yang

cukup bahkan sangat besar, terutama kalau

menggunakan kombinasi teks dan banyak

gambar, kecuali pada OpenOffice dan

KOffice. Kedua software ini menggunakan

format standard XML (eXtensible Markup

Language) yang terkompres zip atau tar

untuk memperkecil ukuran berkasnya,

namun dekompresi berkas ini pada saat

pembacaan dan penyimpanan data mem-

butuhkan memory yang besar dan mungkin

menyebabkan akses menjadi lambat.

Ada cara lain teknik presentasi tanpa

menggunakan semua jenis software di atas,

yaitu dengan menggunakan Adobe Acrobat

Reader (versi >4.0). Semua berkas PDF

(Portable Data Format) yang didesain

berukuran screen (layar monitor) dapat

dipresentasikan dengan Adobe Acrobat

Reader. Caranya: buka berkas PDF dengan

Adobe Acrobat Reader lalu pilih menu View| Full Screen (Ctrl+L). Tinggal mengguna-

kan mouse kiri atau kanan untuk memin-

dahkan halaman per halaman slide.

Seperti telah diketahui bahwa LyX

merupakan front-end dari LaTeX, sehingga

apa yang dapat dibuat dengan perangkat

lunak LaTeX dapat juga dibuat dengan LyX,

walaupun kadang-kadang harus meng-

gunakan perintah ERT (Evil Red Text).

Dengan kata lain, LyX mempunyai keung-

gulan konsistensi dan pe-layout-an sendiri

sehingga pengguna hanya mengetikkan

materi slide. Semua hal yang berkaitan

dengan layout dilakukan oleh LyX/LaTeX

dengan hasil sesuai dengan makro yang

Presentasi dengan LyXMelalui Acrobat ReaderSering kita mendengar seorang presenter, baik pengajar di universitas atau presenter disuatu seminar, beranggapan bahwa presentasi “harus” menggunakan PowerPoint.Apakah pendapat ini benar? Hal ini mungkin benar, karena saat ini hanya program inisaja yang sangat populer di masyakarat. Bahkan Lotus Freelance yang sejak dulu menjadipesaing PowerPoint pun tidak begitu populer di masyarakat.

Gambar 1. Tampilan pembuka LyX.

LyX

Page 25: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

www.infolinux.web.id74 InfoLINUX 08/2004

TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

digunakan. Untuk mendesain slide pre-

sentasi, LyX menyediakan beberapa layout

yang telah didukung oleh paket LaTeX,

seperti misalnya PDFscreen, prosper, dan

seminar/foilTeX. Artikel ini hanya akan

membahas layout Prosper yang sangat

mirip dengan hasil PowerPoint atau

StarOffice/OpenOffice.org Impress, dan

PDFscreen yang sangat istimewa serta

mudah dibuat pada LyX.

ProsperProsper adalah suatu kelas LaTeX untuk

membuat transparansi atau slide presentasi.

Paket ini ditulis pada bagian atas dari kelas

seminar oleh Timothy van Zandt. Tujuan-

nya adalah untuk menyediakan suatu ling-

kungan yang mudah dalam membuat atau

mendesain slide, baik untuk presentasi

dengan overhead proyektor atau dengan

video proyektor. Slide yang dipersiapkan

untuk suatu presentasi dengan komputer

dan video projektor memungkinkan untuk

mengintegrasikan efek animasi, tampilan

pelan-pelan, dan lain-lain.

Berkas LyX yang menggunakan klas pros-

per, akan dikonversi ke dalam format LaTeX

dan akhirnya oleh LaTeX akan dikompilasi

menjadi dua format yang berbeda, yaitu:

� Format Adobe PostScript untuk trans-

paransi cetak.

� Format Adobe PDF untuk tampilan slide

pada komputer dengan Acrobat Reader.

Jika berkas ini dibuat dalam bentuk PDF,

slide prosper memberikan kemungkinan

pada efek transisi antarslide dan tampilan

pelan-pelan dengan beberapa efek animasi.

Macam-macam desain ProsperDi antara bermacam-macam slide desain

pada LaTeX, Prosper memiliki paling banyak

macam desain, seperti alienglow, autumn,

azure, blends, clean, contemporain, darkblue,

default, frames, lignesbleues, nuancegris, dan

troispoints. Untuk melihat bagaimana

perbedaan tampilan desain-desain ini, Anda

dapat melihat manual klas prosper atau pada

[http://warmada.pandu. org/TextProc/lyx/

prosper/] atau [http://prosper.sourceforge.net]

atau CTAN.

Membuat slide presentasi Prosperdengan LyXLangkah awal yang harus dilakukan sebelum

membuat slide dengan Prosper adalah

memastikan apakah pada jendela Document

Setting pilihan klas naskah (Document class)

Prosper ditemukan. Kalau belum ditemu-

kan, maka hal yang pertama harus dilakukan

adalah menginstalasi paket slides (Prosper)

pada direktori $texmf dan prosper.layout

Gambar 2. Document Settings Prosper pada LyX. Gambar 3. Tampilan desain slide-prosper pada LyX.

Gambar 4. Contoh tampilan PDF prosper di Acrobat Reader.

LyX

Page 26: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

75InfoLINUX 08/2004www.infolinux.web.id

TUTORIALBerita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

pada direktori lyx/layouts/. Prosedur insta-

lasi paket ini sama persis dengan menginstal

paket lain pada software LaTeX.

Jika kedua paket ini telah terinstalasi

dengan baik dalam sistem, maka layout

Prosper akan muncul pada jendela dialog

Document Setting (Document class) yang

dapat ditampilkan melalui perintah Layout| Document. Pembuatan slide dapat dimulai

dengan memilih layout slides (Prosper) pada

Document class dan menambahkan peri-

ntah darkblue, pdf, accumulate, slideColor,

colorBG pada Options (lihat Gambar 2.

Document Settings LyX).

Materi slide dapat diisi seperti pengetikan

naskah yang lain pada perangkat lunak LyX.

Misalnya, berikan judul utama slide, nama

penulis, institusi. Tiap halaman slide selalu

dimulai dengan subklas Slide (lihat Gambar

3. Tampilan desain slide-prosper pada LyX).

Memanipulasi efek transisi padaProsper di LyXSlide tanpa efek transisi biasanya akan

membosankan peserta seminar. Bahkan,

sering kita mendengar celetukan, “Kok tidak

seperti PowerPoint?” Efek transisi ini akan

sangat berpengaruh kepada penyampaian

materi presentasi. Saat ini, efek transisi yang

sudah didukung oleh Prosper, meliputi Split,

Blinds, Box, Wipe, Dissolve, Glitter, dan Re-

place. Secara default, LyX hanya mengguna-

kan R/Replace sebagai efek transisi slide. Jika

transisi lain yang akan digunakan maka

perintah ERT (Evil Red Text) harus di-

tambahkan. Perintah-perintah yang biasa

digunakan misalnya (dalam kotak meru-

pakan perintah ERT):

\begin{slide}[transisi]{judul

slide}

materi slide yang dibuat

\end{slide}

Misalnya:

\begin{slide}[Split]{Pengantar}

ini contoh materi slide

item pertama

* ini contoh materi slide item

kedua

* ini contoh materi slide item

ketiga. Tidak semua bagian

harus di-ERT.

\end{slide}

Atau kalau ingin menambahkan overlay

sejumlah n kali, dapat dilakukan perintah

berikut:

\overlays{n}{

\begin{slide}[Glitter]

{Kesimpulan}

ini contoh materi slide

item pertama. Tidak semua

bagian harus di-ERT.

* ini contoh materi slide item

kedua. Tidak semua

bagian harus di-ERT.

* ini contoh materi slide item

ketiga. Tidak semua

bagian harus di-ERT.

\end{slide}

}

Salah satu contoh tampilan desain pros-

per dapat dilihat pada Gambar 4. Contoh

tampilan PDF Prosper di Acrobat Reader.

PDFScreenPaket pdfscreen membantu mendesain

kembali keluaran PDF dari naskah normal

sehingga pas dapat dibaca dengan jelas pada

layar monitor dengan menyisakan kebebasan

untuk memformatnya pada percetakan

konvensional. Ini dilakukan dengan men-

definisikan kembali batas samping dan lebar/

tinggi halaman sehingga pas untuk layar

monitor. Tujuan mendasar dari paket ini

adalah untuk merubah dimensi lebar dan

tinggi halaman sehingga menghasilkan

dimensi ideal yang pas dengan tampilan layar.

Untuk menjalankan paket ini, hanya

membutuhkan paket hyperref.sty yang

biasanya telah terinstal pada direktori $texmf.

Namun selain itu paket ini juga memerlukan

pdfscreen.layout yang harus ditempatkan

pada direktory lyx/layouts/. Paket pdfscreen

lengkap dengan layoutnya dapat didownload

LyX

IKLAN

Page 27: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

www.infolinux.web.id76 InfoLINUX 08/2004

TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

dari [http://warmada. pandu.org/TextProc/

lyx/pdfscreen/] atau pada CTAN.

Membuat slide dengan pdfscreenSeperti halnya Prosper, mendesain slide

dengan paket ini dapat dilakukan dengan

memilih klas naskah slides (pdfscreen) pada

jendela dialog Document Setting (lihat

Gambar 5. Document Settings Pdfscreen).

Pengisian materi slide dapat diisi seperti

pengetikan naskah yang lain pada perangkat

lunak LyX. Misalnya, berikan judul slide,

nama pengarang, dan institusi. Tiap hala-

man slide selalu dimulai dengan subklas

Slide (lihat Gambar 6. Tampilan desain slide-

pdfscreen pada LyX).

Penambahan perintah pada kolom Op-

tions akan memberikan variasi tampilan slide

yang dibuat. Misalnya, penambahan opsi

panelleft atau panelright akan menyebabkan

panel navigasi terletak pada bagian kiri atau

kanan slide. Perintah paneltoc dipergunakan

untuk menambah daftar isi pada panel.

Transisi halaman pada pdfscreenSeperti halnya Prosper, pada pdfscreen juga

menyediakan fasilitas efek transisi pada tiap

halaman slide. Fasilitas ini menggunakan

perintah \pagedissolve{<option>} pada Ac-

robat. Macam-macam opsi dan kunci pada

perintah ini, meliputi /Split, /Blinds, /Box, /

Wipe, /Dissolve, /Glitter, /R(Replace). Para-

meter tambahan yang dapat ditambahkan

Gambar 5. Document Settings Pdfscreen.

pada opsi ini, meliputi /D (durasi dari efek

transisi dalam detik), /Di (arah pergerakan

yang hanya berlaku untuk transisi /Wipe dan

/Glitter), /Dm (ukuran yang hanya berlaku

untuk transisi /Split dan /Blinds), /M (gera-

kan dari dalam atau luar slide yang hanya

berlaku untuk transisi /Split dan /Box).

Contoh perintah transisi pada pdfscreen

adalah sebagai berikut:

\pagedissolve{/S /Spit /D 2 /Dm

/H /M /O}

Dengan perintah ini, halaman akan

mengalami transisi Split (/S /Split) dengan

Gambar 6. Tampilan desain slide-pdfscreen pada LyX.

Gambar 7. Contoh tampilan Pdfscreen di Acrobat Reader.

efek horizontal (/Dm /H) yang bergerak dari

bagian dalam ke arah luar halaman slide (/

O). Rentang waktu (/D) efek transisi ini

adalah 2 detik.

Software LyX tidak hanya dapat diguna-

kan sebagai alat bantu pengolahan naskah

(document processor), namun dapat juga

digunakan sebagai alat bantu untuk mende-

sain slide presentasi. Saat ini, baru beberapa

disain slide yang sudah didukung penuh

oleh LyX. Artinya, LyX menyediakan berkas

layout, sehingga paket LaTeX dapat digu-

nakan dengan lebih mudah.�I Wayan Warmada ([email protected])

LyX

Page 28: Diskless System Local Printer pada Diskless Systemopensource.telkomspeedy.com/.../50_Tutorial_08.pdf3. Pada konsol, lakukan login sebagai root . login: root Password: password (ganti

TUTORIALBerita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial

IKLAN