P. 1
Dalam Penggunaan Komputer, Sistem

Dalam Penggunaan Komputer, Sistem

|Views: 54|Likes:
Published by cikgusitiz

More info:

Published by: cikgusitiz on Jun 09, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

06/09/2011

pdf

text

original

UTAMA

Pengembangan Aplikasi di Linux

Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial

Noprianto

Linux adalah surga bagi para programmer. Tersedia banyak bahasa pemrograman, pustaka dan tool-tool berkualitas yang siap digunakan.

alam penggunaan komputer, sistem operasi saja tidak cukup untuk membantu memenuhi kebutuhan kita. Berbagai aplikasi umum diperlukan. Sebagai contoh, kita membutuhkan paket office untuk membantu pekerjaan kantoran seperti mengetik, membuat laporan, mengisi data, membuat presentasi dan lain sebagainya. Kita membutuhkan web browser agar kita dapat berselancar di internet. Berbagai paket manajemen email juga dibutuhkan agar kita bisa mengirim dan menerima email. Aplikasi multimedia dibutuhkan agar kita bisa menikmati multimedia dengan bantuan komputer. Banyak sekali aplikasi yang tersedia dan dapat digunakan. Beberapa diantaranya benar-benar gratis, beberapa diantaranya membuat kita harus merogoh kocek. Terkadang, aplikasi-aplikasi umum belumlah cukup. Sebuah pabrik misalnya. Pabrik tersebut tidak hanya membutuhkan aplikasi office atau web browser semata. Mereka membutuhkan aplikasi khusus yang mengerti kebutuhan mereka dan dapat membantu mereka agar dapat lebih produktif. Kita mengenal ERP yang membantu perusahaan dari ujung sampai ujung lainnya. Dengan menggunakan ERP

D

tersebut, sebuah pabrik dapat bekerja lebih efektif dan efisien. Walaupun, terkadang harga sebuah ERP bisa membuat kita pusing. Terdapat banyak aplikasi umum di Linux. Namun, software-software dengan kualitas lebih baik selalu dibutuhkan. Oleh karena itu, mungkin sekali terdapat puluhan software untuk fungsi yang sama. Sementara, aplikasi khusus tidak pernah menjadi terlalu banyak. Banyak perusahaan yang menginginkan solusi teknologi informasi yang lebih personal dan tidak hanya mengandalkan software-software umum. Umumnya, hal ini disebabkan karena kebutuhan. Apabila Anda tertarik untuk mengembangkan aplikasi di Linux, baik aplikasi umum ataupun aplikasi khusus, berbagai hal perlu dipertimbangkan agar dapat mengembangkan aplikasi secara lebih cepat, lebih baik, dan pada akhirnya, dapat membantu memenuhi kebutuhan. Ulasan utama kali ini mencoba untuk mengangkat hal-hal seputar pembuatan aplikasi di Linux. Pembahasan difokuskan pada beberapa hal penting yang menjadi kunci pembuatan aplikasi. Pertama-tama, kita akan melihat soal pemilihan bahasa

pemrograman. Di dunia free software, tersedia begitu banyak bahasa pemrograman. Setelah itu, kita juga membahas detil tentang pembangunan user interface. Pembahasan meliputi CLI, TUI, GUI dan aplikasi web. Pembahasan mengenai database juga tidak terlupakan. Berbagai database termasuk RDBMS dan OODB juga dibahas. Tak lupa, database embedded dimasukkan sebagai salah satu topik spesial dalam penggunaan database. Hal-hal seperti lisensi juga merupakan masalah penting. Sama seperti halnya bagaimana membuat aplikasi yang dapat memiliki pasar yang luas. Penggunaan teknologi standar, i18n, dan kemungkinan cross-platform adalah hal-hal yang penting agar aplikasi kita dapat digunakan oleh berbagai pihak. Untuk pembangunan aplikasi yang lebih cepat, ada baiknya kita menggunakan berbagai tool yang memang telah tersedia. Sebagai contoh, debugger, document generator, IDE, diagram modeller dan version control. Pada akhirnya, tak lupa isu distribusi juga akan kita bahas. Bagaimana cara kita men-deliver aplikasi kita adalah hal yang tak kalah penting. Selamat membaca!

34

INFOLINUX APRIL 2004

www.infolinux.web.id

