TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
Membuat Presentasi dengan Impress
Membuat Presentasi dengan Impress Punya ide barangkali ada hal yang luar biasa. Akan tetapi, bisa menyampaikan suatu ide akan jauh membuat ide tersebut lebih berguna. diberikan untuk menampilkan halamanhalaman tertentu. Sebuah presentasi sederhana telah Anda hasilkan. Anda dapat mengubah tulisan yang ada di dalam template. Anda juga dapat menambahkan slide atau menghapus slide yang telah dibuat.
OpenOffice.org Impress menyediakan beberapa template yang dapat digunakan sebagai contoh desain untuk presentasi Anda. Dengan menggunakan template yang telah disediakan, pembuat presentasi tidak perlu pusing memikirkan desain. Cukup klik sana, klik sini, tulis beberapa ide, dan sebuah presentasi yang indah telah dihasilkan. Pada saat impress dijalankan, secara default, sebuah wizard akan ditampilkan
B
untuk Anda. Pilihlah From template pada pilihan yang tersedia. Setelah itu, pilihlah template yang diinginkan dari combobox yang tersedia. Apabila Anda mengaktifkan check pada bagian Preview, maka tampilan dari template terpilih akan ditampilkan. Setelah itu, kliklah tombol Next. Anda memasuki langkah kedua. Di sini, Anda dapat memilih desain slide dan media output. Untuk media ouput, Anda dapat memilih media yang sesuai dengan kebutuhan. Klik sekali lagi pada tombol Next akan membawa Anda ke langkah ketiga, di mana Anda dapat memilih efek untuk transisi slide. Efek transisi slide adalah efek yang akan ditampilkan pada saat anda berpindah dari slide satu ke slide lainnya. Di langkah ketiga ini pula, Anda dapat membuat presentasi berjalan sendiri dengan pengaturan durasi waktu tertentu. Hal ini akan sangat berguna apabila Anda yakin akan waktu yang digunakan untuk mempresentasikan ide Anda. Presentasi akan kelihatan sangat profesional karena Anda bahkan tidak berpindah slide secara manual. Namun, apabila persiapan tidak matang, maka fasilitas ini akan menjadi senjata makan tuan. Next, langkah keempat. Anda diminta untuk mengisikan beberapa informasi seputar slide presentasi dan Anda. Dan terakhir, langkah kelima, Anda akan
agaimana menyampaikan ide bukan perkara gampang. Salah satu caranya adalah dalam bentuk tertulis dan kemudian mempresentasikannya. Salah satu alat bantu presentasi yang handal adalah OpenOffice.org Impress, aplikasi presentasi yang kompatibel dengan Microsoft PowerPoint. Dengan Impress, Anda dapat membuat presentasi dengan mengikuti berbagai template yang telah disediakan. Walau demikian, Impress juga dapat digunakan untuk membuat presentasi dari nol. Presentasi dapat dibuat menjadi lebih menarik dengan penambahan berbagai objek. Dan pada akhirnya, presentasi yang Anda buat dapat dengan mudah diekspor ke format PDF ataupun disimpan sebagai halaman web. Semua hal tersebut dapat Anda lakukan dengan mudah.
Presentasi menggunakan template
50
Memilih template yang diinginkan
INFOLINUX DESEMBER 2003
Memilih desain slide
www.infolinux.web.id
Presentasi manual Mencontoh template yang tersedia mungkin akan menjadikan waktu pembuatan presentasi menjadi singkat. Namun sayangnya, terkadang template presentasi tidak mencerminkan sesuatu yang ingin kita presentasikan. Memaksa tentunya akan membuat presentasi yang dibuat menjadi lucu. Solusinya, buat sendiri desainnya. Pada wizard yang ditampilkan pertama kali Impress dijalankan, pilihlah Empty presentation. Kemudian kliklah tombol Create. Anda akan dibawa ke interface utama Impress. Pertama-tama, apa yang perlu dilakukan mungkin mengganti warna background. Untuk itu, pilihlah menu Format|Page. Pindahlah ke tab Background, dan pilihlah tipe background yang Anda inginkan. Sebuah dialog yang menanyakan apakah pengaturan akan dilakukan untuk seluruh slide akan ditampilkan. Setelah itu, Anda mungkin akan mengatur layout slide. Untuk itu, pilihlah Format|Modify Layout. Sebuah dialog akan
Mengatur transisi slide dan tipe presentasi
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
ditampilkan untuk Anda. Pilihlah layout yang Anda inginkan, kemudian kliklah tombol OK. Kini Anda memiliki slide yang telah dilengkapi dengan layout tertentu. Ketikkanlah bahan presentasi untuk slide tersebut. Untuk menambahkan slide, pilihlah menu Insert|Slide. Untuk mengubah nama slide, klik kananlah pada tab nama slide, dan pilihlah Rename Slide. Dengan cara yang sama, Anda dapat memilih Delete Slide untuk menghapus slide.
Menambahkan objek lain Orang bilang, sebuah gambar mewakili ratusan kata. Untuk itu, Anda mungkin perlu menambahkan gambar ke dalam presentasi. Untuk menambahkan gambar, pilihlah menu Insert|Graphics. Anda juga dapat menampilkan image yang disertai
Pengaturan slide show
Memodifikasi layout slide
Spreadsheet dalam slide
dengan animasi sehingga presentasi akan tampak lebih menarik. Apabila Anda ingin menampilkan spreadsheet ke dalam slide presentasi, maka dengan memilih menu Insert|Spreadsheet, Anda akan mendapatkan area kerja Calc di dalam slide presentasi. Walau berada di dalam Impress, Anda dapat bekerja dengan spreadsheet tersebut, seperti layaknya Anda bekerja langsung pada Calc. Penambahan objek multimedia lain dapat dilakukan dengan mudah. Dengan Impress, Anda dapat membuat presentasi yang sebagus mungkin sesuai dengan keinginan.
Slide show Setelah presentasi dihasilkan, kita dapat menampilkannya secara full screen dengan fasilitas slide show. Slide show dapat
Membuat Presentasi dengan Impress
diaktifkan dengan memilih Slide show| Slide show. Pengaturan tambahan untuk slide show dapat dilakukan dengan memilih menu slide show|slide show settings.
Ekspor ke format lain Presentasi yang telah dibuat dapat dengan mudah diekspor ke format lain seperti PDF ataupun halaman web dengan mudah. Untuk mengekspor ke PDF, pilihlah menu File|Export as PDF. Sementara, untuk menyimpan sebagai halaman web, simpanlah dokumen dalam format HTML Document. Demikianlah perkenalan kita dengan Impress. Sekali lagi, kita membuktikan bahwa dengan menggunakan Linux, kita akan tetap produktif. Noprianto (
[email protected])
Mengatur background slide
www.infolinux.web.id
INFOLINUX DESEMBER 2003
51
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
Atur Partisi dengan Parted
Atur Partisi dengan Parted Apabila Windows memiliki Partition Magic, maka Linux memiliki GNU Parted. Pembuatan, penghapusan, pengubahan ukuran, pemeriksaan, dan peng-copy-an partisi menjadi sangat mudah dan aman.
S
etiap komputer umumnya memiliki harddisk untuk menyimpan sistem operasi dan data pemakai. Pengaturan harddisk dilakukan dengan sistem partisi. Hal ini dapat dianalogikan dengan sebuah rumah yang dilengkapi dengan kamar-kamar. Bagi kita yang datang dari dunia Windows, tentunya masih ingat dengan drive C: yang kita miliki. Terkadang, kita menyimpan semua file yang kita miliki, termasuk sistem operasi di drive C: tersebut. Apabila terkena virus dan drive C: tersebut kemudian rusak, maka kemungkinan hilangnya data sangatlah besar. Pembagian harddisk pun dilakukan. Kini kita memiliki drive C: dan drive D:. Drive C: digunakan untuk menyimpan sistem operasi dan program-program yang berjalan di bawahnya, sementara drive D: digunakan untuk menyimpan data dan file penting lainnya. Apabila drive C: rusak, data kita masih aman di drive D:. Akan tetapi, hal ini hanya dapat terjadi apabila Anda telah mempersiapkan dua partisi sebelum menginstall Windows. Bagaimana dengan pengguna yang telah telanjur hanya memiliki drive C:? PowerQuest menjawab kebutuhan tersebut dengan Partition Magic, yang benar-benar luar biasa. Dengan Partition Magic, Anda dapat membagi drive C: tersebut menjadi dua sehingga Anda akan memiliki dua partisi, yang kemudian diwakili oleh drive C: dan drive D:. Dengan Partition Magic pula, pengaturan partisi dapat dilakukan dengan resiko kehilangan data cukup kecil, kalau tidak mau dikatakan tidak ada. Bagaimana dengan Linux? Ya, Linux memiliki fdisk dan harus diakui fdisk adalah program pengatur partisi yang sangat stabil, bagus dan terkenal. Akan tetapi, fdisk tidak dapat digunakan untuk mengubah ukuran suatu partisi tanpa menghilangkan data di
52
INFOLINUX DESEMBER 2003
dalamnya. Selama beberapa waktu lamanya, kita cukup merasa iri dengan pengguna Windows dan Partition Magicnya. Sampai sebuah titik terang muncul pada tanggal 6 Juni 1999 ketika Parted lahir dari seorang Andrew Clausen (
[email protected]). Parted menjanjikan kemampuan sekelas Partition Magic. Kini, apabila dianalogikan dengan balita, Parted telah memasuki taman kanakkanak dan mulai siap untuk masuk ke sekolah dasar. Selama empat tahun, para pengembang Parted telah membuatnya menjadi program yang sangat dapat diandalkan. Pada distro Debian atau turunannya, Anda dapat menginstal Parted dengan memberikan perintah berikut ini: apt-get install parted parted-doc Untuk distro lain, Anda dapat mencari terlebih dahulu paket Parted yang datang bersama dengan distro Anda. Apabila tersedia, maka installah paket tersebut. Apabila tidak tersedia, carilah terlebih dahulu di Internet, sebelum kompilasi dari source code harus dilakukan sendiri. Apabila ternyata pencarian tidak ditemukan, download-lah source code Parted dari ftp://ftp.gnu.org/gnu/ parted/ dan lakukan kompilasi dengan memberikan perintah berikut ini: ./configure make Parted dapat dijalankan dengan modus interaktif ataupun command line. Pada modus interaktif, Anda akan menjumpai interface layaknya sebuah shell ataupun modus interaktif python, di mana perintahperintah dapat diberikan. Pada command line, Parted dijalankan dengan sejumlah parameter. Untuk menjalankan Parted pada modus interaktif, berikan perintah berikut ini: parted DEVICE
www.infolinux.web.id
DEVICE adalah device untuk harddisk Anda, seperti /dev/hda, /dev/hdb dan lain sebagainya. Untuk menjalankan Parted pada command line, berikan perintah berikut ini: parted [DEVICE [COMMAND [PARAMETER]...]...] DEVICE adalah device untuk harddisk Anda, seperti /dev/hda, /dev/hdb dan lain sebagainya. COMMAND adalah perintah Parted. PARAMETER diberikan pada COMMAND. Perintah pada Parted dapat diberikan secara lengkap ataupun sebagian. Contoh akan diberikan pada modus interaktif, kecuali disebutkan secara eksplisit untuk command line. Apabila dibandingkan dengan fdisk, Parted sangatlah mudah untuk digunakan. Pengguna Mandrake akan menjumpai ‘parted’ yang lebih mudah, yakni diskdrake.
Menampilkan daftar partisi Dengan menampilkan daftar partisi, kita dapat melihat partisi-partisi apa saja di dalam suatu device secara mendetail mulai dari blok awal dan akhir, tipe partisi, filesistem dan flag tambahan. Berikanlah perintah print, prin, pri, pr atau cukup p saja. Berikut ini adalah contoh pada komputer penulis: Using /dev/hda Information: The operating system thinks the geometry on /dev/hda is 1216/255/ 63. Therefore, cylinder 1024 ends at 8032.499M. (parted) print Disk geometry for /dev/hda: 0.0009541.546 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
TUTORIAL Atur Partisi dengan Parted
1 primary 2 primary 3 primary 4 primary (parted)
0.031 reiserfs 3506.375 ext3 5012.468 reiserfs 9318.955 linux-swap
3506.374 boot 5012.468 9318.955 9538.593
Minor adalah penomoran partisi yang digunakan oleh Linux. Apabila partisi Anda adalah /dev/hda2, maka Minor akan bernilai 2. Start dan End adalah awal dan akhir partisi dalam satuan Megabyte. Bilangan seperti 111.22 dapat digunakan di sini. Berbeda dengan fdisk, Parted dapat digunakan untuk menampilkan filesistem. Sementara Flags adalah flag tambahan untuk partisi yang dapat berupa boot, root, swap, hidden, raid, lvm, lba, hp-service.
Memeriksa partisi Untuk memeriksa apakah terjadi kesalahan dalam suatu partisi, Anda dapat memberikan perintah check, chec, che, atau ch. Perintah check memerlukan satu parameter, yakni nomor Minor. Sebagai contoh, kita akan memeriksa apakah partisi kedua untuk hdb memiliki kesalahan. Berikut ini adalah perintah dan keluarannya: (parted) print Disk geometry for /dev/hdb: 0.00076319.085 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 60000.578 primary reiserfs 2 60000.579 75006.606 primary reiserfs 3 75006.606 76316.594 primary FAT lba (parted) check 3 Warning: Partition size (2682855 sectors) and filesystem size (2682848 sectors) do not match. Ignore Cancel ? I (parted)
Memilih device Anda telah menjalankan Parted dengan
device /dev/hda. Pada suatu ketika, Anda mungkin ingin mengganti device aktif menjadi /dev/hdb. Untuk itu, berikanlah perintah berikut ini: select DEVICE Sama seperti perintah sebelumnya, Anda dapat pula menyingkat select menjadi selec, sele, dan sel. Perintah se dan s tidak dapat diberikan karena terdapat perintah lain dengan awalan demikian. Berikut ini adalah contoh dan keluarannya: Using /dev/hda Information: The operating system thinks the geometry on /dev/hda is 1216/255/ 63. Therefore, cylinder 1024 ends at 8032.499M. (parted) select /dev/hdb Using /dev/hdb Information: The operating system thinks the geometry on /dev/hdb is 9729/255/ 63. Therefore, cylinder 1024 ends at 8032.499M. (parted)
Memberikan FLAG pada partisi Memberikan flag pada suatu partisi dapat dilakukan dengan sangat mudah. Cukup berikan saja perintah set. Perintah tersebut telah cukup pendek sehingga tidak dapat disingkat lagi menjadi se atau s, karena akan konflik dengan perintah lain, select misalnya. Perintah set memerlukan tiga parameter, yakni MINOR, FLAG dan STATE. MINOR adalah penomoran partisi oleh Linux, FLAG adalah flag yang ingin diberikan dan bisa berupa salah satu dari boot, root, swap, hidden, raid, lvm, lba, hp-service, seperti yang telah disebutkan sebelumnya. STATE adalah status dari FLAG dan bisa berupa on ataupun off. Berikut ini adalah contoh pemberian flag boot pada partisi ketiga /dev/hdb: (parted) select /dev/hdb Using /dev/hdb Information: The operating system thinks the geometry on /dev/hdb is 9729/255/ 63. Therefore, cylinder 1024 ends at 8032.499M.
www.infolinux.web.id
(parted) p Disk geometry for /dev/hdb: 0.00076319.085 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 60000.578 primary reiserfs 2 60000.579 75006.606 primary reiserfs 3 75006.606 76316.594 primary FAT lba (parted) set 3 boot on (parted) p Disk geometry for /dev/hdb: 0.00076319.085 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 60000.578 primary reiserfs 2 60000.579 75006.606 primary reiserfs 3 75006.606 76316.594 primary FAT boot, lba (parted)
Menghapus partisi Menghapus partisi dapat dilakukan dengan sangat mudah. Lebih lanjut, Anda dapat mengembalikan kembali partisi yang telah dihapus (undo), dengan membuat kembali partisi dengan blok awal dan akhir yang sama. Penghapusan partisi dapat dilakukan dengan memberikan perintah rm. Perintah ini tidak dapat disingkat menjadi r karena akan konflik dengan perintah lain, resize misalnya. Berikut ini adalah cara untuk menghapus partisi ketiga pada /dev/hdb: (parted) sel /dev/hdb Using /dev/hdb Information: The operating system thinks the geometry on /dev/hdb is 9729/255/ 63. Therefore, cylinder 1024 ends at 8032.499M. (parted) p Disk geometry for /dev/hdb: 0.00076319.085 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags
INFOLINUX DESEMBER 2003
53
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
Atur Partisi dengan Parted
1 0.031 60000.578 primary reiserfs 2 60000.579 75006.606 primary reiserfs 3 75006.606 76316.594 primary FAT boot, lba (parted) rm 3 (parted) p Disk geometry for /dev/hdb: 0.00076319.085 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 60000.578 primary reiserfs 2 60000.579 75006.606 primary reiserfs (parted)
Membuat partisi Pembuatan partisi dapat dilakukan dengan memberikan perintah mkpart, yang sayangnya tidak dapat disingkat lagi karena akan konflik dengan mkpartfs. Perintah mkpart, berbeda dengan mkpartfs, akan membuat suatu partisi tanpa filesistem. Kita akan membahas keduanya, mulai dari mkpart terlebih dahulu. Perintah mkpart akan memerlukan empat parameter yaitu PART-TYPE, FSTYPE, START dan END. PART-TYPE adalah satu di antara primary, logical, atau extended. START dan END masing-masing adalah blok awal dan akhir partisi. Untuk mengembalikan partisi yang telah terhapus, gunakan perintah mkpart dengan START dan END sama seperti nilai awalnya. Untuk FS-TYPE sendiri bisa berupa satu dari ext2, ext3, FAT, hfs, jfs, linux-swap, ntfs, reiserfs, hp-ufs, sun-ufs, xfs. Berikut ini adalah pembuatan partisi baru untuk /dev/hdb: (parted) sel /dev/hdb Using /dev/hdb Information: The operating system thinks the geometry on /dev/hdb is 9729/255/ 63. Therefore, cylinder 1024 ends at 8032.499M. (parted) p Disk geometry for /dev/hdb: 0.00076319.085 megabytes Disk label type: msdos Minor Start End
54
INFOLINUX DESEMBER 2003
Type Filesystem Flags 1 0.031 60000.578 primary reiserfs 2 60000.579 75006.606 primary reiserfs (parted) mkpart primary fat 75006.607 76000 (parted) p Disk geometry for /dev/hdb: 0.00076319.085 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 60000.578 primary reiserfs 2 60000.579 75006.606 primary reiserfs 3 75006.606 76002.824 primary FAT lba (parted) Untuk membuat partisi baru lengkap dengan filesistemnya, berikanlah perintah mkpartfs lengkap dengan parameter PARTTYPE, FS-TYPE, START dan END. Jangan gunakan perintah mkpartfs untuk mengembalikan partisi yang telah terhapus. Berikut ini adalah contoh pembuatan partisi baru untuk /dev/hdb: (parted) sel /dev/hdb Using /dev/hdb Information: The operating system thinks the geometry on /dev/hdb is 9729/255/ 63. Therefore, cylinder 1024 ends at 8032.499M. (parted) p Disk geometry for /dev/hdb: 0.00076319.085 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 60000.578 primary reiserfs 2 60000.579 75006.606 primary reiserfs (parted) mkpartfs primary fat 75006.607 76000 Warning: Would you like to use FAT32 for this filesystem? It is much more efficient with your disk space, but is not compat ible with early versions of Windows 95 and Windows NT. Only select yes if you only use Linux, BSD, MS Windows 98
www.infolinux.web.id
and/or MS Windows 95 B. Yes No Cancel ? y (parted) p Disk geometry for /dev/hdb: 0.00076319.085 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 60000.578 primary reiserfs 2 60000.579 75006.606 primary reiserfs 3 75006.606 76002.824 primary FAT lba (parted)
Membuat filesistem Untuk membuat filesistem dari suatu partisi, gunakan perintah mkfs. Perintah mkfs memerlukan dua parameter, yakni MINOR dan FS-TYPE. Berikut ini kita akan membuat filesistem fat untuk partisi ketiga /dev/hdb: (parted) sel /dev/hdb Using /dev/hdb Information: The operating system thinks the geometry on /dev/hdb is 9729/255/ 63. Therefore, cylinder 1024 ends at 8032.499M. (parted) p Disk geometry for /dev/hdb: 0.00076319.085 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 60000.578 primary reiserfs 2 60000.579 75006.606 primary reiserfs 3 75006.606 76002.824 primary FAT lba (parted) mkfs 3 fat Warning: Would you like to use FAT32 for this filesystem? It is much more efficient with your disk space, but is not compat ible with early versions of Windows 95 and Windows NT. Only select yes if you only use Linux, BSD, MS Windows 98 and/or MS Windows 95 B. Yes No Cancel ? y (parted) p Disk geometry for /dev/hdb: 0.00076319.085 megabytes
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
TUTORIAL Atur Partisi dengan Parted
Disk label Minor Type 1 primary 2 primary 3 primary (parted)
type: msdos Start Filesystem 0.031 reiserfs 60000.579 reiserfs 75006.606 FAT
End Flags 60000.578 75006.606 76002.824 lba
Mengubah ukuran partisi Dengan Parted, kita dapat mengubah ukuran dari suatu partisi tanpa merusak data yang ada di dalamnya. Pengubahan ukuran partisi dapat dilakukan dengan perintah resize. Perintah resize dapat disingkat menjadi resiz, resi, res, dan re. Apabila terjadi kesalahan, maka Parted akan memberitahukannya kepada user. Perintah resize sendiri memerlukan tiga parameter yakni MINOR, START, dan END. Berikut ini kita akan mengubah ukuran dari partisi ketiga /dev/hdb dan sekaligus mencoba untuk memberikan END yang melebihi ukuran harddisk. (parted) sel /dev/hdb Using /dev/hdb Information: The operating system thinks the geometry on /dev/hdb is 9729/255/ 63. Therefore, cylinder 1024 ends at 8032.499M. (parted) p Disk geometry for /dev/hdb: 0.00076319.085 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 60000.578 primary reiserfs 2 60000.579 75006.606 primary reiserfs 3 75006.606 76002.824 primary FAT lba (parted) resize 3 75006.606 77000 Error: Can’t have a partition outside the disk! (parted) resize 3 75006.606 75500 (parted) p Disk geometry for /dev/hdb: 0.00076319.085 megabytes Disk label type: msdos Minor Start End
Type 1 primary 2 primary 3 primary (parted)
Filesystem 0.031 reiserfs 60000.579 reiserfs 75006.606 FAT
Flags 60000.578 75006.606 75500.793 lba
Memindahkan partisi Dengan Parted, kita bahkan bisa memindahkan partisi dengan aman. Pemindahan partisi dapat dilakukan dengan perintah move, yang dapat disingkat menjadi mov dan mo. Perintah move membutuhkan paling sedikit dua parameter dari tiga parameter yang dapat diberikan. Anda harus memberikan parameter MINOR dan START. Parameter END adalah opsional. Berikut ini kita akan memindahkan partisi ketiga /dev/hdb: (parted) sel /dev/hdb Using /dev/hdb Information: The operating system thinks the geometry on /dev/hdb is 9729/255/ 63. Therefore, cylinder 1024 ends at 8032.499M. (parted) p Disk geometry for /dev/hdb: 0.00076319.085 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 60000.578 primary reiserfs 2 60000.579 75006.606 primary reiserfs (parted) mkpartfs primary fat 76000 76200 (parted) p Disk geometry for /dev/hdb: 0.00076319.085 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 60000.578 primary reiserfs 2 60000.579 75006.606 primary reiserfs 3 76002.825 76198.930 primary FAT lba (parted) move 3 75006.607 Information: Would you like to use
www.infolinux.web.id
FAT32? If leave your file system as FAT16, then you will have no problems. If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution’s manual). Also, converting to FAT32 will make the file system unread able by MS DOS, MS Windows 95a, and MS Windows NT. Yes No Cancel ? y (parted) p Disk geometry for /dev/hdb: 0.00076319.085 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 60000.578 primary reiserfs 2 60000.579 75006.606 primary reiserfs 3 75006.606 75202.712 primary FAT lba (parted) Kita tidak dapat melakukan pemindahan partisi di dalam partisi itu sendiri. Sebagai contoh, apabila awal partisi adalah 76000, kita tidak dapat memindahkan awalnya ke 76100. Parted akan menyarankan untuk melakukan pengubahan ukuran menggunakan perintah resize. (parted) p Disk geometry for /dev/hdb: 0.00076319.085 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 60000.578 primary reiserfs 2 60000.579 75006.606 primary reiserfs 3 75006.606 75202.712 primary FAT lba (parted) move 3 75100 Error: Can’t move a partition onto itself. Try using resize, perhaps? (parted)
Meng-copy partisi Parted dapat pula digunakan untuk mengcopy-kan suatu partisi ke partisi lainnya. Untuk itu, berikanlah perintah cp yang tidak
INFOLINUX DESEMBER 2003
55
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
Atur Partisi dengan Parted
dapat disingkat lagi. Partisi tujuan harus dibuat terlebih dahulu. Isi dari partisi tujuan akan dihapus. Perintah cp membutuhkan dua parameter, yakni FROM-MINOR dan TOMINOR. Berikut ini kita akan meng-copykan partisi ketiga /dev/hdb ke partisi keempat /dev/hdb. (parted) sel /dev/hdb Using /dev/hdb Information: The operating system thinks the geometry on /dev/hdb is 9729/255/ 63. Therefore, cylinder 1024 ends at 8032.499M. (parted) p Disk geometry for /dev/hdb: 0.00076319.085 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 60000.578 primary reiserfs 2 60000.579 75006.606 primary reiserfs 3 75006.606 75202.712 primary FAT lba (parted) mkpartfs primary fat 75202.712 76000 Warning: Would you like to use FAT32 for this filesystem? It is much more efficient with your disk space, but is not compat ible with early versions of Windows 95 and Windows NT. Only select yes if you only use Linux, BSD, MS Windows 98 and/or MS Windows 95 B. Yes No Cancel ? y (parted) p Disk geometry for /dev/hdb: 0.00076319.085 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 60000.578 primary reiserfs 2 60000.579 75006.606 primary reiserfs 3 75006.606 75202.712 primary FAT lba 4 75202.712 76002.824 primary FAT lba (parted) cp 3 4 (parted) p Disk geometry for /dev/hdb: 0.000-
56
INFOLINUX DESEMBER 2003
76319.085 megabytes Disk label type: msdos Minor Start Type Filesystem 1 0.031 primary reiserfs 2 60000.579 primary reiserfs 3 75006.606 primary FAT 4 75202.712 primary FAT (parted)
End Flags 60000.578 75006.606 75202.712 lba 76002.824 lba
Apabila Anda ingin meng-copy-kan partisi dari device lain, maka berikanlah perintah berikut ini: cp FROM-DEVICE FROM-MINOR TO-MINOR gantilah FROM-DEVICE dengan device sumber.
Mendapatkan bantuan Kesulitan dengan perintah Parted Gunakan perintah help untuk mendapatkan bantuan. Perintah help umumnya diberikan dengan parameter berupa perintah Parted. (parted) help move move MINOR START [END] move partition MINOR MINOR is the partition number used by Linux. On msdos disk labels, the primary partitions number from 1-4, and logical partitions are 5 onwards. START and END are in megabytes (parted)
Keluar dari Parted Berikanlah perintah quit atau q untuk keluar dari Parted.
Dukungan filesistem Parted tidak dapat membuat semua filesistem yang populer saat ini. Akan tetapi, dukungan filesistem terus ditingkatkan. Berikut ini adalah tabel dukungan file sistem pada Parted: Filesystem detect create resize copy check ext2 * * *1 *2 *3 ext3 * *1 *2 *3 fat * * *4 *4 * hfs * jfs *
www.infolinux.web.id
linux-swap * ntfs * reiserfs * ufs * xfs *
*
*
*
*
Sebagai catatan: 1. Awal dari partisi harus tetap untuk ext2 dan ext3. 2. Ukuran partisi tujuan peng-copy-an harus lebih besar atau paling tidak sama dengan ukuran partisi sumber. 3. Setiap partisi telah diperiksa terlebih dahulu oleh Parted. Untuk setiap operasi, Parted akan memeriksa apakah operasi tersebut dapat dilakukan. Setiap perintah akan menampilkan pesan kesalahan apabila operasi tidak dapat dilakukan. 4. Untuk alasan kompatibilitas dengan Windows, ukuran dari partisi baru, baik pada saat peng-copy-an atau pengubahan ukuran akan dibatasi oleh ukuran cluster pada FAT. Hal ini umumnya terjadi pada FAT16. Catatan untuk developer: Parted menggunakan libparted. Hal ini berarti, Anda dapat pula membuat frontend sendiri yang menggunakan libparted. Untuk dokumentasinya sendiri, Parted datang dengan dokumentasi API yang sangat jelas. Anda akan membutuhkan paket parteddoc. Dengan mengimplementasikan frontend sendiri, para developer akan dapat membuat antar muka yang sebagus Partition Magic, di mana era Linux untuk desktop akan semakin jelas. Bagi pengguna Python, Matthew Wilson (
[email protected]) telah membuat binding python untuk libparted. Dan salah satu produsen Linux, Progeny Inc, telah menerapkannya dengan sangat baik dalam Progeny Graphical Installer. Berikut ini adalah contoh penggunaan libparted dengan python (Anda harus menginstall paket python-parted terlebih dahulu). Python 2.1.3 (#1, Sep 7 2002, 15:29:56) [GCC 2.95.4 20011002 (Debian prerelease)] on linux2 Type “copyright”, “credits” or “license” for more information.
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
TUTORIAL Atur Partisi dengan Parted
>>> import parted >>> dir(parted) [‘Alignment’, ‘Constraint’, ‘DEVICE_ATARAID’, ‘DEVICE_CPQARRAY’, ‘DEVICE_DAC960’, ‘DEVICE_FILE’, ‘DEVICE_I2O’, ‘DEVICE_IDE’, ‘DEVICE_SCSI’, ‘DEVICE_UNKNOWN’, ‘Device’, ‘Disk’, ‘DiskType’, ‘EXCEPTION_BUG’, ‘EXCEPTION_CANCEL’, ‘EXCEPTION_ERROR’, ‘EXCEPTION_FATAL’, ‘EXCEPTION_FIX’, ‘EXCEPTION_IGNORE’, ‘EXCEPTION_INFORMATION’, ‘EXCEPTION_NO’, ‘EXCEPTION_NO_FEATURE’, ‘EXCEPTION_OK’, ‘EXCEPTION_RETRY’, ‘EXCEPTION_UNHANDLED’, ‘EXCEPTION_WARNING’, ‘EXCEPTION_YES’, ‘Exception’, ‘FileSystem’, ‘FileSystemType’, ‘Geom etry’, ‘PARTITION_EXTENDED’, ‘PARTITION_FREESPACE’, ‘PARTITION_LOGICAL’, ‘PARTITION_METADATA’, ‘PARTITION_PRIMARY’, ‘Partition’, ‘SECTOR_SIZE’, ‘Sequence’, ‘__builtins__’, ‘__doc__’, ‘__file__’, ‘__name__’, ‘_default_handler’, ‘_device_get_next’, ‘_disk_next_partition’, ‘_disk_type_get_next’, ‘_exception_handler’, ‘_file_system_type_get_next’, ‘_lowlevel_exception_handler’, ‘call_handler’, ‘device_get’, ‘device_probe_all’, ‘disk_type_get’, ‘done’, ‘file_system_open’, ‘file_system_probe’, ‘file_system_type_get’, ‘get_devices’, ‘get_disk_types’, ‘get_file_system_types’, ‘init’, ‘register_handler’, ‘response_strings’, ‘sys’, ‘type_strings’, ‘types’, ‘unregister_handler’] >>> parted.init() >>> parted.get_disk_types() <parted.Sequence instance at 0x812d6c4> >>> parted.done() >>> Bagi pecinta shell script indah, tentu saja Anda dapat menggabungkan program parted dengan program Dialog. Berikut ini adalah contohnya: #!/bin/sh
DIALOG=”dialog —backtitle \”Parted with Dialog, (c) Noprianto 2003\”” TEMP=$(tempfile) DEV=”” while [ 1 ] do dialog —menu “Parted (Dev:$DEV)” 20 60 10 select “Select Device” print “Device Information” 2> $TEMP [ $? -ne 0 ] && break MENU=‘cat $TEMP‘ case $MENU in select) dialog —inputbox “Enter device” 10 40 /dev/hda 2>$TEMP DEV=‘cat $TEMP‘ ;; print) if [ ! -z $DEV ] then /sbin/parted $DEV print >$TEMP dialog —textbox $TEMP 20 60 fi ;;
IKLAN
esac done rm -f $TEMP Shell script tersebut hanya berisi menu untuk memilih device dan menampilkan partisi-partisi untuk device tersebut. Lebih berfungsi sebagai contoh dan jelas belum membuat parted lebih mudah untuk dipakai. Pertama-tama, user harus memilih device terlebih dahulu. Apabila user belum memilih device, maka segala menu tidak akan berfungsi. Informasi device aktif akan ditampilkan pada program dialog. Setelah informasi device didapatkan, maka kita tinggal melewatkan deviice ke program parted. Informasi yang dikembalikan oleh parted akan kita tampilkan. Demikianlah. Hari demi hari, program di Linux untuk membantu memenuhi kebutuhan kita akan bertambah dan terus bertambah. Pengguna Linux pun akan terus bertambah. Janganlah ragu untuk menggunakan Linux! Noprianto (
[email protected])
www.infolinux.web.id
INFOLINUX DESEMBER 2003
57
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
Dial-up Cepat dan Mudah dengan Kppp
Dial-up Cepat dan Mudah dengan Kppp
Dialog untuk melakukan koneksi
Untuk distro lain, umumnya Kppp telah dipaketkan. Anda hanya perlu mencari ke CD-ROM yang datang bersama distro Anda tersebut. Apabila memang tidak tersedia, cobalah cari apakah pihak ketiga telah memaketkannya untuk Anda. Di luar semua itu, Anda tetap dapat melakukan kompilasi sendiri.
Pppd terhenti, koneksi pun terputus
58
INFOLINUX DESEMBER 2003
Khusus untuk Debian, apabila Anda ingin menggunakan program ini, terlebih dahulu Anda harus menjadi anggota group dip. Tanpa menjadi anggota group dip, Kppp tidak akan dapat mengatur koneksi dengan benar. Setelah itu, ubahlah opsi auth menjadi noauth di dalam file konfigurasi /etc/ppp/options. Pertama-tama dijalankan, Kppp akan menampilkan dialog untuk melakukan koneksi. Apabila koneksi belum ditambahkan, maka kita harus melakukannya terlebih dahulu. Pada dialog tersebut, kliklah tombol Setup. Anda akan dibawa ke satu dialog baru. Di dialog yang terdiri dari banyak tab ini, Anda dapat mengatur account Anda dan tingkah laku Kppp secara keseluruhan. Pertama-tama, kita akan melihat pada tab Accounts terlebih dahulu. Di dalam tab ini, segala yang berhubungan dengan account untuk dial-up akan diatur. Klik tombol New untuk membuat account baru. Sebuah dialog akan tampil. Pilihlah Dialog Setup. Sebuah dialog baru, yang juga terdiri dari banyak tab akan ditampilkan untuk Anda.
Lihatlah tab Dial. Anda dapat mengisikan nama apa saja yang Anda sukai pada field Connection name. Tulisan ini akan menggunakan Telkomnet instan. Untuk connection name, kita akan memberikan nama telkom. Setelah itu, kliklah tombol Add, yang akan membawa Anda ke satu dialog baru tempat Anda memasukkan nomor telepon. Karena kita menggunakan telkom, maka nomor yang akan dimasukkan adalah 080989999. Aktifkanlah chek pada field Store password apabila Anda ingin membuat Kppp mengingat password yang Anda ketikkan. Setelah itu, kliklah tombol OK. Anda akan dibawa kembali ke tab Accounts pada dialog sebelumnya. Anda telah memiliki satu account baru. Anda dapat mengedit informasi account tersebut dengan klik pada tombol Edit. Apabila account sudah tidak diperlukan, Anda dapat menghapusnya dengan klik pada tombol Delete. Secara umum, Anda telah selesai. Akan tetapi, selain tab Accounts, kita masih memiliki tab Device, Modem, Graph, dan Misc. Walau tidak diperlukan, kita akan melongok sebentar ke dalam tab-tab tersebut.
S
eperti biasa, umumnya distro Linux datang dengan beberapa program yang memiliki fungsi sama. Untuk dial-up saja, paling tidak Anda akan menjumpai program wvdial dan Kppp. Program wvdial terkenal kecil, praktis dan sederhana. Sayangnya, wvdial dijalankan dalam modus command line, yang jelas-jelas kurang ramah untuk pengguna desktop. Sebaliknya, Kppp, walau membutuhkan pustaka yang cukup berat dan kurang praktis, namun terkenal mudah digunakan, dan memiliki interface yang bagus pula. Bagi Anda yang menggunakan Debian atau turunannya, berikan perintah berikut ini untuk menginstal Kppp: apt-get install kppp
Internet adalah gudang informasi. Untuk terhubung ke dalamnya, kita dapat menggunakan berbagai cara. Salah satu cara yang umum digunakan adalah dial-up. Untuk itu, kita harus menginstal program pen-dial-up terlebih dahulu.
Pengaturan account
www.infolinux.web.id
Pengaturan device
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
TUTORIAL
Statistik koneksi
Kita berpindah ke tab Device. Di dalam tab ini, kita akan mengatur device modem kita. Umumnya, Anda perlu mengatur device modem. Beberapa distro telah mengatur agar modem diletakkan sebagai link file di dalam /dev/modem. Beberapa distro membiarkan modem di device /dev/ ttyS0 atau /dev/ttyS1. Setelah menentukan device modem, aturlah nilai pada field Connection speed dan sesuaikanlah dengan konfigurasi modem Anda. Pengaturan timeout mungkin juga diperlukan. Anda dapat mengubah nilainya di sini. Kita akan berjalan sampai tab Modem. Umumnya, anda tidak perlu melakukan apa-apa di sini. Klik pada tombol Query Modem mungkin dapat digunakan untuk memastikan kalau pengaturan device modem telah sukses. Terbanglah ke tab Graph. Bagi Anda yang peduli akan warna-warni grafik koneksi, aturlah warna-warni tersebut di sini. Kppp menyediakan fasilitas untuk menampilkan kecepatan koneksi dalam bentuk grafik. Anda dapat memperhatikan kecepatan koneksi Anda di sini. Tab terakhir, Misc, akan memberikan Anda kebebasan untuk mengatur tingkah laku Kppp seperti otomatis melakukan koneksi ulang apabila koneksi terputus, diskonek otomatis apabila X server diterminasi, dan lain sebagainya. Aturlah Kppp seperti apa yang Anda inginkan.
Informasi seputar koneksi
Dial-up Cepat dan Mudah dengan Kppp
Proses koneksi sedang berlangsung
Kliklah tombol OK untuk kembali ke dialog pertama. Perhatikanlah perubahan yang terjadi. Kini Anda dapat memilih koneksi yang telah dibuat. Masukkanlah Login ID. Untuk contoh dalam tulisan ini, kita akan memasukkan telkomnet@instan. Dan, untuk Password, masukkanlah telkom. Apabila Anda ingin mengetahui apa-apa saja yang terjadi pada saat koneksi dilakukan, aktifkanlah check pada Show log window. Kliklah tombol Connect. Koneksi pun dimulai. Anda mungkin akan mendengar bunyi-bunyian pada modem. Tunggulah sebentar. Terkadang, proses dial-up memakan waktu yang cukup lama, tergantung pada provider yang Anda gunakan. Anda bebas untuk memilih provider apapun yang Anda inginkan. Setelah koneksi tercipta, sebuah dialog akan ditampilkan untuk Anda. Dialog
tersebut berisikan informasi seputar jam koneksi dan lainnya. Untuk mengakhiri koneksi, kliklah tombol Disconnect. Kliklah tombol Details untuk mendapatkan informasi yang lebih detail. Anda dapat melihat grafik koneksi di sini. Terkadang, koneksi dapat pula terputus. Anda mungkin akan mendapatkan pesan kesalahan bahwa daemon pppd terhenti. Anda dapat melakukan koneksi ulang. Demikianlah perkenalan kita dengan Kppp. Contoh pada tulisan ini, walau menggunakan Telkomnet, tentunya tidak bermaksud untuk mendukung tindakan monopoli atau sejenisnya. Seperti salah satu falsafah dalam free software: Anda bebas untuk memilih. Dial-up hanyalah salah satu sarana untuk terhubung ke Internet. Cara lain, seperti RT/ RW Net mungkin dapat dipertimbangkan. Selamat menimba ilmu di dunia maya. Noprianto (
[email protected])
Kppp atau Wvdial Seperti yang telah disebutkan di awal tulisan, kita dapat dengan mudah menemukan program dial-up populer di dunia free software. Kppp hanyalah salah satu di antaranya. Bagi Anda yang memiliki komputer dengan resource terbatas, memilih Kppp jelas bukan solusi. Walau mudah dipakai, Anda perlu memiliki QT, yang berarti pula Anda perlu menjalankan X Window. Barangkali Anda lebih menyukai Wvdial yang sederhana dan berbasiskan teks. Installah juga wvdialconf yang akan memudahkan Anda untuk melakukan konfigurasi wvdial. Dengan hanya menjalankan satu perintah, Anda sudah siap untuk terbang dan membaur ke dunia maya. Pilihlah Kppp untuk dial-up yang lebih mudah, dan wvdial untuk dial-up yang lebih cepat.
www.infolinux.web.id
INFOLINUX DESEMBER 2003
59
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
Python dan Dialog
Python dan Dialog Program dialog sangat mempermudah kita dalam menghasilkan interface yang indah dengan shell script. Sementara, python adalah bahasa pemrograman yang powerful sekaligus mudah dipakai. Gabungan keduanya? Hmm, luar biasa!
D
alam membuat sebuah shell script pun, ada baiknya kalau kita juga memperhatikan unsur interface untuk pemakai. Menampilkan informasi dalam beberapa baris teks hitam putih tentunya akan kelihatan kurang ramah dibandingkan kalau kita menggunakan sebuah kotak dialog dalam menampilkan informasi tersebut. Demikian juga dengan meminta input. Tentunya akan lebih baik apabila kita meminta input menggunakan kotak dialog. Program akan kelihatan jauh lebih ramah. Di sisi lain, shell script tidak selalu dapat digunakan untuk membuat aplikasi. Apalagi jika aplikasi tersebut sudah melibatkan pemrograman yang kompleks. Namun, terkadang susah untuk meninggalkan kemudahan pemrogramannya, apalagi ketika shell script sudah dapat digunakan untuk membuat program yang ramah, dengan bantuan program dialog. Baiklah. Python mungkin menawarkan kemudahan serupa. Dari sisi sintaks dan gaya pemrograman, python adalah bahasa yang cukup mudah dipelajari, dan diseriusi. Namun, kita tidak bisa lagi menggunakan program dialog untuk membuat interface karena python adalah bahasa pemrograman, bukan shell script. Membuat interface teks berbasiskan ncurses, atau tinter sekalipun, adalah mimpi buruk, terutama bagi yang tidak sabar. Untunglah, beberapa developer mengimplementasikan dialog.py, sebagai penghubung antara python dan program dialog. Hasilnya? Silakan nilai sendiri!
Dialog dari sisi pengguna shell script Dengan dialog, sebuah shell script pun dapat menjadi sangat indah. Sebuah shell script tidak akan kalah dengan program yang dihasilkan dari bahasa pemrograman sesungguhnya yang telah menggunakan pustaka libncurses secara langsung, yang
60
INFOLINUX DESEMBER 2003
tentunya melibatkan waktu pengembangan yang lama. Program dialog mengubah pandangan orang bahwa shell script tidak dapat digunakan untuk membuat aplikasi yang ramah. Perhatikanlah contoh kode berikut ini. #/bin/sh TEMP=$(tempfile) dialog —inputbox “Masukkan nama Anda” 10 40 2>$TEMP NAMA=‘cat $TEMP‘ rm -f $TEMP dialog —msgbox “Halo $NAMA” 10 40 Dengan hanya melibatkan beberapa baris kode, shell script yang dihasilkan tidak akan menghantui user dengan interface hitam putih tanpa panduan yang mengerikan. Sebaliknya, user akan disuguhkan tampilan yang ramah dengan dialog-dialog. Barangkali sudah tidak terhitung lagi jumlah penggunaan dialog untuk memperindah shell script. Dengan demikian, apabila Anda hanya ingin melakukan administrasi sistem sederhana namun tetap memiliki tampilan yang indah, buat saja dengan shell script dan dialog. Penggunaan bahasa pemrograman sesungguhnya barangkali hanya akan membuat waktu Anda terbuang sia-sia.
barangkali bisa menjadi surga dunia untuk pemrograman. Dengan berbagai modul yang datang bersamanya, boleh dikatakan, Anda dapat membuat hampir apa saja. Mulai dari aplikasi yang melibatkan perhitungan sederhana sampai server-server untuk jaringan. Bahkan, implementasi python dengan python itu sendiri mendapat sambutan yang cukup meriah. Sayangnya, kembali ke permasalahan interface, khususnya penggunaan libncurses, libnewt atau pustaka sejenisnya, python tetaplah berlaku sebagai bahasa pemrograman umumnya. Anda harus berkutat dengan fungsi-fungsi dan aturanaturan tertentu untuk mendapatkan tampilan yang indah. Sebagai contoh, berikut ini adalah contoh kode program python dan libncurses yang bertujuan untuk menampilkan satu window di layar: import curses,traceback
TITLE = “Main Window” def main(stdscr): global screen screen = stdscr.subwin(23,79,0,0) screen.box() screen.hline(2,1,curses.ACS_HLINE,77) screen.addstr(1,(80-len(TITLE))/ 2,TITLE,curses.A_BOLD) screen.refresh() c = screen.getch() while c!=27: screen.refresh() screen.addstr(10,1,str(c), curses.A_BOLD) c = screen.getch() screen.erase()
Python dan pemrograman interface console Shell script memang terbatas. Dan karenanya, terkadang kita tidak dapat mengandalkannya untuk melakukan tugas serius. Bahasa pemrograman pun dilirik. Python adalah contoh bahasa pemrograman yang mudah untuk dipelajari, sekaligus kaya akan fungsi. Menggunakan python untuk membuat aplikasi tanpa mempedulikan unsur interface
www.infolinux.web.id
if __name__==’__main__’: try: stdscr = curses.initscr() curses.noecho() curses.cbreak() stdscr.keypad(1) main(stdscr)
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
stdscr.keypad(0) curses.echo() curses.nocbreak() curses.endwin() except: stdscr.keypad(0) curses.echo() curses.nocbreak() curses.endwin() traceback.print_exc() Dengan mengetikkan kode tersebut, Anda akan mendapatkan satu window dengan judul Main Window di tengahtengahnya. Input pun terbatas pada satu karakter semata. Kita bahkan belum menyentuh kode untuk menampilkan message box kepada user. Hal tersebut belum lagi ditambah dengan kesalahan pengetikan kode program, yang berarti tampilan tidak akan dihasilkan secara sempurna, atau bahkan program tidak dapat bekerja sama sekali. Baiklah. Lupakan pemrograman ncurses langsung. Anda mungkin akan mengajukan tinter sebagai sarana pembuatan interface console yang cepat dan mudah. Berikut ini adalah kode untuk membuat interface yang cukup ramah, dengan penggunaan tinter: import tinter,traceback,sys def dialog(theControl,arg2,arg3): theSio = theControl.GetProperty (“PARENT”).Screen() theParent = theControl.GetProperty (“PARENT”) bogus = tinter.MsgBoxOK (theSio,”Hello World”).Show() return
Contoh pemrograman interface dengan ncurses
def exit(theControl,arg2,arg3): theScreen.EndScreenAccess() sys.exit(0) try: theScreen = tinter.sio() screenContainer = tinter. ScreenContainer(theScreen) theScreen.BeginScreenAccess() theScreen.AutoRefresh=tinter.tiFALSE for row in range(0,theScreen. MAXROW): theScreen.PrintAt(row,0,”.” * theScreen.MAXCOL) theScreen.AutoRefresh=tinter.tiTRUE theScreen.Refresh() tb = tinter.TextBox(screenContainer, ”txt1",9,22,20,””) screenContainer.AddControl(tb) lb = tinter.Label(screenContainer, ”lbl1",9,10,”input”) screenContainer.AddControl(lb) bt = tinter.Button(screenContainer, ”button1",10,22,10,”DIALOG”) bt.SetMethod(“CLICK”,dialog); screenContainer.AddControl(bt) bt = tinter.Button(screenContainer, ”button2",10,42,10,”EXIT”) bt.SetMethod(“CLICK”,exit); screenContainer.AddControl(bt) screenContainer.Run() theScreen.EndScreenAccess() except: sys.exit(-1) Barangkali memang bukan kode yang baik. Akan tetapi, dengan kode tersebut,
www.infolinux.web.id
Shell script yang ramah
Python dan Dialog
Contoh penggunaan tinter
Anda telah mendapatkan satu input box, satu dialog, dan tentu saja, penggunaan tombol-tombol. Namun, harus diakui, kode yang perlu diketikkan masih cukup panjang. Solusi lain? Dialog.py
Dialog.py Apabila Anda telah menggunakan program dialog dalam pemrograman shell script, maka Anda akan mendapatkan kemudahan yang sama. Bahkan, jauh lebih mudah dan berbagai kesalahan dapat dengan mudah diminimasi. Dan yang paling seru: pemrograman object oriented ala python akan Anda dapatkan. Berikut ini adalah contoh kode python dengan dialog.py yang akan berfungsi serupa dengan contoh shell script dan dialog pada awal tulisan ini: import dialog def main(): d = dialog.Dialog() nama = d.inputbox(“Masukkan nama Anda”) d.msgbox(“Halo %s” %nama) if __name__ == ‘__main__’: main() Bagaimana, seru bukan? Selain lebih singkat, kita juga mendapatkan gaya pemrograman python yang rapi. Berikut ini adalah beberapa contoh penggunaan dialog.py.
infobox Infobox digunakan untuk menampilkan pesan sementara yang dapat secara otomatis keluar tanpa campur tangan user. Infobox cocok digunakan untuk splash screen. Berikut ini adalah contoh kodenya:
INFOLINUX DESEMBER 2003
61
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
import dialog import time def main(): d = dialog.Dialog() d.infobox(“tunggu sebentar...”) time.sleep(1) d.msgbox(“loaded”) if __name__ == ‘__main__’: main()
msgbox Penggunaan msgbox dapat Anda lihat pada contoh-contoh sebelumnya.
inputbox Penggunaan inputbox dapat Anda lihat pada contoh sebelumnya. Seperti yang kita lihat, penggunaan inputbox pada python tidak seperti penggunaan inputbox pada shell script yang harus mengarahkan stderr ke suatu file tertentu, dan kemudian mengambil isi file tersebut untuk mendapatkan apa yang dimasukkan oleh pengguna.
textbox Textbox digunakan untuk menampilkan isi suatu file, lengkap dengan fasilitas scroll. import dialog def main(): d = dialog.Dialog() d.textbox(“/etc/inittab”)
Contoh penggunaan textbox
memberikan nama menu item dan deskripsinya, maka pada dialog.py, kita hanya diberikan kesempatan untuk menuliskan nama menu itemnya saja. Berikut ini adalah contoh kodenya: import dialog def main(): d = dialog.Dialog() menus = [‘Makan’, ‘Tidur’, ‘Terbang’] d.menu(‘Kegiatan favorit’, list=menus) if __name__ == ‘__main__’: main() Kita melihat bahwa setiap menu item akan diberikan penomoran tertentu. Anda dapat menekan tombol keyboard yang bersesuaian untuk mengaktifkan menu item tersebut. Penerapan menu pada dialog.py harus diakui sangat mudah dibandingkan penggunaan pada program dialog itu sendiri.
Sama seperti menu, penerapan checklist pada dialog.py akan jauh lebih mudah daripada penggunaan pada program dialog itu sendiri secara langsung. import dialog
menu Implementasi menu pada dialog.py sedikit berbeda dengan program dialog aslinya. Apabila pada program dialog kita dapat
if __name__ == ‘__main__’: main()
62
INFOLINUX DESEMBER 2003
Contoh penggunaan menu
radiolist Sama seperti penerapan menu dan checklist, penerapan radiolist dialog.py juga jauh lebih mudah digunakan dibandingkan dengan penggunaan pada program dialog secara langsung. Berikut ini adalah buktinya: import dialog def main(): d = dialog.Dialog() lists = [‘Mr. Batara’, ‘Mr. David’, ‘Mr. Resza’] pilihan = d.radiolist(‘Ketua KPLI Jakarta saat ini (gunakan spasi untuk memilih)’, list=lists) if pilihan == ‘Mr. Batara’: d.msgbox(‘Benar’) else: d.msgbox(‘Salah, atau Anda tidak memberikan jawaban’) if __name__ == ‘__main__’: main()
checklist
def main(): d = dialog.Dialog() lists = [‘Pempek’, ‘Mie ayam’, ‘Lumpia’] pilihan = d.checklist(‘Mau makan apa?’, list=lists, checked=[1,1,1]) d.msgbox(‘Pesanan Anda, yaitu %s, akan segera diantar’ %pilihan)
if __name__ == ‘__main__’: main()
Contoh penggunaan inputbox
Python dan Dialog
www.infolinux.web.id
scrollbox Implementasi dialog pada python bahkan memberikan Anda apa yang tidak diberikan oleh program dialog secara langsung. Anda dapat menggunakan scrollbox untuk menampilkan teks yang dapat di-scroll. Hal ini didapatkan dengan memasukkan teks tersebut ke dalam suatu file, dan menggunakan fungsi textbox untuk menampilkan isi file tersebut. Contoh: def main(): d = dialog.Dialog() d.scrollbox(‘halo apa kabar semuanya ?’) if __name__ == ‘__main__’: main()
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
gauge Gauge digunakan sebagai progress baru untuk indikator bahwa suatu proses sedang berlangsung. Penerapan gauge di dialog.py harus diberikan acungan jempol. Selain jauh lebih mudah digunakan, Anda tidak akan menjumpai layar yang terlalu berkedip. Berikut ini adalah contohnya: import dialog import time def main(): d = dialog.Dialog() d.gauge_start(0, ‘Please wait...’) for i in range(1,101): time.sleep(0.1) d.gauge_iterate(i) d.gauge_stop() if __name__ == ‘__main__’: main()
Contoh penggunaan radiolist
“”” Request a line of input from the user. Returns the user’s input or None if cancel was chosen. modified by Nop (on Aug 22 03, 22:56) “”” (c, o) = self.__perform(self.__ handleTitle(title) +\ ‘—passwordbox “%s” %d %d “%s”’ % (text, height, width, init)) try: return o[0] except IndexError: if c == 0: # empty string entered return ‘’ else: # canceled return None
Untuk membuat gauge baru, kita menggunakan method gauge_start(). Untuk menghentikan gauge, kita menggunakan gauge_stop(). Untuk melakukan iterasi, kita menggunakan gauge_iterate().
contoh aplikasi
passwordbox
#contoh aplikasi pengopi file dengan bantuan dialog.py untuk interface. #noprianto, 26 oktober 2003
File dialog.py yang penulis download kebetulan tidak memiliki method passwordbox. Apabila Anda mendapatkan versi barunya dan memiliki method passwordbox atau semacam itu, maka Anda tidak perlu melakukan modifikasi. Akan tetapi, apabila kebetulan Anda tidak memilikinya, maka modifikasilah method inputbox. Anda hanya perlu mengganti parameter yang diberikan untuk program dialog. Berikut ini adalah kodenya: def passwordbox(self, text, height=10, width=30, init=’’, title=’’):
Berikut ini kita akan membuat program pengopi file, dengan fasilitas pemilihan file sumber dan tujuan serta sebuah progress bar. #!/usr/bin/python
import dialog import os import sys d = dialog.Dialog() d.setBackgroundTitle(‘Program pengopi file’) src = d.inputbox(‘Masukkan file yang ingin di-copy’)
www.infolinux.web.id
Contoh penggunaan checklist
Python dan Dialog
Contoh penggunaan gauge
dest = d.inputbox(‘Masukkan file tujuan’) try: fsrc = open(src, ‘r’) fdest = open(dest,’w’) srcsize = os.stat(src)[6] except: d.msgbox(‘Terjadi kesalahan’) sys.exit(1) d.gauge_start(0,’Start copying...’, title=’Copying %s to %s’ %(src, dest)) while 1: buff = fsrc.read(8192) if not buff: break fdest.write(buff) destsize = os.stat(dest)[6] percent = destsize * 100 / srcsize d.gauge_iterate(percent,’copying %ld bytes of %ld bytes (%d percent)...’ %(destsize, srcsize, percent)) Pada saat program ini dijalankan, sebuah inputbox yang meminta file sumber akan ditampilkan untuk Anda. Setelah itu, inputbox kedua yang meminta file tujuan juga akan ditampilkan. Untuk saat ini, kita tidak menggunakan fasilitas fselect dari program dialog. Setelah informasi yang dimasukkan benar, maka proses pengopian pun dimulai. Sebuah indikator berupa progress bar akan ditampilkan. Selain kelebihan yang ditawarkan dari penggunaan dialog.py, tentunya kita bisa melihat kekurangannya. Salah satu contohnya adalah kita tidak dapat meminta lebih dari satu input dalam satu dialog. Tapi, rasa-rasanya hal tersebut cukup wajar. Bukankah sesuatu tidak harus selalu sempurna? Noprianto (
[email protected])
INFOLINUX DESEMBER 2003
63
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
Python dan MySQL
Python dan MySQL MySQL terkenal sebagai database yang cepat dan cukup mudah untuk dipelajari. MySQL juga didukung oleh banyak bahasa pemrograman. Python adalah salah satu contohnya.
D
unia free software memang menyediakan banyak pilihan. Termasuk pilihan untuk bahasa pemrograman dan database server. Khusus untuk bahasa pemrograman, rata-rata Anda dapat membuat sesuatu dengan bahasa apa saja. Sebagai contoh, Anda tertarik untuk membuat tampilan ala Abiword. Sebut saja bahasa pemrograman yang Anda gunakan, dan umumnya Anda dapat membuatnya dengan mudah. Walau bahasa pemrograman yang Anda gunakan tidak mendukung, hampir selalu ada pihak ketiga yang membuat binding pustaka tertentu untuk bahasa Anda. Indah bukan? Anda tidak harus selalu menggunakan bahasa tertentu hanya untuk mendapatkan sesuatu hal. Begitupun dengan koneksi ke MySQL. Beberapa pihak sering mengindentikkan penggunaan MySQL dengan bahasa PHP. Hal tersebut bisa juga dikarenakan MySQL sering digunakan sebagai database server untuk website. Namun, Anda tetap bisa melakukan koneksi dan bekerja dengan database server populer ini dengan python. Walau secara resmi modul untuk melakukan koneksi ke MySQL tidak disertakan dalam distribusi resmi Python, Anda bisa mendapatkannya dari pihak ketiga.
Ketikkanlah perintah berikut ini pada shell Anda: mysql -u root -p Apabila password root untuk MySQL belum diatur, maka penekanan ENTER akan membawa Anda ke dalam shell MySQL. Asumsikan kita akan membuat user tes untuk bekerja dengan database tes. Berikan perintah-perintah berikut ini: create database tes; grant all privileges on tes.* to tes@localhost identified by ‘tes’; flush privileges; Perintah pertama akan membuat database tes. Perintah kedua akan membuat user tes dengan password awal tes, kemudian memberikan hak penuh pada semua isi database tes. Perintah terakhir diberikan agar pemberian hak segera berlaku. Cobalah user tes dengan memberikan perintah berikut ini: mysql -u tes -p Isikanlah password awal, yaitu tes. Apabila Anda berhasil masuk ke dalam
Untuk melakukan koneksi ke MySQL, tentu saja database Anda harus telah terinstal. Sebaiknya, seorang user untuk percobaan juga dibuat dengan hak akses ke database tertentu. Instalasi MySQL di luar cakupan artikel ini. Untuk membuat database dan user, Anda dapat menggunakan phpmyadmin atau menggunakan shell MySQL secara langsung. Contoh ini akan melakukannya dengan shell MySQL. Bagi yang tidak menyenangi penggunaan Command Line Interface, Anda dapat menggunakan phpmyadmin.
64
INFOLINUX DESEMBER 2003
Persiapan MySQL
Shell MySQL
www.infolinux.web.id
shell MySQL, maka kita siap untuk bereksperimen lebih lanjut. Berikutnya, kita akan membuat tabel sederhana dengan dua field, nama dan hobi, masing-masing bertipe varchar dengan batas 100 dan 200 karakter. Tabel tersebut akan kita namai A. Setelah itu, kita akan memasukkan satu buah record ke dalam tabel tersebut. mysql> create table A(nama varchar(100), hobi varchar(200)); Query OK, 0 rows affected (0.01 sec) mysql> desc A; + ––––– + –––––––––– + –––– +––––– + ––––– + –––––––––– + | Field | Type | Null | Key | Default | Extra | + ––––– + –––––––––– + –––– +––––– + ––––– + –––––––––– + | nama | varchar(100) | YES | | NULL | | | | hobi | varchar(200) | YES | | NULL | | + ––––– + –––––––––– + –––– +–––––
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
PHPMyAdmin, lebih mudah digunakan
+ ––––– + –––––––––– + 2 rows in set (0.00 sec) mysql> insert into A(nama,hobi) values(‘nop’,’terbang’); Query OK, 1 row affected (0.05 sec) mysql> select * from A; +–––––+ ––––––– + | nama | hobi | +–––––+ ––––––– + | nop | terbang | + –––––+ ––––––– + 1 row in set (0.03 sec) Baiklah. Database server siap. Kita akan berurusan dengan Python.
Persiapan Python Karena modul untuk bekerja dengan MySQL tidak datang bersama distribusi resmi python, maka umumnya Anda harus melakukan instalasi secara manual. Cobalah jalankan modus interaktif python, dan berikanlah perintah berikut ini: >>> import MySQLdb Traceback (most recent call last): File “<stdin>”, line 1, in ? ImportError: No module named MySQLdb Apabila Anda mendapatkan tampilan tersebut, maka modul untuk bekerja dengan MySQL belumlah terinstall. Apabila Anda menggunakan distro Debian atau turunannya, berikanlah perintah berikut ini untuk melakukan instalasi: apt-get install python-mysqldb
Python dan MySQL
Pembuatan tabel dengan PHPMyAdmin
Untuk distro lain, carilah terlebih dahulu paket untuk distro Anda. Apabila tidak tersedia, carilah terlebih dahulu paket yang dibuat oleh pihak ketiga. Apabila tidak tersedia pula, cobalah ke website http:// sourceforge.net/projects/mysql-python. Apabila Anda terpaksa harus melakukan kompilasi dari source, perhatikanlah hal-hal berikut ini: Anda harus memiliki Python 1.5.2 atau lebih baru. Anda harus memiliki distutil 1.0.2 atau lebih baru. Distutil pertama kali datang bersama Python 1.6. Versi 1.0.2 datang bersama Python 2.1. Anda harus memiliki MySQL 3.22.19 atau lebih baru. Anda harus memiliki pustaka zlib Dan tentunya, sebuah kompiler. Jangan lupa untuk membaca file setup.py Setelah terinstall, maka secara default, Anda akan mendapatkan tampilan berikut ini apabila method dir() dipanggil dengan parameter berupa objek MySQLdb. >>> import MySQLdb >>> dir(MySQLdb) [‘BINARY’, ‘Binary’, ‘Connect’, ‘Connec tion’, ‘DATE’, ‘DBAPISet’, ‘DataError’, ‘DatabaseError’, ‘Date’, ‘DateFromTicks’, ‘Error’, ‘FIELD_TYPE’, ‘IntegrityError’, ‘InterfaceError’, ‘InternalError’, ‘MySQLError’, ‘NULL’, ‘NUMBER’, ‘NotSupportedError’, ‘OperationalError’, ‘ProgrammingError’, ‘ROWID’, ‘STRING’, ‘Set’, ‘TIME’, ‘TIMESTAMP’, ‘Time’,
www.infolinux.web.id
‘TimeFromTicks’, ‘Timestamp’, ‘TimestampFromTicks’, ‘Warning’, ‘__all__’, ‘__author__’, ‘__builtins__’, ‘__doc__’, ‘__file__’, ‘__name__’, ‘__path__’, ‘__revision__’, ‘__version__’, ‘_mysql’, ‘apilevel’, ‘connect’, ‘connec tion’, ‘constants’, ‘debug’, ‘escape’, ‘escape_dict’, ‘escape_sequence’, ‘escape_string’, ‘get_client_info’, ‘paramstyle’, ‘result’, ‘sets’, ‘string_literal’, ‘thread_safe’, ‘threadsafety’, ‘times’, ‘version_info’] >>> Semua persiapan telah selesai dilakukan. Kita siap untuk melanjutkan ke bagian berikutnya.
Python + MySQL Pertama-tama, kita perlu melakukan koneksi dan otentikasi terlebih dahulu sebelum query dapat dilakukan. Berikut ini adalah contoh kode program untuk melakukannya: import MySQLdb as M def main(): try: db = M.connect(host= ”localhost”, user=”tes”, passwd=”tes”, db=”tes” ) print db except: print “ada kesalahan”
INFOLINUX DESEMBER 2003
65
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
Koneksi ke MySQL berhasil dilakukan
if __name__ == ‘__main__’: main() Pertama-tama, karena nama modul MySQLdb terlalu panjang, maka kita membuat alias M agar mempersingkat penulisan. Dalam blok try/except, kita mencoba memanggil method connect() agar koneksi dan otentikasi dilakukan. Parameter yang diberikan adalah parameter dalam bentuk keyword sehingga letak parameter bebas. Apabila koneksi dan otentikasi berhasil, maka kita akan menampilkan objek koneksi database kita. Sebaliknya, tampilkan pesan kesalahan. Isilah tabel A dengan record tertentu. Contoh program berikut ini akan menampilkan semua record dari tabel A: import MySQLdb as M def main(): try: db = M.connect(host= ”localhost”, user=”tes”, passwd=”tes”, db=”tes” ) c = db.cursor() c.execute (“select * from A”); all = c.fetchall() print “jumlah record: %i” %db.affected_rows() for i in all: print “nama : %s, hobi:
66
INFOLINUX DESEMBER 2003
Python dan MySQL
Menampilkan isi tabel
%s” %(i[0],i[1]) c.close() db.commit() db.close() except: print “ada kegagalan” if __name__ == ‘__main__’: main() Berikut ini adalah contoh keluarannya: $ python query.py jumlah record: 1 nama : nop, hobi: terbang Setelah kita melakukan koneksi, maka kita akan membuat cursor secara eksplisit. Kemudian, kita panggil method execute() milik objek cursor dengan parameter berupa sintaks SQL. Apabila query berhasil dijalankan, kita akan mengambil semua hasilnya dengan memanggil method fetchall(). Untuk mendapatkan nilai affected rows, kita memanggil method affected_rows() milik objek koneksi database. Setelah kita menampilkan semua isinya, kita akan menutup cursor dan sekaligus menutup objek koneksi database. Method commit() sebaiknya dipanggil secara ekspsit seperti pada contoh. Baiklah. Bagaimana dengan cara untuk memasukkan record baru? Perhatikanlah contoh berikut: import MySQLdb as M
www.infolinux.web.id
def main(): try: db = M.connect(host= ”localhost”, user=”tes”, passwd=”tes”, db=”tes” ) c = db.cursor() c.execute (“””insert into A(nama, hobi) values (%s,%s)”””, (“nop2”,”makan”) ); c.close() db.commit() db.close() except: print “ada kegagalan” if __name__ == ‘__main__’: main() Satu hal yang harus diperhatikan adalah penggantian format %s dalam tuple karena menuruti standar spesifikasi DB API. Bagaimana menurut Anda? Bukanlah kita dapat dengan mudah melakukan koneksi ke MySQL dengan Python? Begitupun kalau Anda bekerja dengan Zope. Pembuat MySQLdb, Andy Dustman, juga mengimplementasikan ZMySQLDA sehingga Anda dapat pula menggunakan MySQL di lingkungan kerja Zope. Selamat mencoba! Noprianto (
[email protected])
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
TUTORIAL
IKLAN
www.infolinux.web.id
INFOLINUX DESEMBER 2003
67
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
Konsistensi Input pada Calc
Konsistensi Input pada Calc yang sangat berguna. Pada Calc, apabila Anda telah mengetikkan kata-kata tertentu dalam satu kolom, maka ketika Anda mengetikkan huruf yang bersesuaian dengan kata-kata tersebut, Anda tidak perlu mengetikkan berkali-kali kata yang sama. Gunakan saja fasilitas AutoComplete-nya, atau yang lebih dikenal dengan istilah AutoInput. Fasilitas ini setidaknya dapat mengurangi kesalahan akibat kecapaian mengetikkan kode barang yang sama berkali-kali. Secara default, fasilitas AutoInput diaktifkan oleh OpenOffice. Untuk menonaktifkan fasilitas ini, hilangkanlah tanda check pada Tools|Cell Contents| AutoInput. Selain itu, secara default, Calc pun melengkapi dirinya dengan kemampuan untuk mengganti kata-kata tertentu yang dianggap salah ketik. Anda bisa menambahkan definisi kata baru sendiri, sehingga kesalahan bisa lebih diminimasi. Fitur ini umumnya disebut sebagai AutoCorrect. Untuk mengatur AutoCorrect, pilihlah menu Tools AutoCorrect. Di sini, kita dapat mengatur bagaimana Calc diatur untuk memperbaiki kesalahan yang kita ketik, ataupun bagaimana Calc diatur untuk membantu kita agar pengetikan dapat dilakukan dengan mudah dan cepat. Apakah Anda memperhatikan bahwa Anda dapat membuat OpenOffce secara
otomatis memformat teks yang diapit tanda * menjadi lebih tebal?
B
ayangkanlah skenario berikut ini. Anda memiliki satu tabel yang digunakan oleh banyak aplikasi. Data di dalam tabel tersebut bertambah setiap harinya. Penambahan data, selain dilakukan secara otomatis, juga dilakukan secara manual, walaupun persentasi entri data manual jauh lebih kecil. Data yang dientri adalah kode barang, nama barang, jumlah, dan harganya. Kode barang Anda kebetulan cukup panjang dan tidak membentuk kata yang mudah diingat, sehingga untuk mengetikkannya berkali-kali sangatlah menyusahkan. Untuk melakukan copy dan paste juga tidak selalu memungkinkan karena tidak semua barang berada dalam kondisi terurut. Mau tidak mau, walau menyusahkan, kode barang diketikkan manual dan hati-hati. Akan tetapi, dalam kondisi tertentu, kesalahan dapat saja terjadi. Masih dalam skenario yang sama. Jumlah barang tentunya berupa bilangan. Akan tetapi, kesalahan dapat saja terjadi dan mengakibatkan jumlah barang Anda mengandung huruf. Kesalahan seperti ini sangatlah merepotkan. Kemudian, untuk memperparah keadaan, kita mengasumsikan field harga barang telah terformat rapi dan mengandung tulisan Rp, dan entri data dilakukan oleh petugas yang kebetulan tidak diberitahu bahwa tulisan Rp tersebut hanyalah format. Tulisan Rp pun dimasukkan secara manual. Hal tersebut berarti, data menjadi tidak konsisten. Untunglah, Calc menyediakan segala fasilitas agar semua kesalahan yang disebutkan sebelumnya dapat diminimalisasi, atau bahkan dicegah. Kita akan membahasnya satu per satu, langkah demi langkah.
Input yang konsisten adalah awal dari data yang konsisten. Sebaliknya, memasukkan data secara sembarangan akan berujung pada data yang kacau balau. Openoffice.org calc memberikan kita segala fasilitas yang dibutuhkan agar masukan data tetap konsisten.
Data Validity Anda dapat membuat Calc menjadi begitu cerewet sehingga hanya akan menerima input yang berupa bilangan. Bahkan untuk bilangan, Anda dapat memaksa Calc agar hanya menerima masukan bilangan yang lebih besar dari 10, namun lebih kecil dari 100. Bukan hanya itu, Anda bahkan dapat mengatur Calc agar hanya menerima teks dengan panjang minimal 10. Dan yang lebih luar biasa, Anda dapat membuat Calc agar hanya menerima masukan tanggal di antara range tanggal tertentu. Luar biasa, bukan? Fasilitas-fasilitas tersebut dibuat untuk kita, sebagai pengguna, agar dapat meminimalisasi segala kesalahan yang mungkin terjadi. Untuk memulai, bloklah daerah yang Anda inginkan untuk diatur kriteria masukkannya. Setelah itu, pilihlah menu Data| Validity. Sebuah dialog yang terdiri dari tiga bagian akan ditampilkan untuk Anda. Bagian pertama, Criteria, adalah tempat segala kriteria dimasukkan. Secara default, field Allow menerima All values. Kliklah pada combobox yang tersedia untuk memilih kriteria Anda. Sebagai contoh, kita akan membuat agar masukkan yang diterima adalah hanya berupa bilangan. Maka, kita perlu memilih Whole Numbers dari combo-
AutoComplete OpenOffice.org melengkapi dirinya dengan fasilitas AutoComplete. Ini adalah fasilitas
68
INFOLINUX DESEMBER 2003
Dialog AutoCorrect
www.infolinux.web.id
Dialog Data Validity
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
box. Apabila kita mengizinkan user untuk memasukkan karakter kosong seperti spasi, maka aktifkanlah check pada Allow blanks. Ingin menambahkan kriteria lain? Misalnya, bilangan antara 1 sampai 10? Kalau begitu, pada field data, pilihlah between. Kemudian, Anda dapat memasukkan 1 untuk field Minimum dan 10 untuk field Maximum. Sudah selesai? Belum. Apabila Anda menekan tombol OK dan mengetikkan sesuatu di luar kriteria yang telah kita tentukan, maka Calc akan melakukan protes secara diam-diam. Untuk itu, berpindahlah ke bagian Error Alert dan aktifkan check pada Show error message when invalid values are entered. Kliklah tanda OK, dan Calc Anda akan menjadi lebih cerewet dari sebelumnya.
Pesan kesalahan
Apa yang akan terjadi apabila Anda memasukkan sesuatu yang di luar kriteria sekarang? Calc akan menampilkan sebuah dialog kecil berjudul OpenOffce.org Calc dan bertuliskan Invalid value. Apabila
Petunjuk input beraksi
tombol OK pada dialog tersebut diklik, maka sesuatu yang Anda masukkan tersebut akan dihapus kembali. Sampai di sini, tugas kita untuk mencegah data yang tidak benar agar tidak dimasukkan telah selesai. Akan tetapi, rasarasanya hal tersebut masih kurang personal. Seharusnya, kita dapat membuat pesan kesalahan yang lebih personal. Untuk itu, blok kembali daerah Anda, dan pilih kembali Data|Validity. Berpindahlah ke bagian Error Alert. Pada bagian contents, isikanlah judul dialog yang Anda inginkan pada bagian Title, dan tuliskanlah segala yang Anda inginkan pada bagian Error message. Percayalah, Anda memiliki Calc yang jauh lebih cerewet sekarang.
Petunjuk input Baiklah. Segala hal yang diinginkan telah didapatkan. Nilai di luar kriteria tidak mungkin dimasukkan ke dalam daerah tertentu kita. Dan pesan kesalahan yang sesuai keinginan pun telah kita miliki. Namun, tegakah Anda apabila seseorang yang masih baru dengan Calc
Membuat pesan kesalahan sendiri
Memasukkan kriteria untuk Data Validity
Konsistensi Input pada Calc
Membuat petunjuk input
harus mendapatkan pesan kesalahan terus menerus hanya karena tidak tahu nilai seperti apa yang harus dimasukkan? Tentu tidak. Blok kembali daerah Anda, dan pilih kembali Data|Validity. Tujulah bagian Input Help. Aktifkan check pada bagian show input help when cell is selected. Kemudian, pada bagian contents, masukkanlah judul dan petunjuk input yang Anda inginkan. Klik OK untuk mengakhiri dialog. Sekarang, setiap kali cell pada daerah Anda aktif, maka sebuah pesan akan ditampilkan. Luar biasa bukan, fasilitas AutoComplete dan Data Validity Calc? Sebenarnya, OpenOffice.org siap untuk membantu Anda lebih jauh lagi. Karena OpenOffice.org adalah aplikasi office pilihan untuk Linux (dan mungkin pula untuk Windows). Lambat? Tidak. Penulis, dengan komputer yang cukup ketinggalan untuk saat ini, dapat menjalankan membuka Calc dalam hitungan 2 atau 3 detik. Gunakan Openoffice.org Quick Starter! Noprianto (
[email protected])
Pesan kesalahan
www.infolinux.web.id
INFOLINUX DESEMBER 2003
69
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
Microsoft Access di OpenOffice.org
Menghadirkan Microsoft Access di OpenOffice.org OpenOffice.org bukan hanya sekadar aplikasi office. OpenOffice.org adalah teknologi. Dengan beberapa trik, kita dapat menghadirkan Microsoft Access di OpenOffice.org.
70
Koneksi untuk dBase
INFOLINUX DESEMBER 2003
sebagainya tersedia. Dengan demikian, praktis pengguna Word, Excel, dan PowerPoint dapat dengan senang hati berlabuh di OpenOffice.org, asalkan ada kemauan dan usaha belajar. Bagaimana dengan pengguna Access? Menurut survai, pengguna Access hampir sama banyaknya dengan pengguna Excel. Dan hal tersebut membuat proses transisi ke Openoffice.org menjadi terlihat lebih sulit. Sebuah pertanyaan sederhana: kalau para developer mampu membuat program secanggih OpenOffice.org, bagaimana mungkin mereka tidak mampu menambahkan kemampuan seperti halnya Microsoft Access? Bagaimana mungkin OpenOffice.org dapat menyaingi Microsoft Office kalau tidak menyertakan juga aplikasi yang kompatibel dengan Microsoft Access? Harus diakui pula, banyak perusahaan yang menyimpan dan mengelola semua data, termasuk data rahasia di dalam database Access. Berbagai form dan reporting pun telah dibuat dengan mengandalkan kemampuan Microsoft Office. Baiklah. Perpindahan Word ke
K
ombinasi Word, Excel, dan Access telah menjadikan Microsoft Office meroket ke luar angkasa. Bayangkan saja hasil penjualan office suite berharga ratusan dollar tersebut apabila jutaan orang di dunia ini membelinya. Harus diakui, Microsoft Corporation adalah perusahaan software besar yang sungguh luar biasa. Mereka dapat mengerti kebutuhan bisnis mulai dari yang sederhana sampai yang kompleks. Di sisi lain, kalau tidak ada StarOffice dan openoffice.org, pengguna Linux hanya bisa gigit jari dengan segala kemudahan dan kemampuan integrasi antarkomponen Microsoft Office. Hampir segala paket office yang ada di Linux masih merupakan embrio untuk dapat menandingi kemampuan Microsoft Office. Untunglah, Sun kemudian menyumbangkan StarOffice yang kemudian bercabang menjadi OpenOffice.org. Dengan OpenOffice.org, hampir semua kebutuhan seperti pengolah kata, spreadsheet, aplikasi presentasi, aplikasi pembuat halaman web, aplikasi pembuat formula matematis, dan lain
Writer dan Excel ke Calc masih bisa diteloransi. Tapi kalau sampai harus mengorbankan data yang telah dibuat bertahun-tahun, maka lebih baik membayar dan menggunakan Microsoft Office. Pendapat tersebut tentunya harus dihargai dan dipandang dari sisi perusahaan. Sebenarnya, OpenOffice.org telah melengkapi dirinya dengan segala sesuatu yang diperlukan untuk menjadi Access. Bahkan dalam beberapa hal melebihi kemampuan Access. Anda tidak harus menyimpan ke dalam database sederhana seperti file MDB Microsoft Access. Anda bahkan bisa menyimpan ke database server canggih seperti MySQL, PostgreSQL ataupun Oracle. Sayangnya, OpenOffice.org tidak secara eksplisit menyertakan aplikasi yang kompatibel dengan Microsoft Access. Sisi kelemahan ini bisa menjadi hambatan untuk menggunakan OpenOffice.org. Bagi programer atau administrator sistem, tutorial ini tentu saja dapat digunakan untuk menghadirkan fasilitas serupa Access di OpenOffice.org.
Membuat tabel baru untuk format dBase
www.infolinux.web.id
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
Tampilan query untuk dBase
Namun, untuk pengguna komputer pada umumnya, tutorial ini bisa menjadi senjata makan tuan, karena sepertinya menggunakan paket Office di Linux pun sedemikian susah. Dan tentunya jumlah pengguna komputer pada umumnya lebih banyak daripada jumlah administrator sistem dan jumlah programer. Internal OpenOffice.org adalah sesuatu yang sangat luar biasa. Anda hampir mendapatkan segala yang Anda butuhkan untuk bekerja dengan aplikasi kantoran. Kalau hanya untuk menghadirkan aplikasi Microsoft Access, OpenOffice.org jelas mampu. Kita akan melihat beberapa trik untuk menghadirkan Microsoft Access ke dalam OpenOffice.org. Untuk database, kita akan menyimpannya ke dalam format dBase (yang barangkali penuh dengan kenangan indah) dan ke dalam database server MySQL! Semuanya dapat Anda lakukan tanpa memberikan satu pun perintah SQL! Bayangkan kemampuan OpenOffice.org! Untuk pembahasan, kita akan membahas secara terpisah. Dengan demikian, bagi Anda yang hanya ingin mencoba dan puas bekerja dengan format dBase, Anda tidak perlu membaca bagian untuk bekerja dengan MySQL.
Bekerja dengan file dBase Format dBase harus diakui masih sangat umum digunakan. Bahasa pemrograman seperti Foxpro untuk DOS datang dengan interface yang sangat bagus untuk bekerja dengan format DBF. Namun, Foxpro
Microsoft Access di OpenOffice.org
Program ODBCConfig
tetaplah Foxpro. Anda tidak akan mendapatkan tampilan yang sangat indah seperti halnya Microsoft Access. Sebaliknya, dengan OpenOffice.org, Anda dapat bekerja dengan format DBF dalam interface seindah Microsoft Access. Dan apa yang Anda butuhkan hanyalah instalasi OpenOffice.org dan file DBF itu sendiri. Tidak perlu macam-macam. Anda bahkan dapat mencobanya di Windows! Siapkan segera file dBase Anda. Bila Anda belum memilikinya, maka kita akan membuatnya dengan OpenOffice.org. Bukalah OpenOffice.org writer misalnya. Kemudian, pilihlah menu Tools|Data Sources. Sebuah dialog akan terbuka untuk Anda. Kliklah tombol New Data Source pada bagian kiri dan ubahlah namanya menjadi testdbf. Lihatlah bagian kanan dialog Anda di tab General. Pada bagian Connection, pilihlah dBase sebagai Database type. Kemudian, untuk data source URL, arahkanlah ke direktori yang menyimpan file-file dBase. Di direktori ini pulalah, OpenOffice.org akan menyimpan semua tabel yang Anda buat. Pada tab dBase, Anda masih dapat mengatur beberapa hal seperti halnya penampilan record yang tidak aktif dan penggunaan penamaan SQL92. Umumnya, opsi-opsi pada tab ini tidak perlu disentuh sama sekali, kecuali Anda menginginkan lain. Menjumpai pesan kesalahan sampai saat ini? Kalau tidak, Access akan semakin dekat ke hadapan kita.
www.infolinux.web.id
Membuat tabel baru Asumsikan Anda belum memiliki satu tabel pun. Anda tidak memiliki satu file DBF pun. Kita akan membuatnya dengan OpenOffice.org. Kita akan memberikan nama Table1 untuk tabel tersebut. Berikut ini adalah rancangan tabelnya: Nama Tipe Keterangan field data lain Nomor
Decimal
Nama
Panjang: 10 Decimal places: 0 Text [ varchar ] Panjang: 100
Alamat
Text [ varchar ] Panjang: 200
Bukalah tab Tables. Apabila Anda belum memiliki tabel, maka apa yang terlihat hanyalah tulisan All tables. Kliklah tombol paling kiri di bawah tulisan Tables and table filters. Anda akan dibawa ke satu dialog, persis seperti yang Anda lihat pada Microsoft Access ketika ingin membuat tabel baru. Masukkan field-field sesuai rancangan database kita, dan kliklah tombol berlogo disket ketika Anda selesai. Anda baru saja membuat sebuah tabel baru dengan nama Tabel1. Lihatlah ke direktori penyimpanan dBase Anda tadi. Anda akan mendapatkan file baru dengan nama Table1.dbf. Apakah Anda mendapatkan kemudahan Microsoft Access di sini?
Mengedit tabel Apabila rancangan tabel atau keterangan field dirasa tidak benar dan perbaikan akan dilakukan, maka, masih dalam tab Tables, kliklah tombol di sebelah kanan tombol yang Anda klik untuk membuat tabel baru
INFOLINUX DESEMBER 2003
71
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
Mendaftarkan driver MySQL
sebelumnya. Anda akan dibawa ke dialog yang sama. Perbaikan pun dapat dilakukan di sini.
Bekerja dengan query Untuk menambahkan atau menghapus record, kita akan bekerja dengan bantuan query. Pindahlah ke tab Queries. Anda akan menjumpai enam tombol di bawah tulisan Queries. Apabila Anda belum memiliki satu query pun, maka tombol yang aktif hanyalah tombol pertama dan kedua. Kedua tombol tersebut memiliki tujuan yang sama, namun caranya berbeda. Apabila Anda lebih suka untuk bekerja dengan perintah SQL, maka tombol kedua barangkali lebih menarik bagi Anda. Namun, apabila Anda ingin mendapatkan segala kemudahan Access, kliklah tombol pertama. Sebuah dialog yang hampir sama persis dengan dialog Query pada Access akan ditampilkan untuk Anda. Tambahkan tabel di mana Anda ingin bekerja. Untuk menambahkan atau menghapus record, aturlah agar semua field visible pada bagian bawah dialog tersebut. Setelah selesai, kliklah pada tombol paling kiri yang terletak di bawah menu File pada dialog tersebut. Anda akan menjumpai tempat untuk bekerja dengan dialog di bagian atas. Sama persis seperti milik Microsoft Access. Anda dapat menambahkan atau menghapus record di sini. Setelah semua perubahan dilakukan, Anda dapat menutup dialognya dengan mengklik pada tombol paling kanan yang terletak di kanan bawah menu Help. Anda
72
Microsoft Access di OpenOffice.org
INFOLINUX DESEMBER 2003
Membuat user DSN baru
juga dapat menyimpan query tersebut dengan mengklik pada tombol disket. Tutuplah dialog untuk kembali ke tab Queries. Query yang Anda simpan kini terdaftar. Untuk mengedit kembali suatu query, Anda bisa klik pada tombol ketiga yang berlogokan pensil di atas kertas. Dengan query, Anda juga dapat melakukan penyaringan data. Tabel yang digunakan pun tidak harus satu. Dalam kondisi tertentu, barangkali Anda perlu untuk menampilkan gabungan data dari beberapa tabel. Query akan sangat membantu Anda dalam bekerja dengan data. Tanpa fasilitas query ini, Anda mungkin harus bekerja dengan perintah SQL. Selesai sudah urusan kita dengan file dBase.
Bekerja dengan MySQL Bekerja dengan MySQL tidak akan sesederhana bekerja dengan format dBase. Kita akan menggunakan UnixODBC sebagai bantuan. Banyak kebutuhan yang harus dipenuhi terlebih dahulu di sini.
Pengaturan ODBC Pertama-tama, siapkanlah unixodbc Anda. Setelah itu, Anda juga membutuhkan unixodbc-bin, program berbasis QT yang dapat kita gunakan untuk mengatur ODBC. Kemudian, karena kita ingin bekerja dengan MySQL, kita juga membutuhkan libmyodbc. Unixodbc dan unixodbc-bin bisa Anda download di http://www.unixodbc.org. Libmyodbc bisa Anda download di http://
www.infolinux.web.id
www.mysql.com. Sebelum melakukan kompilasi, carilah terlebih dahulu paket untuk distro Anda. Unixodbc-bin membutuhkan QT. Apabila pustaka QT telah terinstal di sistem Anda, maka proses instalasi tidak akan terlalu rumit. Apabila Anda menggunakan Debian, maka instalasi dapat dilakukan lebih mudah lagi. Cukup berikan saja perintah berikut ini: apt-get install unixodbc unixodbc-bin libmyodbc Setelah semuanya terinstal di sistem Anda, loginlah sebagai root, dan jalankanlah perintah berikut ini: ODBCConfig Sebuah window akan terbuka. Interfacenya hampir sama persis dengan pengaturan ODBC di Windows. Pindahlah ke tab Driver. Dan kliklah tombol Add. Sebuah window akan terbuka untuk Anda. Isikanlah Name dan Description sesuka Anda. MySQL adalah contoh yang baik. Untuk Driver, umumnya pustaka diletakkan di dalam /usr/lib/odbc. Untuk driver MySQL, carilah nama file dengan nama libmyodbc.so. Untuk Setup MySQL, carilah setup routine berupa pustaka dengan nama file libodbcmyS.so. Kliklah tombol check untuk kembali ke tab Driver. Kini Anda memiliki driver untuk MySQL. Tutuplah aplikasi ODBCConfig tersebut, dan login-lah kembali dengan user biasa. Jalankan kembali program ODBCConfig. Aktiflah pada tab User DSN.
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
Microsoft Access di OpenOffice.org
Kita akan menambahkan DSN untuk user biasa. Segala perubahan akan disimpan di dalam home directory sehingga kita tidak membutuhkan hak administrator sistem. Kliklah tombol Add. Sebuah dialog akan terbuka untuk Anda. Pilihlah MySQL dari daftar dan kliklah tombol OK. Sebuah dialog akan terbuka lagi. Di dialog ini, Anda akan memasukkan nama DSN, server, dan database. Sebagai contoh, penulis memasukkan nama nop1 ke dalam Name, localhost ke dalam Server, dan testnop ke dalam Database. Kini kita memiliki DSN baru. Klik tombol OK untuk keluar dari aplikasi. Pengaturan ODBC selesai, dan kita siap untuk melanjutkan ke OpenOffice.org. Sebagai catatan, Anda perlu membuat database terlebih dahulu apabila belum memiliki database. Tool seperti PHPMyAdmin akan sangat membantu.
Kembali ke OpenOffice.org Pilihlah menu Tools|Data Sources. Sebuah dialog akan terbuka untuk Anda. Buatlah data source baru dengan nama testmysql. Pada tab General, pilihlah MySQL untuk Database type. Selanjutnya, aktiflah pada tab MySQL. Di sinilah segala pengaturan akan kita lakukan. Apabila kita berhasil menyelesaikan segala pengaturan di tab ini, maka langkah berikutnya akan sangat mudah. Untuk Type of connection, pilihlah Use existing MyODBC data source. Pada bagian bawah, untuk memilih Data source URL, kliklah pada tombol browse di sebelah kanan. Sebuah dialog akan terbuka dan menampilkan DSN yang Anda miliki. Pilihlah DSN yang Anda inginkan. Apabila terjadi kegagalan di langkah ini, atau tidak ada DSN yang terdaftar, maka lakukan kembali pengaturan DSN dengan program ODBCConfig. Untuk User name, masukkanlah user name pada MySQL Anda. Apabila password diperlukan, maka aktifkanlah opsi Password required. Klik tombol Apply untuk mengaplikasikan perubahan. Pindahlah ke tab Tables. Sebuah dialog otentikasi akan terbuka untuk Anda. Masukkan password untuk user name yang telah Anda tentukan. Apabila berhasil,
maka semua tabel dalam database yang telah Anda spesifikasikan di dalam DSN akan ditampilkan. Apabila otentikasi gagal, periksalah pasangan user name dan password Anda. Jangan lupa untuk menguji apakah server MySQL telah dijalankan atau tidak. Pengaturan kembali DSN dengan ODBCConfig mungkin diperlukan.
Untuk menjadikan sebuah field primary key, klik kananlah pada keseluruhan field dan aktifkanlah Primary key pada pop-up yang muncul. Sebuah logo kunci akan menandai primary key. Kliklah tombol berlogo disket untuk menyimpan tabel. Penyimpanan akan langsung dilakukan pada database server.
Mengedit tabel Membuat tabel baru Kita akan membuat tabel baru. Kliklah tombol paling kiri di bawah tulisan Tables and table filters. Sebuah dialog akan terbuka untuk Anda. Interface-nya hampir sama persis dengan interface visual table design pada Access. Kita akan membuat tabel dengan nama Table1. Berikut ini adalah rancangan tabelnya: Nama Tipe Keterangan field data lain Nomor Integer [ integer ] Panjang: 10
Nama
Text [ varchar ]
Alamat Text [ varchar ]
Entry required: Yes Primary Key Panjang: 100 Panjang: 200
Apabila rancangan tabel atau keterangan field dirasa tidak benar dan perbaikan akan dilakukan, maka, masih dalam tab Tables, kliklah tombol di sebelah kanan tombol yang Anda klik untuk membuat tabel baru sebelumnya. Anda akan dibawa ke dialog yang sama.
Bekerja dengan query Untuk menambah atau menghapus record, kita akan bekerja dengan bantuan query. Pindahlah ke tab Queries. Anda akan menjumpai enam tombol di bawah tulisan Queries. Apabila belum memiliki satu query pun, maka tombol yang aktif hanyalah tombol pertama dan kedua. Kliklah pada tombol pertama untuk membuat dialog query.
IKLAN
www.infolinux.web.id
INFOLINUX DESEMBER 2003
73
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
Microsoft Access di OpenOffice.org
Memilih data source di OpenOffice.org
Pilihlah tabel yang Anda inginkan untuk bekerja dengan query. Untuk menambahkan atau menghapus record, aktifkanlah semua field. Kemudian, kliklah pada tombol paling kiri yang terletak di bawah menu File. Di dalam dialog yang terbuka, Anda dapat menambahkan atau menghapus record. Semua dapat dilakukan tanpa satu perintah SQL pun. Kliklah tombol ketiga (berlogo disket) dari kanan di bawah menu Help untuk menyimpan perubahan. Apabila semua perubahan telah dilakukan, kliklah tombol paling kanan. Simpanlah query Anda. Anda mungkin akan membuat beberapa query dengan fungsi masing-masing. Penyaringan data dapat dilakukan sangat mudah dengan bantuan query. Sampai di sini, Anda telah mendapatkan kemudahan Microsoft Access di OpenOffice.org, sekaligus dengan kemampuan menyimpan data di dalam MySQL.
Membuat tabel baru untuk MySQL
memberikan menu untuk mengakses semua fasilitas tersebut. Yang tersedia hanyalah menu Tools|Data Sources. Rasarasanya hal tersebut masih kurang seru. Sekarang, bagaimana kalau kita mengganti nama menu tersebut menjadi nama yang lebih mirip dengan Microsoft Access? Kita akan menggantinya menjadi Access, atau nama lain sesuai keinginan Anda. Bukalah dialog Tools|Configure. Pada bagian menu entries, carilah Data Sources. Aktiflah pada menu item tersebut, dan tekanlah tombol F2. Gantilah namanya menjadi Access, atau nama lain sesuai keinginan Anda. Dengan penggunaan Macro atau OpenOffice.org BASIC, kita bahkan bisa membuat form sendiri yang mungkin akan
Perintah SQL Apabila Anda seorang penikmat perintah SQL, maka rasanya semua hal tersebut kurang klop tanpa memberikan perintah SQL. OpenOffice.org mengerti keinginan Anda. Pada tab Queries, kliklah pada tombol kedua, dan Anda akan dibawa ke tempat untuk mengetikkan perintah SQL. Ketiklah perintah SQL dan kliklah tombol paling kiri di bawah menu File untuk mengeksekusi perintah tersebut.
Sayang sekali OpenOffice.org tidak
74
INFOLINUX DESEMBER 2003
Mengganti nama menu data sources Lebih fleksibel dengan perintah SQL
www.infolinux.web.id
berfungsi sama seperti halnya menu pada Microsoft Access. Dengan mempelajari dan kemudian mendalami OpenOffice.org BASIC, Anda dapat membuat berbagai fasilitas tambahan ataupun berbagai otomatisasi, melengkapi kehebatan OpenOffice.org. Kita sampai pada akhir tulisan. Bagaimana pendapat Anda tentang OpenOffice.org? Luar biasa, bukan? Bandingkan kemampuan yang diberikan dengan harga yang harus dibayar. Tidak perlu ada biaya sepeser pun yang harus Anda bayarkan. OpenOffice.org secara umum menang untuk hampir setiap field dibandingkan dengan Microsoft Office. Mari turut populerkan OpenOffice.org! Noprianto (
[email protected])
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
Driver ALSA untuk Sound Card AC’97
Instalasi Driver ALSA untuk Sound Card AC’97 Salah satu problem umum saat instalasi Linux adalah sound card AC’97 yang ‘membisu’. Penyebabnya antara lain driver sound card belum pas. Anda dapat mencoba tes dengan driver dari ALSA.
S
aat ini mayoritas motherboard, baik untuk processor Intel maupun AMD, menyediakan dukungan multimedia onboard. Mulai dari sound card, graphic card, atau internal modem. Sound card yang sangat umum ditemui menggunakan chip AC’97. Driver AC’97 sangat umum tersedia untuk Windows, tapi sangat sedikit distro yang menyertakan driver-nya. Penulis menyadari hal itu saat menginstalasikan distribusi Linux Red Hat 7.3 ke komputer milik pribadi. Kebetulan komputer ini menggunakan motherboard MSI yang memiliki sound card AC’97 onboard. Di Windows XP, instalasi untuk sound card ini berjalan lancar karena driver sudah disediakan di bundel CD. Permasalahan muncul saat penulis ingin Linux ‘menyanyikan’ koleksi MP3. Driver default yang disertakan distro Red Hat 7.3 (modul ac97xx) gagal mengaktifkan sound card ini walaupun deteksi Kudzu sukses mengenali adanya soundcard AC’97. Penulis mengira ini hanya masalah distribusi saja, maka penulis sempat coba dengan Mandrake 8.2. Dua-duanya sama saja hasilnya, sound card tetap ‘bisu’. Penulis sampai berpikir, “Masa harus beli soundcard PCI macam Soundblaster?” “Maunya ekonomis dengan Linux, kok jadi ribet?”. Untungnya penulis segera ingat ada project open source yang menyediakan dukungan sound card di luar driver-driver native kernel Linux (2.4.x). Nama lengkap project tersebut adalah Advanced Linux Sound Acrhitecture (ALSA). Alamat URL nya http://www.alsa-project.org. Secara umum, Anda yang ingin mendapatkan driver untuk sound card yang tidak didukung secara native oleh kernel Linux atau ingin mendapat kualitas suara yang
lebih baik, bisa mencoba men-download driver dan utility di URL tersebut. Ok, untuk tidak membuang waktu, kita langsung akan coba instalasi driver ALSA. Di sini penulis asumsikan Anda memakai distribusi Red Hat 7.3 atau yang lebih baru atau distribusi turunan Red Hat semisal Mandrake. Langkah-langkah ini bisa Anda modifikasi untuk distribusi lain. Pastikan juga Anda mengenali nama chipset sound card Anda. Karena disini dibahas mengenai AC’97, maka akan difokuskan pada chip tersebut. Pertama pastikan kernel Anda sudah ada opsi untuk dukungan sound card lewat external driver. Caranya coba lakukan perintah berikut: # insmod soundcore Apakah ada respons seperti ini? Using /lib/modules/2.4.18-3/kernel/drivers/ sound/soundcore.o Jika ya, artinya kernel sudah mendukung untuk memasukkan driver eksternal. Biasanya opsi ini default di beberapa distribusi (seperti Red Hat dan Mandrake) kecuali jika Anda meng-compile kernel sendiri dan men-disable opsi loadable modul serta disable opsi sound support. Jika belum ada, lakukan langkahlangkah sebagai berikut: 1. Instal source code kernel. Bisa Anda ambil dari CD Red Hat 7.3 # rpm -Uvh /path/to/redhat-cdrom/ kernel-source-2.4.18-3.i386.rpm 2. Pindah ke direktori source code kernel dan kompilasi dengan perintah sebagai berikut. # cd cd /usr/src/linux-2.4.18-3/ # make clean && make mrproper # make menuconfig
www.infolinux.web.id
Cari bagian “Loadable module support”, lalu cek pada pilihan: Enable loadable module support. Set version information on all module symbols. Kernel module loader. Kembali pada menu utama lalu, cari bagian “Sound” dan aktifkan opsi: Sound card suport. Untuk opsi ini saya sarankan pilih sebagai module (M), walau bisa juga sebagai built-in. 3. Opsi lain bisa Anda set sesuai kebutuhan, lalu kompilasi kernel (sebagai root): # make dep && make bzImage && make modules && make modules_install 4. Instal kernel yang sudah jadi ke linux loader (penulis menggunakan Lilo) Anda: # cd /usr/src/linux-2.4.18-3/arch/i386 # cp ./bzImage /boot/bzImage Tambahkan entry berikut ini ke dalam file /etc/lilo.conf: image=/boot/bzImage label=new-linux read-only root=/dev/hda2 Catatan: Label boleh menggunakan nama selain new-linux, root sesuaikan dengan partisi root filesystem Anda). 5. Aktifkan Lilo: # lilo 6. Reboot ulang, lalu pilih “new-linux” (atau nama yang tadi anda pilih).
INFOLINUX DESEMBER 2003
75
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
Gambar 1. ALSA Configurator
Gambar 2. ALSA menemukan
Gambar 3. ALSA mengedit file modules.conf
Driver ALSA untuk Sound Card AC’97
Gambar 4. Mengaktifkan driver ALSA
Untuk memulai, Anda harus mendownload tiga paket, yaitu alsa-driver, alsalib, dan alsa-utils. Penulis menggunakan versi 0.9.6 untuk tiap paket tersebut dan sangat disarankan menggunakan versi yang sama untuk tiap paket, untuk menghindari masalah akibat ketidak-kompatibelan. Filefile tersebut bisa diambil dari section Download pada URL ALSA. Ambil yang berformat tar.bz2 karena ukurannya paling kecil. Setelah download selesai, taruh filefile misal di direktori /usr/src lalu ekstrak dengan perintah sebagai berikut. # bunzip alsa-driver-0.9.6.tar.bz2 && tar xvf alsa-driver-0.9.6.tar # bunzip alsa-lib-0.9.6.tar.bz2 && tar xvf alsa-lib-0.9.6.tar # bunzip alsa-utils-0.9.6.tar.bz2 && tar xvf alsa-utils-0.9.6.tar
Berikutnya Anda perlu membuat devicedevice yang dibutuhkan ALSA (di /dev). Ini yang menarik. Menurut file README driver ALSA, jika Anda sudah menggunakan DevFS maka sebenarnya tidak perlu menciptakan file-file device ini, karena kernel akan membuatnya sendiri secara otomatis. DevFS biasanya sudah dikompilasi sebagai default di beberapa distro baru (misal Red Hat 8.x, 9.x, Mandrake 8.x, 9.x). Namun, di distro Red Hat 7.3 entah kenapa tidak berjalan, maka untuk amannya jalankan script berikut ini. # cd /usr/src/alsa-driver-0.9.6 # ./snddevices
Dengan menjalankan tiga perintah di atas, akan didapat tiga direktori dengan nama sesuai nama file yang Anda ekstrak. Langkah selanjutnya adalah pindah ke direktori alsadriver dan melakukan kompilasi. # cd alsa-driver-0.9.6
Set permission file-file device yang baru dibuat agar bisa dibaca tulis oleh program yang dijalankan dengan uid non root. Contohnya, program mpg123 yang dijalankan oleh user biasa akan mengakses /dev/dsp.
76
INFOLINUX DESEMBER 2003
# ./configure —with-cards=via82xx – with-sequencer=yes # make && make install
www.infolinux.web.id
# chmod a+rw /dev/dsp /dev/mixer /dev/ sequencer /dev/midi Maksud perintah di atas adalah mengeset bit “read” dan “write” untuk semua bagian bit permission. Dengan demikian semua user bisa memakai device tersebut. Sekarang pindah ke direktori alsa-lib untuk kompilasi. # cd /usr/src/alsa-lib-0.9.6 # ./configure && make && make install Lalu pindah ke direktori alsa-utils untuk kompilasi # cd /usr/src/lsa-utils-0.9.6 # ./configure && make && make install Pada tahap ini, Anda sudah memiliki modul-modul sound siap pakai. Selanjutnya perlu memasukkan konfigurasi modul ALSA ke file /etc/modules.conf. Untungnya, sudah ada script yang memudahkan konfigurasi modul ALSA. Lakukan sebagai berikut: # cd /usr/src/alsa-driver-0.9.6/utils # chmod a+x ./alsaconf # ./alsaconf
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
Gambar 6. Mengatur Sound Mixer
Yang perlu diperhatikan, sekalipun driver sudah di-load, tapi suara tidak akan otomatis keluar. Ini disebabkan status awal dari semua channel dalam mixer adalah mute. Anda harus menjalankan dulu program mixer untuk mengubah status “mute” ini dan mengeset level volume yang dikehendaki. Untuk artikel ini, saya contohkan penggunaan Alsamixer yang merupakan hasil kompilasi alsa-utils. Dengan menjalankan perintah alsamixer akan tampil di layar seperti Gambar 6. # alsamixer Penggunaan program ini cukup mudah. Pertama, gunakan kursor panah kiri atau kanan untuk berpindah ke channel yang hendak Anda “unmute” atau ingin Anda set volumenya. Channel utama yang biasanya digunakan untuk output suara adalah channel “Master”. Highlight channel “master” lalu tekan tombol “M” di keyboard. Maka status “Off” akan hilang (perhatikan keterangan “Item” di baris atas). Masih tetap di channel Master, gunakan panah atas atau bawah untuk menaikkan atau menurunkan volume. Set di angka kurang lebih 70-an atau sesuai selera Anda. Contoh hasil akhir kurang lebih seperti Gambar 7. Untuk informasi cara penggunaan lebih lanjut dari alsamixer ini, ketik “man alsamixer” di konsole: # man alsamixer Jika sudah selesai setting yang Anda lakukan, tekan Esc dua kali secara cepat untuk keluar. Kini Anda bisa tes output suara sound card Anda, misalnya dengan memainkan file mp3 menggunakan XMMS
Akan muncul tampilan seperti Gambar 1 di konsole atau terminal Anda. Pilik “OK”, maka selanjutnya akan tampil daftar hasil probing sound card oleh script alsaconf seperti Gambar 2. Dalam hal ini, kita pilih via82xx untuk jenis sound card kita. Highlight ke via82xx dan pilih “OK”. Berikutnya tampil layar konfirmasi untuk penulisan konfigurasi di file /etc/modules.conf seperti Gambar 3, lalu pilih “Yes”. Jika tidak ada masalah, akan tampil di layar seperti Gambar 4. Gambar 4 memberikan informasi bahwa script alsaconf akan mencoba menjalankan modul yang baru saja di set di /etc/modules.conf. Kurang lebih akan tampil output seperti Gambar 5. Catatan: di komputer penulis, karena ALSA sudah terinstalasi sebelumnya, maka akan diberitahukan bahwa driver sudah di-load. Lihat hasil perubahan pada file /etc/ modules.conf. Jika proses probing tadi berjalan benar, akan ada tambahan sebagai berikut: # — BEGIN: Generated by ALSACONF, do not edit. —# — ALSACONF verion 0.9.0 —alias char-major-116 snd alias snd-card-0 snd-via82xx alias char-major-14 soundcore alias sound-slot-0 snd-card-0 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss options snd major=116 cards_limit=1 options snd-via82xx index=0 # — END: Generated by ALSACONF, do not edit. —-
Driver ALSA untuk Sound Card AC’97
Gambar 5. Soundcard siap digunakan
atau mpg123. Sekadar tambahan, pastikan /dev/dsp digunakan sebagai output. Sebagai langkah terakhir, Anda harus menyiapkan mekanisme loading and setup otomatis driver alsa setiap Linux di-reboot. Lagi-lagi, ALSA sudah menyiapkan script untuk ini. Anda tinggal melakukan perintah-perintah berikut. # cd /usr/src/alsa-driver-0.9.6/utils # cp ./alsasound /etc/rc.d/init.d (lakukan sbg root) # chmod 0111 /etc/rc.d/init.d/alsasound # chkconfig —add alsasound Agar aktif pada saat boot, pastikan sekali lagi script alsasound sudah berada pada run level 2, 3, 4 dan 5 dengan melihat hasil perintah berikut ini. # chkconfig —list alsasound Jika sudah ada konfirmasi di run level 3 atau 5 status on, maka driver ALSA dinyatakan diset untuk dimuat di runlevel tersebut. Kita cukup perhatikan 2 runlevel ini, karena run level 3 adalah run level default multi user di kebanyakan distro dan run level 5 untuk login grafis ke desktop X. Mulyadi Santosa (
[email protected])
Gambar 7. Hasil pengubahan volume mixer
www.infolinux.web.id
INFOLINUX DESEMBER 2003
77
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
SAP DB
SAP DB: Alternatif Free dan Open Source Database Oracle, PostgreSQL, MySQL merupakan database engine yang sudah tidak asing lagi terdengar di telinga kita. Bahkan mungkin sehari-hari Anda telah menggunakan database tersebut sebagai production database. Namun, pernahkan Anda mendengar SAP DB?
J
ika Anda termasuk yang baru saja mendengarnya, hal itu sangatlah wajar. Karena di samping SAP DB memang tidak terlalu populer di Internet, database ini juga kurang cocok untuk aplikasi kecil hingga menengah. Tetapi jika Anda termasuk yang mencari database yang scalable dan yang mendukung jumlah data yang sangat tinggi serta fitur-fitur yang sangat lengkap, maka SAP DB dapat menjadi pilihan Anda. Selain berlisensi GPL, database ini juga merupakan salah satu database yang beraliran open source. SAP AG (System, Applications, Products in Data Processing) adalah sebuah perusahaan ERP terbesar di dunia yang berbasis di Jerman. SAP R/3 merupakan produk andalan mereka yang memang sangat canggih dan memiliki kompleksitas tinggi. Aplikasi yang memiliki jumlah table lebih dari 8000 ini membuat banyak perusahaan mempercayakan Oracle sebagai database server-nya. Namun untuk menekan biaya total implementasi SAP R/3, SAP AG memutuskan untuk mengembangkan sendiri database-nya. Tentu saja mereka tidak memulainya dari awal, karena akan membutuhkan waktu yang sangat lama. SAP sendiri melisensi produk ADABAS yang juga dibuat oleh perusahaan Jerman. ADABAS sudah ada sejak tahun 1977 yang merupakan hasil dari sebuah riset di Universitas Berlin, di mana kode hasil riset tersebut dikomersialkan menjadi produk DDB/4 oleh Nixdorf Computer AG, yang pada akhirnya Nixdor dibeli oleh Siemens. Yang sangat menarik dari SAP DB adalah skalabilitas dan fitur-fiturnya yang lengkap. Database ini sangat direkomendasikan untuk menangani aplikasi yang sangat kompleks seperti SAP R/3, di mana fitur tersebut belum dimiliki oleh
78
INFOLINUX DESEMBER 2003
beberapa database yang berlisensi GPL dan open source lainnya. Fitus-fitur pada SAP DB dapat dilihat pada tabel 1. Dari fitur-fitur tersebut yang membuat penulis agak kagum adalah fitur Mode SQL Compatible, di mana fitur ini men-support sintaks pada database oracle dan IBM DB2. Artinya, banyak sintak sql yang berjalan di oracle juga akan berjalan baik di sapdb. Tujuan dari SAP sendiri adalah agar mempermudah dalam proses migrasi data dari oracle ke sapdb. Apakah ini bukan suatu fitur yang luar biasa? Proses instalasi database ini pun sangat mudah. Untuk mencobanya, silakan download paket SAP DB yang sesuai dengan sistem operasi yang Anda inginkan di situs www.sapdb.org. Sistem Operasi
Pada kesempatan kali ini, penulis akan menjabarkan proses installasi SAP DB pada sistem operasi Linux. Ikutilah langkahlangkah berikut ini: 1. Ekstraklah file master sapdb-all-linux32bit-i386-7_4_3_25.tgz #[root@dev_server root] tar –xvzf sapdb-all-linux-32bit-i386-7_4_3_25.tgz 2. Buatlah user group sapsys dan user sapdb #[root@dev_server root] groupadd sapsys #[root@dev_server root] useradd sapdb –g sapsys #[root@dev_server root] passwd sapdb 3. Buatlah folder/directory berikut ini:
Unix, Linux, Solaris, Windows, dan lain-lain
Object Oriented Lisensi Source Code
Ya GPL (General Public License) Open Source
Tipe Join Mendukung transaksi View
Inner dan Outer Ya Ya (dapat di-update)
Virtual View Trigger Store Procedure
Ya Ya Ya
User Define Function BLOB Row Level Locking
Tidak 2 GB Ya
Interface Application Mendukung Replikasi Mendukung Hot Backup
Java, Perl, PHP, Python, ODBC, JDBC, C/C++ Ya Ya
Mendukung Clustering Database Managers va Web Database Managers GUI
Ya Ya Ya (pada Windows platform)
SQL Tools va Web SQL Tools va GUI Mode SQL Compatible
Ya Ya (pada Windows platform) Oracle, IBM DB2
Multi Data Files Multi Log Files
Ya Ya
www.infolinux.web.id
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
TUTORIAL SAP DB
Direktori-direktori sebagai tempat SAP DB akan di-install. mkdir /u01/sapdb mkdir /u01/sapdb/depend mkdir /u01/sapdb/indep_data mkdir /u01/sapdb/indep_prog Kemudian ubahlah owner dari folder tersebut dengan command berikut: chown –R sapdb.sapsys /u01/sapdb 4. Log out dari root dan login ke user sapdb yang sudah Anda buat di atas. Kemudian tambahkan baris berikut pada .bash_profile user sapdb. #[sapdb@dev_server root] vi .bash_profile export SAPDB_HOME=/u01/sapdb export SAPDB_DEPEND=$SAPDB_ HOME/depend/bin export SAPDB_INDEP_PROG= $SAPDB_HOME/indep_prog/bin PATH=$PATH:$HOME/bin:$SAPDB_ DEPEND:$SAPDB_INDEP_PROG 5. Login-lah kembali ke user root dan sekarang kita akan mulai proses instalasi #[root@dev_server root] cd sapdb-alllinux-32bit-i386-7_4_3_25 #[root@dev_server root] ./SDBINST
Langkah-langkah proses instalasi SAP DB Starting the installation Installation of SAP DB Software ******************************** starting installation Mo, Aug 25, 2003 at 11:15:20 operating system: Linux I386 2.4.18 14 GLIBC 2.2.93 callers working directory: /data/master/ sapdb/sapdb-all-linux-32bit-i386-7_4_3_25 Profiles of installation Dalam pemilihan profiles instalasi sapdb ini, kita dapat memilih paket apa saja yang akan diinstalasikan ke server. Di sini penulis menyarankan untuk memilih semua (all) paket, untuk itu kita mengisikan profile idnya dengan nilai 9. existing profiles: 0: Server 1: Runtime For SAP AS
2: DB Analyzer 3: C Precompiler 4: Webtools 5: ODBC 6: JDBC 7: Script Interface 8: XML Indexing Engine 9: all 10: none please enter profile id: 9 Path of installation starting preparing phase of package Base 7.4.03.25 32 bit ———————————————————— no updatable installation of package “Base” found please enter group name for database programs [sapsys]: sapsys please enter owner name for database programs [sapdb]: sapdb please enter independent data path [/var/ opt/sapdb/indep_data]: /u01/sapdb/ indep_data please enter independent program path [/ opt/sapdb/indep_prog]: /u01/sapdb/ indep_prog checking interferences to other packages...ok collecting data finished: please enter independent program path [/ opt/sapdb/depend]:/u01/sapdb/depend Tunggulah proses installasi sampai selesai. Hal ini ditandakan dengan pesan : installation of SAP DB Software finished successfully Mo, Aug 25, 2003 at 11:16:49 Sampai dengan tahap ini dapat dikatakan Anda sudah berhasil menginstalasi SAP DB, dan kini kita masuk ke tahap berikutnya. Membuat database Pertama-tama kita harus mengaktifkan instance dari SAP DB : #[sapdb@dev_server sapdb] x_server start 12798 NISERVER server started. 12751 XSERVER XSERVER started, ‘X32/ LINUX 7.4.3 Build 025-121-046-179’
www.infolinux.web.id
Untuk membuat database kita menggunakan tools DBMCLI (Database Manager Command Line Interface) dengan option : dbmcli db_create
,[DBM_Password] , Diasumsikan di sini kita akan membuat sebuah database dengan nama dbhrd. Kita juga akan membuat sebuah user operator pada database tersebut dengan nama dboperator dan password oper@tor, maka command-nya adalah : dbmcli db_create dbhrd dboperator, oper@tor sapdb,s@pdb sapdbdan s@pdb adalah user sapdb dan password-nya yang telah kita buat sebelumnya. #[sapdb@dev_server sapdb] dbmcli db_create dbhrd dboperator, oper@tor sapdb, s@pdb OK Berikutnya adalah memberikan parameter pada database dbhrd yang telah kita buat sebelumnya dengan command dbmcli –d -u , -i <script_file> <script file> adalah tempat kita memberikan nilai awal dari setting konfigurasi yang akan kita berikan kepada database dbhrd Membuat script file parameter pada database Seperti database lainnya, SAP DB juga memiliki parameter database yang dapat kita pilih sesuai dengan kebutuhan. Oleh karena itu, kita harus mendefinisikan parameter tersebut dalam sebuah file yang nantinya akan dieksekusi ketika melengkapi pembuatan database. #[sapdb@dev_server sapdb] vi dbhrd.par param_startsession param_init param_put MAXUSERTASKS 5 param_checkall param_commitsession param_addvolume 1 LOG LOG_001 F 30000 param_addvolumee 1 DATA DATA_001 F 30000
INFOLINUX DESEMBER 2003
79
TUTORIAL
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
SAP DB
db_admin util_connect util_execute INIT CONFIG util_activate <SYSDBA_userid>, <SYSDBA_password] —dalam database dbhrd menjadi util_activate sapdb, s@pdb util_release Simpanlah file tersebut dalam /home/ sapdb/dbhrd.par. Kemudian jalankan command berikut: #[sapdb@dev_server sapdb] dbmcli –d dbhrd –u dboperator,oper@tor –i /home/ sapdb/dbhrd.par >param_startsession OK> param_init OK> param_put MAXUSERTASKS 5 OK> param_checkall OK> param_commitsession OK> param_addvolume 1 LOG LOG_001 F 30000 OK> param_addvolume 1 DATA DATA_001 F 30000 OK> db_admin OK> util_connect OK> util_execute INIT CONFIG OK> util_activate sapdb,a OK> util_release OK> load_systab –ud a OK 0, OK: everything works fine
0,/u01/sapdb/depend/bin/x_python /u01/ sapdb/depend/env/lsystab.py –d dbhrd -u sapdb,* -dompwd a en ENG Removing obsolete objects Installing Loader tables Installing messages and help Installing SYSDBA tables Installing comments for SYSDBA tables Installing precompilers tables Installing system tables for R3 backup information Installing ODBC and JDBC tables Installing system tables for ORACLE (V7) mode Installing data dictionary tables and views Installing synonyms for oracle system tables Installing comments on oracle system tables Installing tables for SQL Studio Installing suppose list Installing tables for WebAgent Installing tables for WebDAV Installing tables for WebDAV XML Indexing Installing DOMAIN tables Installing commets for DOMAIN tables Installing Views as replacement for SHOWs Installing Database Manager tables vi.Startup Database Setelah instalasi selesai, sekarang kita akan menjalankan database dbhrd. #[sapdb@dev_server sapdb] dbmcli –d dbhrd –u dboperator,oper@tor Lalu akan keluar consolete sapdb: db_online OK Selamat, Anda telah berhasil menginstal sapdb. Tahap selanjutnya, kita akan menginstal “web tools” yang merupakan tools untuk administrator. 6. Installing SAP DB Web Tools #[root@dev_server root] tar –xvzf sapdbwebtools-linux-32bit-i386-7_4_3_25.tgz
B
A
80
A: Gambar 1. Akses SAP DB via Web; B: Gambar 2. Web SQL Studio
INFOLINUX DESEMBER 2003
www.infolinux.web.id
#[root@dev_server root] cd sapdbwebtools-linux-32bit-i386-7_4_3_25 #[root@dev_server root] ./SBDINST Lengkapilah .bash_profile pada user SAP DB yang telah Anda buat tadi menjadi seperti berikut ini: export SAPDB_HOME=/u01/sapdb export SAPDB_DEPEND=$SAPDB_ HOME/depend/bin export SAPDB_INDEP_PROG=$SAPDB_ HOME/indep_prog/bin export LD_LIBRARY_PATH=$SAPDB_ HOME/indep_prog/web/lib:$SAPDB_ HOME/indep_prog/lib PATH=$PATH:$HOME/bin:$SAPDB_ DEPEND:$SAPDB_INDEP_PROG Untuk mengaktifkan web server pada database ini, lakukanlah perintah berikut: #[sapdb@dev_server sapdb] ./wahttp & Using (logfile:/var/log/sapdb/wa/ httperr.log, tracelevel:0) PID[7597] Port[9999] 12821 TASKING Thread 7599 starting 12821 TASKING Thread 7600 starting 12821 TASKING Thread 7601 starting 12821 TASKING Thread 7602 starting 12821 TASKING Thread 7603 starting 12821 TASKING Thread 7604 starting 12821 TASKING Thread 7605 starting 12821 TASKING Thread 7606 starting 12821 TASKING Thread 7607 starting 12821 TASKING Thread 7608 starting 12821 TASKING Thread 7609 starting 12822 TASKING Thread 7609 joining Login ke WebSQL, http:// serverSAPDB:9999/websql dan akan terlihat seperti gambar 1 dan 2. Untuk melakukan operasi DDL, DML ataupun DDL pada SAP DB, kita dapat mengunakan tools web sql. Sebagai contoh kita akan membuat sebuah table (Tabel Pegawai) dan memasukkan data menggunakan sintaks SQL (Structure Query Language) CREATE TABLE PEGAWAI(NIP VARCHAR(10) NOT NULL PRIMARY KEY, NAMA VARCHAR(20) NOT NULL, JABATAN VARCHAR(15) NOT NULL)
Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
TUTORIAL SAP DB
Eksekusilah statement di atas satu per satu pada websql. Lalu untuk melihat data pada table Pegawai, ketiklah command berikut: (lihat gambar 3.) SELECT * FROM PEGAWAI
A
B
C
A: Gambar 3. Melihat Data Hasil Query; B: Gambar 4. Login ke Database Manager; C: Gambar 5. Web DBM
INSERT INTO PEGAWAI VALUES (‘1’,’Moerdiono’,’IT Manager’) INSERT INTO PEGAWAI VALUES (‘2’,’Herwanto’,’App Manager’) INSERT INTO PEGAWAI VALUES (‘3’,’Yahya Yanuar’,’IT Consultant’) INSERT INTO PEGAWAI VALUES (‘4’,’Hendry’,’System Admin’) INSERT INTO PEGAWAI VALUES (‘5’,’Ony’,’System Analyst’)
INSERT INTO PEGAWAI VALUES (‘6’,’Bambang’,’Tech Support’) INSERT INTO PEGAWAI VALUES (‘7’,’Faisal’,’Help Desk Admin’) INSERT INTO PEGAWAI VALUES (‘8’,’Wiwiek’,’IT Admin’) INSERT INTO PEGAWAI VALUES (‘9’,’Niko’,’Billing Admin’) INSERT INTO PEGAWAI VALUES (‘10’,’Rila H’,’Ass Consultant’)
SAP DB juga memiliki Database Manager seperti layaknya database yang lain. Untuk dapat mengakses Database Manager dengan menggunakan browser gunakan http://serversapdb:9999/ webdbm. Melihat dari fitur-fitur di atas, database ini dapat dikatakan sangat layak untuk dijadikan database server. Karena selain free dan open source, SAP DB sangat optimal bagi Anda yang ingin menggunakan SAP R/3 namun Anda juga ingin menekan total biaya perusahaan Anda. Jadi tidak ada alasan untuk tidak menggunakan SAP DB, bukan? Dan siapkah perusahaan Anda beralih ke SAP DB? Hanya Anda yang tahu jawabannya. Yahya Yanuar ([email protected])
IKLAN
www.infolinux.web.id
INFOLINUX DESEMBER 2003
81