TCL. mudah dipelajari dan kode program yang bersih. Sementara. Tak jarang. Tidak ada bahasa yang paling baik diantara semua bahasa pemrogaman. Keunggulan memilih bahasa ini sangatlah banyak. Python menggunakan pustaka Tk. Apabila memang ingin membangun aplikasi berbasis GUI. sampaisampai tidak ada pustaka dari pihak ketiga pun. Sediakan waktu lebih untuk belajar. sebaiknya Anda memiliki konsep Object Oriented Programming yang kuat. Alasan lain seperti ketersediaan pustaka yang banyak juga bukan alasan yang terlalu penting. Jarang sekali terdapat implementasi suatu bahasa pemrogaman yang datang satu paket dengan GUI toolkit sendiri. Memilih Delphi berarti akan menggunakan gaya dan segala hal yang berhubungan dengan Delphi. kedekatan dengan sistem dan rela untuk sedikit bersusah payah.infolinux. Namun. pustaka QT juga bisa diakses oleh Python misalnya. kita akan memiliki bahasa pemrograman terlebih dahulu. yakinkan mana yang paling cocok dengan gaya Anda. PHP juga sama. Cukup gunakan saja header-header yang diperlukan untuk mencapai hasil yang diinginkan. Python. mungkin akan kebingungan apabila tidak terdapatnya binding untuk suatu pustaka tertentu. Contoh lain adalah Tk. Anda tidak perlu berpusing-pusing untuk memikirkan dukungan pustaka tertentu. namun bukan dikembangkan secara khusus untuk Python. Selain itu. sementara yang lain lebih bagus di sisi lain. bisa-bisa pemrogaman tidak pernah dilakukan karena pencarian tersebut seperti pencarian yang tak kunjung selesai. Oleh karena itu. karena komponen pembangun GUI merupakan bagian integral dari bahasa tersebut. pemilihan bahasa pemrogaman menjadi masalah yang cukup besar. pustaka tersebut dapat digunakan oleh Python misalnya. Pelajari dan selesaikan kebutuhan Anda. Anda bisa memilih yang paling sesuai dengan kebutuhan. Tapi. Python dapat Anda pilih karena ketersediaan banyak pustaka dan binding. pemilihan bahasa pemrogaman adalah hal yang penting. Dan umumnya. Dalam kasus yang parah. Java adalah bahasa yang sangat bagus. apabila hanya masalah GUI. relatif mudah digunakan serta dapat melakukan suatu tugas dengan berbagai cara. di PHP. Bacabaca referensi. Anda bisa menggunakan Perl. Dengan demikian. PHP. Semuanya bagus. kemudahan serta tersedia banyak cara untuk melakukan sesuatu. pemilihan bahasa pemrogaman bukanlah masalah penting. Kita melihat bahwa implementasi C/ C++ oleh GCC sama sekali tidak datang bersama pustaka untuk membangun GUI. Agak sedikit berbeda di Linux dan free software. Hampir setiap database besar dan terkenal didukung oleh PHP. juga cocok digunakan untuk aplikasi skala besar ataupun kecil.Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial UTAMA Pengembangan Aplikasi di Linux Pemilihan Bahasa Pemrograman U ntuk melakukan pemrograman. mudah sekali untuk melakukan konektifitas database. Java adalah teknologi yang maju dan matang. PHP mungkin boleh dikatakan sebagai bahasa pemrograman web paling populer (di dunia free software). TCL dan Pascal terkenal karena mudahnya. dan umumnya. hal tersebut bukanlah masalah. Apabila Anda membutuhkan kecepatan tinggi. dynamic loading pustaka sistem didukung oleh berbagai bahasa pemrogaman. Java. Begitu juga dengan penggunaan visual Basic. Namun. termasuk untuk membangun aplikasi berbasis GUI. Terutama di pemrogaman berbasis GUI. Pengguna Java atau Python misalnya. Berbagai pustaka sistem dapat Anda gunakan. walaupun dalam distribusi resminya Python tidak menyertakan dukungan untuk suatu database misalnya. kita mendengar seteru antara pemakaian Delphi atau Visual Basic. Pengguna Delphi akan cocok dengan Pascal. Untuk mencari yang paling baik. Sebagai contoh. Lihatlah area kebutuhan Anda. walaupun diasosiasikan dengan TCL. Python juga cocok untuk digunakan pada aplikasi skala besar. terdapat banyak sekali bahasa pemrogaman. dan pilih satu. binding untuk berbagai bahasa juga telah tersedia. tipe data yang kaya. Kalaupun datang dengan GUI toolkit sendiri. umumnya. Perl. Dengan kata lain. Java apalagi. kita masih bisa melakukan dynamic loading suatu pustaka sistem untuk mendapatkan suatu fungsi. kita bisa mendapatkannya dari pihak ketiga. Perl juga sama. Pengguna Python mungkin akan cukup cocok dengan TCL. Sebagai contoh. Hanya. di dunia Windows. banyak pustaka yang didedikasikan khusus untuk itu. Beberapa contoh bahasa pemrograman yang populer diantaranya C/C++. www. toolkit tersebut juga bisa diakses oleh bahasa pemrogaman lain. Python mungkin agak susah untuk melakukan hal yang sama. Perl sangatlah fleksibel. Pustaka-pustaka lain yang tidak datang bersama suatu bahasa pemrogaman umumnya diimplementasikan oleh pihak ketiga dan dapat digunakan secara bebas. untuk pemrogaman berbasis GUI. C++ yang diimplementasikan oleh QT adalah sebuah pustaka sekaligus bahasa lengkap. maka C/ C++ adalah pilihan yang baik. Atau sebaliknya. Pascal yang diimplementasikan oleh Free Pascal juga sama. banyak implementasi dari pihak lain yang mengembangkannya untuk banyak bahasa pemrogaman. jika fleksibilitas. Pascal. yang satu lebih bagus di satu sisi. dan lain sebagainya. Sehingga. Bukan masalah besar Di dunia Windows.id INFOLINUX APRIL 2004 35 . Memilih sesuai kebutuhan Pemilihan bahasa pemrogaman di Linux lebih disesuaikan kepada kebutuhan. Sangat susah untuk menggunakan komponen native Visual Basic di Delphi.web. Perl mungkin juga agak susah untuk melakukan hal yang sama. Perl juga identik dengan administrator sistem. Sementara. Di dunia free software. Bagi Anda. Asalkan benar-benar didalami.

Contoh yang paling baik adalah Midnight Commander. Sebut saja ncurses dan newt. Keduanya akan membantu Anda untuk membangun TUI dengan mudah. bahkan terkadang tidak perlu coding sama sekali. apa yang ditampilkan adalah interface yang cukup menarik. kita dapat mengetikkan kode HTML sendiri. dengan Delphi atau Visual Basic misalnya. Anda masih bisa menikmati fasilitas ini. TK juga terkenal sebagai toolkit yang lengkap dan mudah digunakan. kita tetap perlu memperhatikan pengguna program kita. Aplikasi yang dibangun dengan Tk juga cukup banyak. pembuatan GUI benar-benar bukan masalah. Namun. untuk kalangan tertentu. Pendekatan RAD seperti Delphi dan Visual Basic yang paling bagus barangkali adalah QT Designer. Dengan adanya separasi ini. Atau. Hal ini disebabkan karena terdapat program getopt dan getopts yang berguna untuk melakukan parsing argumen dan opsi program. Contoh penggunaan GTK+ yang baik adalah desktop dan aplikasi-aplikasi GNOME. kita mengenal berbagai ungkapan bahwa pembuatan aplikasi dengan text user interface sudah tidak zaman lagi karena semuanya akan berbasiskan GUI. Berbagai GUI toolkit populer yang pantas dipertimbangkan adalah GTK+. maka command line interface adalah pilihan yang paling cocok. Jadi. apa yang mampu dilakukan oleh Delphi atau Visual Basic jelas masih jauh untuk dicapai. pertimbangkan juga untuk menggunakan berbagai tool-tool untuk mendesain user interface sehingga Anda tidak perlu membuat semuanya sendiri. Anda perlu menyediakan manual atau paling tidak fasilitas help yang cukup memadai. QT. Anda hanya perlu mendefinisikan berbagai opsi yang valid dan aksi yang berhubungan dengannya. Contoh lain barangkali Boa constructor untuk Python. Umumnya. cukup bagus dan kalau mau. walaupun membuat aplikasi berbasis command line. Untuk itu. Kondisi ini sedikit berbeda di dunia free software. Text User Interface Berbeda dengan command line interface yang membiarkan penggunanya menggunakan opsi-opsi program untuk melakukan tugas tertentu. Bagi Anda yang melakukan pemrograman dengan shell script sekalipun.web. dapat membaca fasilitas help program. tersedia banyak pustaka untuk membangun TUI ini. command line interface dikembangkan dengan pustaka getopt. contoh terbaik adalah KDE dan aplikasi-aplikasinya. Tk. wxWindows (yang akan berubah namanya menjadi wxWidgets). Di dunia DOS atau Windows. banyak sekali bahasa pemrograman yang mendukung toolkit-toolkit tersebut. paling tidak. maka text user interface akan menampilkan berbagai window dan menu menarik (dalam modus text) untuk penggunanya. hal ini lebih disebabkan separasi antara bahasa pemrograman dan GUI toolkit. Binding untuk pustaka getopt tersedia untuk hampir semua bahasa pemrograman di dunia free software. satu program memiliki lebih dari satu opsi dan dijalankan dengan cara seperti ini: ls -al ls —all ls –help Apabila aplikasi yang Anda bangun memang tidak membutuhkan kemudahan pemakaian atau keindahan. secara default. Implementasi untuk berbagai bahasa pemrograman juga tersedia. aplikasi dengan text user interface juga memiliki fasilitas untuk pemberian opsi. kita mengenal beberapa kategori. Commad Line Interface Banyak sekali program di dunia free software yang dibangun dengan commad line interface. pengguna berbagai bahasa pemrograman dapat membangun GUI dengan berbagai GUI toolkit. Tidak semuanya harus GUI. Ringan. Berbagai aplikasi yang dapat merancang user interface dengan cukup bagus adalah Mozilla Composer dan OpenOffice. Selain itu. mouse bisa digunakan. terdapat berbagai ekstensi Tk yang menambah kelengkapan widgetnya. Semua itu artinya. Graphical User Interface Ini adalah permasahan yang cukup sering ditemui di dalam dunia Linux.infolinux. Khusus untuk Java. Untuk QT.org. Dengan menggunakan pustaka tersebut. Anda hanya mengisikan fungsi yang diperlukan saja. TUI lebih disukai. user interface yang masuk akal perlu kita kembangkan agar program kita dapat digunakan oleh berbagai pihak. Berbagai utilitas sistem boleh dikatakan datang dengan interface ini. Di dunia Windows. tentunya. Dan. Yang menggunakan umumnya adalah pihak lain. Namun. Umumnya. bukan masalah sama sekali. Umumnya. Sebagai seorang programmer. Tidak perlu membaca parameter yang dimasukkan kemudian melakukan pemisahan dan pemeriksaan secara manual. Di dunia Linux. Web application Untuk membuat aplikasi web. Tentunya. Jangan pernah membuat program berbasis command line namun tidak menyertakan help ataupun manual. Namun. WxWindows sendiri adalah pustaka populer untuk aplikasi GUI cross platform yang menawarkan tampilan native. Anda tidak melakukan parsing command line secara manual. Target pengguna program Anda adalah pengguna yang bisa membaca manual program. menggunakan toolkit wxWindows. QT sendiri juga datang dengan versi enterprise yang mampu melakukan apa yang dilakukan oleh Delphi atau Visual Basic. Desain user interface 36 INFOLINUX APRIL 2004 www. implementasinya cenderung lengkap dan memiliki GUI toolkit sendiri. Untuk user interface. mulai dari command line interface sampai Graphical user interface. Pemeriksaan dan parsing akan dilakukan sendiri. Terkadang.id .UTAMA Pengembangan Aplikasi di Linux Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial Pembangunan user interface P rogram yang dihasilkan tentu tidak hanya selalu digunakan oleh pembuatnya.

Kecepatannya sekitar 2 kali lebih cepat dari MySQL dan PostgreSQL untuk berbagai operasi. Bayangkan dengan MySQL dan PostgreSQL. Filenya pun hanya satu file untuk satu database. jelas tidak dianjurkan sama sekali. walaupun implementasinya telah dilakukan beberapa waktu yang lalu. Anda juga ingin agar aplikasi dapat dipindahkan ke mesin lain dengan mudah.id INFOLINUX APRIL 2004 37 . Berbagai database siap pakai tersedia di dunia free software. Namun. clipper dan lain sebagainya. Anda bisa membuat aplikasi dengan database serupa konsep foxpro. Tidak perlu melakukan koneksi pada server database. atau repot lebih tepatnya. clipper dan bahasa sejenis yang menawarkan kemudahan dan kesederhanaan? Satu aplikasi bisa memiliki beberapa tabel dimana setiap tabel disimpan di dalam setiap file. Contoh database embedded yang sangat terkenal adalah SQLite dan BSDDB. OODB Yang satu ini baru-baru terkenal. Ya. Bukannya ingin mengatakan bahwa MySQL dan PostgreSQL tidak seru untuk digunakan. Bahkan. Tentunya. sebuah application server berbasiskan Python. Bagaimana jika apa yang Anda butuhkan hanyalah buku alamat atau organizer sederhana? Jelas kemampuan MySQL dan PostgreSQL belum diperlukan. adalah database yang cukup umum dan tergolong cukup senior. SQLite misalnya. OODB bukan dibuat untuk menggantikan RDBMS. TCL mampu melakukannya. Mereka sangat seru untuk digunakan. Banyak sekali kelebihan RDBMS yang tidak dimiliki atau susah diimplementasikan di OODB. maka copy saja semua file termasuk databasenya. Sejak awal-awal PHP mulai berkibar. Tinggal pilih yang mana. Perl. PostgreSQL dan Oracle adalah contoh terbaik. Special: Embedded database engine Masih ingatkah Anda akan Foxpro. Untuk kasus tersebut. object oriented database saat ini semakin populer. RDBMS Jenis yang satu ini. jika aplikasi Anda benar-benar membutuhkan kemampuan database server tersebut. Java. Python. MySQL. Coba saja membuat aplikasi dengan kedua database server tersebut. Apabila aplikasi ingin dipindahkan.Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial UTAMA Pengembangan Aplikasi di Linux Penggunaan Database D atabase selalu diperlukan apabila Anda membangun aplikasi bisnis atau aplikasi yang melibatkan penggunaan dan pengolahan data. Zope Object Database. Untuk menggunakan text file. MySQL menyediakan sebuah pustaka client yang dapat digunakan untuk berbicara dengan MySQL Server. selama suatu bahasa dapat melakukan dynamic loading. Contoh OODB yang bagus adalah ZODB. Pembuatan memang terasa mudah. Penggunaan oleh bahasabahasa lain seharusnya juga bisa dilakukan dengan tidak rumit. Implementasinya banyak. Dan yang penting. Hampir semua bahasa mampu berbicara dengan database ini. dan jalankan tanpa masalah dimesin lain. pengguna Python dapat dengan mudah menggunakan database yang satu ini. tetapi mampu bekerja dengan database seukuran 2 TB. perlu dilakukan. walaupun kecil. penggunaan embedded database sangat dianjurkan. www. Proses dumping ke file text misalnya.infolinux. C/C++. Apabila Anda menggunakan PHP. walaupun cukup banyak fungsi yang tidak didukung seperti referential integrity. Kita tidak dapat begitu saja mengopikan file-file database kita ke mesin lain begitu saja. yang digunakan oleh Zope. Untuk mengakses file tersebut. SQLite. Tapi deployment dan backup akan terasa cukup susah. Dengan demikian. relational database management system. bahasa pemrograman telah mendukungnya sehingga tidak diperlukan layer tambahan. dukungan untuk kedua database canggih ini telah kita dapatkan. Untuk bahasa yang tidak mendukung secara langsung. Beberapa diantara mereka memang memiliki tool backup sendiri.web. Ketiganya cocok untuk digunakan dan mampu melayani data jumlah besar. maka MySQL dan PostgreSQL bukanlah masalah. karena kebanyakan bahasa pemrograman tahu cara untuk berkomunikasi. standalone. namun proses deployment tetap saja lebih rumit. PHP sempat identik dengan MySQL. harusnya tidak akan ada masalah. MaxDB. Jadi. Cukup aplikasi itu sendiri saja yang diinstall. Perintah SQL pun didukung.

semua sah-sah saja. Perhatikan juga lisensi dengan target pasarnya.fsf. lisensi Anda menjadi kurang penting. Pada contoh di sini. Pemilihan lisensi menjadi penting apabila Anda ingin mengatur atau membatasi beberapa hal seperti penggunaan dan pendistribusian. Yang pertama adalah membuat lisensi sendiri (hal ini bukan langkah trivial. Apabila software yang ditulis dapat digunakan oleh berbagai kalangan. 38 INFOLINUX APRIL 2004 www. Beberapa lisensi Membuat software proprietary Umumnya. Yang penting adalah terjaminnya semua pihak untuk dapat menggunakan.id . Ada pula yang menitikberatkan pada nilai per pengguna. Anda bisa mempercayakan saja kepada lisensi GPL. Anda ingin agar aplikasi boleh disebarluaskan beserta source codenya. dan menyebarkan program yang Anda tulis. seseorang sebaiknya mengerti benar masalah hak kekayaan intelektual. Anda bisa mempelajari lisensinya. hanya modifikasi dan pendistribusian hasil modifikasi tidak diijinkan. Bahwa pengguna software Anda tersebut menjualnya atau hanya mengopikannya kepada rekannya yang lain. mempelajari. memperbaiki dan mendistribusikan program yang Anda buat. maka umumnya. Translasi ke beberapa bahasa bahkan telah tersedia. Pelajari lisensi program lain. Lisensi tidak harus panjang dan rumit serta penuh dengan istilah hukum.html. kita dapat menemukan berbagai end user license agreement. L berikut ini dianggap sebagai lisensi free software: GPL. Sebagai contoh. Lisensi tersebut bisa Anda kembangkan sesuai kebutuhan. maka pastikanlah agar lisensi tersebut tidak menjadi senjata makan tuan. tentunya harus juga untuk diperhatikan. Dan semuanya selesai. mengembangkan. Membuat free software Free software memfokuskan kata free pada kebebasan. Hal ini sangat berguna terutama ketika Anda membuat pustaka program. atau membuat lisensi sendiri.infolinux. Jangan lupa untuk mengatur masalah redistribusi di mana seorang penerima software mendistribusikan kembali software Anda. Dengan demikian. Untuk membuat lisensi. untuk berbagai alasan misalnya.UTAMA Pengembangan Aplikasi di Linux Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial Lisensi isensi tentu bukan permasalahan yang penting apabila Anda ingin membuat free software dan tidak ingin repot-repot soal legal. Di Windows dan program-program proprietary yang berjalan di atasnya. segala source code dikontrol oleh Anda. Atau. Pokoknya. Sekarang. Anda tidak perlu terikat erat seperti halnya GPL. beberapa program yang berjalan di Linux juga merupakan software proprietary. Cara kedua lebih sederhana.web. Anda perlu mengerti hal di luar pemrograman. Memilih lisensi Kita mengenal bermacam-macam lisensi. semuanya harus bebas. Terkadang. Namun.id. beberapa model dapat Anda contek.org/etc/gplunofficial. Bagi programmer free software yang tidak mementingkan lisensi. pembuat software menerapkan semacam end user license agreement. Dengan penggunaan lisensi GPL. Lisensi yang terkenal sangat mengikat dalam free software adalah GPL. Dan pengguna yang bersangkutan dapat melakukan instalasi pada beberapa mesin. bisa dimodifikasi oleh siapa saja sesuai keperluan. dapat dibaca secara online di http://www. source code diberikan hanya untuk dipelajari. dan turunkanlah sesuai dengan keadaan Anda. bukan pada harga nol. Bagus untuk promosi dan dominasi produk memang. Pastikan saja bahwa segala usaha dekompilasi adalah ilegal. Cukup lisensikan saja di bawah lisensi GPL versi 2. beberapa proyeksi ke depan juga diperlukan agar lisensinya cukup luwes. Sebagai contoh. GPL mengharuskan sebuah software dapat digunakan oleh siapa saja. Bagi Anda yang ingin membuat program-program yang benar-benar mengharuskan pengguna untuk membayar. bagaimana kalau Anda adalah seorang programmer yang bekerja pada suatu proyek yang Anda kerjakan sendiri dan ingin melepas proyek tersebut sebagai software yang source codenya tertutup namun binarynya dapat digunakan secara meluas? Dalam kasus ini. Apabila Anda membuat software proprietary. Tentunya. seharusnya lisensi Anda tidak akan terlalu rumit. translasi ke Bahasa Indonesia dapat Anda baca di http://vlsm. LGPL lebih sedikit longgar. dan program Anda dapat didistribusikan oleh berbagai pihak . Sementara. hal tersebut jelas tidak memenuhi kebutuhan Anda. Seseorang bisa menggunakan. LGPL. perlu tidak dilisensikan di bawah GPL. pembuat software proprietary memiliki aturan sendiri dalam penggunaan dan pendistribusian. maka lisensi dibuat lebih luas dan mengikat setiap kalangan penggunanya. Karena masalah lisensi selalu berhubungan dengan hukum. Mulai dari lisensi proprietary sampai lisensi free software. Dengan BSD. dipelajari oleh siapa saja. memberikan lisensi yang lebih longgar akan berakibat lebih baik. Memilih lisensi GPL jelas tidak mungkin. namun. Lisensi GPL misalnya.html. Anda dapat menyesuaikan dengan berbagai lisensi yang tersedia. BSD juga cukup ramah seperti halnya LGPL. atau software dimana penggunaan dan pendistribusian memiliki aturan tertentu. pembuat software harus cerdik. jangan sampai Anda pusing-pusing membayar suatu pihak untuk mengurus masalah lisensi super ketat sementara software Anda tersebar di mana-mana. Arti kebebasan itu sendiri memiliki arti yang luas. BSD. Ada lisensi yang benar-benar mengharuskan nilai per mesin. Bermacam-macam lisensi proprietary diterapkan. Beberapa solusi dapat diterapkan. Beberapa pustaka yang dikembangkan lebih lanjut. Apabila hanya dapat digunakan saja. dan Artistic.org/licenses/ gpl. Selain itu. atau lebih baik menggunakan jasa pihak lain yang khusus di bidang ini). Berbagai lisensi di kenal. Masalah muncul ketika Anda membuat software proprietary.

Tapi. document generator. dokumentasi dan lainnya. ddd. Colorgcc.web. Sebagai contoh adalah Python dan Boa-constructor. Dengan demikian. Memprof. gunakan berbagai tool yang tersedia luas untuk mendukung program kita. banyak user yang menggunakan suatu bahasa pemrogaman. Program dapat didebug dalam C. version control dan lain sebagainya.Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial UTAMA Pengembangan Aplikasi di Linux Tools pendukung pabila Anda adalah seorang programmer. Memory management debugger. new. Versi lain Make dengan gaya C. editor. datang pula debugger. Ada dan assembly. selain datang dengan implementasi bahasa pemrogaman. Sementara. tentu saja Anda bisa membuat sendiri debugger. Tool pemeriksa memory yang telah sangat terkenal. akan lebih baik memfokuskan diri kepada fungsi utama program. Dengan demikian. Bahkan. Pascal. Dengan berbagai tool berikut. sebuah produk studio pemrograman umumnya datang dengan segala tool yang dibutuhkan untuk mempermudah pembuatan program. implementasi bahasa pemrograman hanya akan memfokuskan dirinya pada bahasa pemrogaman dan berbagai fitur kompiler pada umumnya. Kdbg. Anda dapat meminta komputer lain untuk membantu Anda. distcc. Dapat Anda gunakan untuk memeriksa memory leak. IDE. Berikut ini. Debugger GNU. GUI untuk gdb dan dbx. Debugger Proses debugging adalah proses yang terkadang menyebalkan. Memory profiler dengan interface GNOME. output dari proses kompilasi akan lebih mudah terbaca. Icmake. Struktur data bisa direpresentasikan dalam grafik dan ditampilkan secara interaktif. GNU Make. Tool standar yang perlu Anda miliki untuk bekerja dengan Makefile. C++. Menyediakan user interface intuitif untuk pengaturan breakpoint. masing-masing Anjuta. Sangat matang dan dekat dengan gdb.infolinux. Error dan warning akan diwarnai dengan warna khusus. Data display debugger. Sebuah komputer tentunya tidak cukup. Valgrind dapat menemukan penggunaan memori tak Building Berbagai tools untuk pembangunan executable dapat Anda gunakan untuk memudahkan proses ini. malloc. Gdb. Apabila terhubung ke jaringan dengan beberapa komputer. Tool standar yang harus Anda miliki untuk debugging. menggenerasi dokumen dengan document generator lain. Umumnya. Tool-tool standar yang diperlukan. kita akan membahas beberapa tool yang bisa Anda gunakan untuk mempercepat pembuatan dan meningkatkan kualitas program yang Anda buat. kompilasi tidak lagi dilakukan oleh komputer Anda sendiri.in bergaya GNU. GUI untuk gdb. apabila Anda adalah programmer tunggal yang harus mengurus logika program. dan menggunakan CVS sebagai version control. Modula-2. memeriksa variabel dan menjalankan bagian kode-kode Anda. membuat diagram dengan umbrello.id INFOLINUX APRIL 2004 39 . A berguna untuk mengkonfigurasi source code dan menggenerasi Makefile. proses debugging akan terasa lebih mudah dan seru. diagram modeller dan lain sebagainya. Make. autoconf dan automake. Program ini berguna untuk mewarnai ouput dari gcc. write. ElectricFence. Insight. Sebagai contoh. pengguna mengetikkan kode programnya dengan editor lain. hebatnya. Di dunia pemrograman Windows. www. Kelengkapan produk akan menentukan seberapa banyak yang akan membeli produk tersebut. Proses kompilasi bisa berlangsung selama berjam-jam. free. namun dibantu oleh beberapa komputer di jaringan. mendebugnya dengan GDB. Malloc debugger untuk program C Anda. dan mendesain graphical user interface dengan program lain. Tool distcc dapat Anda gunakan untuk itu. Valgrind dapat memeriksa semua operasi memori. Sebagai contoh read. bisa saja menjadi harian untuk proyek yang sangat besar. Di Linux berbeda cukup jauh. Selebihnya. GUI untuk gdb. Terutama. Valgrind. Fortran. dan delete. Bahkan.

sebagai editor. memory leak. IDE yang dimotori oleh programmer India ini memang luar biasa. dokumentasi tetaplah hal penting. Programmer Java sangat cocok bekerja dengan IDE ini. Apalagi jika Anda menggunakan bahasa C. dan berbagai new/ malloc/free/delete ilegal. Anjuta sangat memperhatikan preferensi programmer. yang ditulis dengan bantuan pustaka pyQT. akses ke memori yang telah dibebaskan. Eclipse.web. berbagai tool bisa kita gunakan. Untuk membuat dokumentasi. Berikut ini adalah contohcontohnya: doxygen. Eric adalah IDE untuk bahasa Python. Program ini dapat menggenerasi dokumentasi online (HTML) dan offline (LaTex) dari header C++. Namun. Doxygen adalah sistem dokumentasi untuk C.id . Eric. Bahasa lain yang didukung juga cukup banyak. jika aplikasi yang Anda tulis ternyata mengekspor API. Program ini dapat mengubah isi dari opsi –help menjadi manual. 40 INFOLINUX APRIL 2004 www. Dokumentasi akan diekstrak langsung dari source code. Eclipse adalah IDE yang dapat dikembangkan dengan bantuan plugin. sebaliknya. Walaupun program yang ditulis tidak terlalu besar. overflow.infolinux. operasi stack ilegal. fleksibilitas Vim tak tergantikan. banyak diantara mereka yang mengerjakan aplikasi web kompleks dengan Vim. Anjuta juga termasuk IDE yang sangat configurable. Datang juga dengan cachegrind. C++ atau GTK+/GNOME. Dokumentasi menjadi hal yang wajib di sini. Vim mungkin hanyalah editor. Editor yang jelek akan mempersulit pembuatan program. Apalagi. Java dan IDL. Help2man. akan lebih baik apabila tersedia pula IDE. editor yang lengkap dan khusus digunakan sebagai alat bantu pemrograman akan membuat proses penulisan source code menjadi lebih menyenangkan. Selain editor. apalagi yang dibuat khusus untuk bahasa yang Anda gunakan benar-benar akan membuat proses penulisan source code menjadi lebih cepat. terpakai. Bisa Anda bayangkan IDE/Editor Editor adalah tool yang selalu dibutuhkan Valgrind.Sebagai IDE untuk Python. Tak tanggungtanggung. Vim. Beberapa fitur yang sangat berguna adalah code folding dan auto complete. Hampir semua hal dapat diatur sesuai keinginan. Kdoc. IDE. Berikut ini adalah beberapa contoh editor/IDE: Anjuta. kekhususannya untuk programmer Python menjadikan editor ini dapat mengerti kebutuhan dan gaya pemrograman python. Document generator Dokumentasi adalah komponen penting dalam pemaketan suatu program. profiler yang dibangun di atas engine valgrind. dalam penulisan program. Namun. Eric sebenarnya tidak terlalu menyenangkan. Banyak programmer yang mengandalkan Vim untuk menulis source code mereka.UTAMA Pengembangan Aplikasi di Linux Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial Help2man. C++. Doxygen dapat menggenerasi class browser online (HTML) dan offline (LaTex) dari source yang lengkap dengan dokumentasi.

infolinux. tidak semua proyek dapat dikerjakan sendiri. Namun. Semuanya dikerjakan oleh programmer tersebut. Butuh kerja tim untuk mengerjakan proyek tersebut. pengubahan sesuatu bukan menjadi masalah yang sederhana. Subversion. dokumentasi. Yang satu ini merupakan tool standar dan termasuk di dalam distribusi-distribusi Linux. syntax highlighting dan lain-lain. Umbrello UML Modeller adalah alat bantu penggambaran UML untuk KDE. Bagi Anda yang sering bekerja dengan UML. dokumentasi sampai pernak-pernik lainnya. maka revisid an versioning adalah hal yang wajib.id INFOLINUX APRIL 2004 41 . Mulai dari program utama. UML. Saat ini dia dapat digunakan untuk menggambar berbagai Boa-constructor. maka program ini pantas Anda coba. kita memiliki beberapa diagram modeller yang cukup layak untuk diandalkan: dia. Berikut ini adalah contohnya: CVS. dan dapat dicetak. Bentuk baru dapat dikembangkan dengan bantuan XML dan subset SVG untuk menggambar. Fasilitas yang datang bersamanya termasuk documentation browser. Apa yang akan terjadi kalau file yang dibuat oleh A dapat dimodifikasi oleh B tanpa menyisakan aslinya? Untuk mencegah berbagai hal yang tak diinginkan dan menjadikan kerja tim lebih baik. tipe diagram. Subversion melakukan apa yang dilakukan oleh CVS. Diagram dapat dieskpor ke berbagai format grafik. Dia sebenarnya dirancang untuk secanggih Visio. Mungkin user interfacenya konvensional. Umbrello termasuk salah satu aplikasi UML terbaik untuk Linux. grafik. Namun. Memprof. Di Windows. QT dan KDE.Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial UTAMA Pengembangan Aplikasi di Linux betapa banyaknya hal yang harus dilakukan. emacs sejak dahulu telah dikenal sebagai editor untuk developer dan administrator sistem. berbagai diagram modeller canggih kita kenal. Di Linux. Emacs ataupun Xemacs adalah editor komplit yang luar biasa. hanya subversion datang dengan berbagai kelebihan. Kdevelop. Di era yang canggih ini. diagram modeller belum secanggih aplikasi Visio ataupun aplikasi-aplikasi dari Rational Software.web. Umbrello. dan sirkuit sederhana. flowchart. Kdevelop adalah IDE untuk Anda yang bekerja dengan lingkungan pemrograman X11. Diagram modeller Seorang system analyst akan membutuhkan diagram modeller untuk mempermudah pemodelan sistem. SADT. www. Saat ini. network diagram. Sebagai contoh. Emacs. dan paper. sudah bukan zamannya lagi untuk menggunakan kertas. Version control Seorang programmer yang bekerja sendirian mungkin tidak terlalu menganggap perlu version control. entity relationship. Hasil dari analyst tersebut dapat digunakan sebagai panduan oleh programmer. modul. Namun. Dan ketika bekerja dalam tim. Terutama untuk menangani program. Setiap perubahan juga dikerjakan oleh sang programmer tersebut.

Menghemat cost. 42 INFOLINUX APRIL 2004 www. Mengulangi apa yang telah dikerjakan tersebut bukanlah hal yang bijak. belum tentu apa yang kita buat sendiri bisa lebih baik daripada yang telah tersedia. Tentunya. Himpunan perintah yang valid mungkin hanya 5 atau 10. atau beli. Linux dan free software adalah surga bagi devel oper. Berbagai fungsi telah disediakan. Apabila Anda ingin membuat semuanya sendiri dari nol. modifikasi kalau perlu. Untuk mengerti format OGG yang terbuka saja butuh waktu yang sangat lama. tidak ada satu pun bahasa yang datang dengan semua pustaka penting. akan lebih bijak apabila kita mempergunakan protokol atau teknologi jaringan yang sudah matang daripada mengembangkan aturan sendiri.id . Java datang dengan berbagai pustaka dan GUI toolkit sendiri. Developer di Windows umumnya perlu sedikit bekerja keras. Dalam konteks bahasa pemrogaman. selama apa yang tersedia tersebut masih memenuhi kebutuhan kita. Sementara. Lebih bijak jika Anda mengembangkan player tersebut menggunakan pustaka yang telah disediakan. maka kita membalasnya dengan mengirimkan ‘yyy’.UTAMA Pengembangan Aplikasi di Linux Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial Use the Battery! B oleh dikatakan. PHP dan Perl adalah contoh bahasa-bahasa pemrograman yang menawarkan berbagai pustaka siap pakai. Module-module perl. Beda jauh dengan di Windows. apabila client mengirim ‘xxx’. dan kembangkan aplikasi dengan bantuan pustaka tersebut. Developer Perl juga bertindak serupa. Berbagai pihak ketiga bahkan menawarkan tambahan modul untuk Python. Hampir semua bahasa mencoba untuk datang selengkap mungkin. uang. Tidak perlu membuang waktu untuk mendapatkan bahasa terbaik dari sisi kelengkapan pustaka. Developer sistem yang bergerak di level bawah mungkin akan peduli untuk mengembangkan pustakapustaka baru. hal ini boleh-boleh saja. Atau. Tinggal comot. Berlaku juga untuk protokol Ketika membuat aplikasi client server. Menghemat cost! Kenapa disarankan demikian? Jawabannya singkat. Secara kasar dapat diartikan agar kita menggunakan apa yang telah tersedia daripada membuatnya sendiri. Kalau begitu. PHP berusaha untuk memenuhi kebutuhan penggunanya. Bagaimana tidak? Pustaka dan contoh tersebar di mana-mana. Pustaka yang umum digunakan atau yang datang bersama bahasa pemrogaman mungkin telah dikembangkan oleh berbagai pihak secara hati-hati. Baterai dan bahasa pemrograman Python. sebenarnya. Banyak sekali pustaka yang disertakan bersamanya. tenaga dan sebagainya. maka pertimbangkan untuk menggunakan Corba. Perl datang berbagai pustaka siap pakai yang siap memanjakan penggunanya. Sebagai contoh. kita bisa saja membuka soket dan melakukan semuanya sendiri. Dengan demikian. Anda dapat memfokuskan diri untuk menghasilkan program dengan tingkat usability tinggi. sangat disarankan agar Anda menggunakan yang telah tersedia tersebut daripada membuatnya sendiri. Waktu. Atau. Membuat suatu pustaka atau fungsi bukanlah perkara mudah. beberapa bahasa pemrograman bahkan datang dengan banyak pustaka atau modul. maka waktu yang diperlukan sangatlah banyak. Apabila Anda bekerja secara distributed. Module-module python.web. Sebagai contoh. developer bahasa pemrograman tentu akan selalu memikirkan pustaka yang lebih baik lagi. XML-RPC juga sangat bagus untuk digunakan. Java. Namun. Kembangkan sendiri.infolinux. Anda bahkan bisa menggunakan protokol HTTP atau FTP apabila kebutuhan Anda bisa dipenuhi dengan menggunakan protokol-protokol tersebut. Lihat saja modul-modul yang datang bersama Python. Dan. Dalam skala kecil. Anda ingin mengembangkan aplikasi MP3/OGG player. Istilah use the battery sangat umum ditemukan di dunia Python. Hal ini tentunya tidak berlaku umum untuk semua developer. cari bajakannya. Namun.

Terakhir. Distribusi aplikasi Distribusi adalah hal yang penting dan jangan dilupakan oleh software developer. Porting jelas tidak mungkin.org dan Koffice menggunakan XML untuk format filenya. seberapa yakin Anda akan perusahaan pembuat aplikasi office tersebut? Bagaimana kalau format filenya berubah terus (Anda harus membayar terus) atau perusahaannya bangkrut. Apabila target pengguna Anda adalah pengguna rumah atau pengguna mandiri. Anda tidak perlu melakukannya sendiri. Bicara worst case. maka membuat aplikasi yang hanya berjalan di Linux adalah tindakan konyol luar biasa. maka pasar Anda batasi untuk pengguna yang mengerti bahasa Inggris. sebagai pengguna. gunakanlah teknologi standar. Siapa yang akan menjamin datadata Anda? Format file adalah salah satu contoh penggunaan teknologi standar. Yang mengerti hanyalah Anda. waktu yang dibutuhkan untuk pengembangan akan lebih banyak. Tentunya. Anda membuat pula format filenya sendiri. Bagi perusahaan atau konsumen. Anda telah menyimpan data selama tahunan dengan salah satu versi Officenya. maka kemudahan instalasi tidak terlalu penting. jangan pernah memulai ketergantungan akan suatu teknologi. client Anda kian bertambah. Aplikasi skala besar tentu tidak hanya terdiri dari satu atau dua file. Anda merasa bahwa format file yang Anda gunakan rupanya memiliki kekurangan. seberapa yakin Anda dapat menjamin untuk tetap berjalan pada usaha yang sama? Sebagai konsumen. tulisan ini tidak mungkin mencakup semua bahasa atau tool. Perusahaan menjadi serba salah ketika ingin berpindah ke Linux. gunakan teknologi standar dan perlengkap dokumentasi! mendukung multi platform. sang developer. OpenOffice. Dan terkadang. bicara hal yang lebih ringan. Andaikata Microsoft mengubah orientasi bisnisnya. jangan batasi pengguna Anda. Anda juga bisa mengembangkan sistem installer sendiri. dan mintalah bantuan komunitas untuk membantu. Anda dengan mudah dapat meminta dukungan kepada pihak lain.id INFOLINUX APRIL 2004 43 . Dalam membuat aplikasi office tersebut. Sementara. Hal ini memang sepertinya tidak masuk akal. Anda adalah perusahaan pembuat aplikasi office. jangan pernah memiliki produk dari perusahaan yang hanya menawarkan dukungan untuk satu platform tertentu. Tapi. Demikianlah pembahasan mengenai pengembangan aplikasi di Linux. DEB dan lain sebagainya. walaupun proyek yang dikembangkan tidaklah berskala besar. Hal ini barangkali tidak dimengerti oleh beberapa programmer Visual Basic yang mengganggap sistem operasi hanya ada satu di dunia ini. Penggunaan teknologi standar Sebagai contoh. Bagi software developer. Dukungan i18n dan l10n adalah hal yang penting. seberapa mampu Anda menjamin kelangsungan format file atau perusahaan Anda? Atau. terutama utility atau tools. Sediakan saja frameworknya. Perbanyak bahasa yang didukung. Internationalization dan localization Pembuatan program yang mendukung berbagai bahasa bukanlah pekerjaan yang harus dilakukan secara manual. Ingin pindah. Apabila target pengguna adalah perusahaan dan harga produk telah termasuk support. Suatu hari. Client-client Anda harus melakukan upgrade untuk dapat membaca format file baru tersebut. tapi tetap saja mungkin. Pasar akan lebih besar. Masalah seperti ini perlu senantiasa dicermati baik-baik. Aplikasi office Anda pun diupgrade. atau suatu hari Microsoft Office sudah tidak dikembangkan dan didukung lagi. Perusahaan yang menggunakan software yang mereka buat harus menggunakan Windows. Percayalah. efeknya akan terasa sangat besar.Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial UTAMA Pengembangan Aplikasi di Linux Pasar yang lebih besar S iapa target pengguna aplikasi Anda? Apabila Anda membuat program. Apabila aplikasi yang Anda buat hanya datang dengan dukungan bahasa Inggris. Sebagai software developer. Kian hari. yang jelas. dan kemudian menutup format file tersebut.web. Namun. hal-hal yang bisa diotomatisasi jangan sampai dikerjakan secara manual. Memang makin banyak perusahaan yang menggunakan Linux. XML kini digunakan diantaranya sebagai standar format file.infolinux. Bagi developer. Emulasi juga bukan solusi. Banyak konsumen menyukai dokumentasi yang lengkap. pertimbangkan selalu untuk datang dengan dokumentasi yang baik. Berbagai aplikasi office populer seperti StarOffice. tanyakan seberapa standar teknologi yang digunakan oleh suatu produk sebelum membeli. atau pengguna yang mau berusaha untuk mengerti bahasa Inggris. Tidak ada maksud untuk mengunggulkan pihak tertentu atau menjatuhkan pihak lainnya. Mintalah produk dengan teknologi standar agar ketika perusahaannya tidak lagi mendukung. buatlah agar berjalan di platform lain. Mereka membuat aplikasi bisnis tanpa berpikir panjang. Tentunya. Bagi perusahaan atau konsumen. apabila Anda adalah seorang software developer untuk aplikasi bisnis. gunakanlah bahasa yang www. Karena IT hanyalah sistem pendukung. Mengambil contoh StarOffice atau OpenOffice. Anda dapat memaketkannya dalam format paket-paket distribusi Linux seperti RPM. tapi ada aplikasi sejenis yang tidak berjalan di Linux. file pun tidak dapat dikopikan begitu saja. pengguna sistem operasi lain seperti Windows masih dominan. maka pastikan produk Anda dapat diinstall dengan mudah.org. Namun. Selamat berkreasi dan sukses! Multi platform Linux adalah sistem operasi yang sudah tidak diragukan lagi kemampuannya.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->