1 TUTORIAL NS2 SIMULASI JARINGAN NIRKABEL PADA NS2 Nirkabel merupakan salah satu bidang TI yang sedang berkembang. Melakukan riset atau percobaan di b...
irkabel merupakan salah satu bidang TI yang sedang berkembang. Melakukan riset atau percobaan di bidang wireless dengan jumlah mobile node yang sangat banyak, bukanlah hal yang mudah. Kendala biaya merupakan salah satu penghalang. Software open source NS2 menyediakan simulasi jaringan nirkabel dengan disertai protokol-protokol baru.
Node merupakan suatu kelas dalam Otcl, yang dapat didefinisikan sebagai mobile device atau komputer. Nilai-nilai yang diperlukan dalam konfigurasi node ada di Tabel 1. Misalkan tipe Link Layer kita ganti seperti di bawah ini. set val(ll)
LL
LL set mindelay_
50us
LL set delay_
25us
Untuk mengonfigurasi sebuah node, dapat menggunakan perintah: $ns_ node-config -parameter konfigurasi nilai
Posisi Node Dalam sebuah jaringan nirkabel, setiap node dapat bergerak dalam sebuah area. Posisi node dalam NS2 dinyatakan dalam sumbu X, Y dan Z. set n0 [$ns node] $n0 set X_ 0.0
$ns_ node-config
5.0”
routerTrace ON \
;# pada detik ke-10 n0 pada
posisi(5,10,5)
Topografi ini merupakan tempat di mana node bergerak. Penentuan daerah topografi ditentukan oleh panjang dan lebar. Berikut contoh pembuatan topografi: set val(panjang) 100 100
set daerah [new Topography] $daerah load_flatgrid $val(panjang)
Setelah membuat topografi, nama variabel topografi yang kita buat ditambahkan pada konfigurasi node. $ns_ node-config -topoInstance daerah
Pembuatan GOD GOD merupakan kepanjangan dari General Operations Director, yang berguna untuk menyimpan informasi global tentang jumlah node dan pergerakan node.
$n0 set Z_ 0.0
set god_ [create-god
Untuk menentukan gerak suatu node, dapat menggunakan penjadwalan dengan perintah setdest.
06/2007 INFOLINUX
set jejak
[open nirkabel.tr w]
$ns_ trace-all $jejak
Pembuatan Access Point Access point dalam NS2 juga dianggap sebagai node. Untuk menentukan node yang menjadi access point, maka kita perlu mendapatkan MAC dari node tersebut. set ap [$ns node]
$val(lebar)
set val(jumlahnode)
$n0 random-motion 0
Buat file yang bertugas melakukan pencatatan tersebut.
Membuat Topografi
set val(lebar)
-agentTrace ON -
-macTrace ON -movementTrace ON
$n0 set Y_ 0.0
Jika kita menentukan sendiri gerakan node selanjutnya, maka kita harus membuat nilai random motion node menjadi 0. Jika kita beri nilai selain 0, maka node akan bergerak secara acak.
52
$ns_ at 10.0 “$n0 setdest 5.0 10.0
10
$val(jumlahnode)]
Pembuatan File Pencatatan Jejak Pada tutorial sebelumnya, telah dijelaskan pencatatan jejak dengan NAM. Untuk kali ini, kita buat file pencatatan jejak agen, router, perpindahan dan MAC. Untuk mengaktifkan apa saja yang dicatat, kita buat nilainya menjadi ON.
set mac_ap [$ap getMac 0] set n1 [$ns node] set mac_n1 [$ap getMac 0]
Setelah mendapatkan MAC, kita perlu menentukan alamat Access point tersebut dan memberitahukan kepada node lainnya. set Alamat_AP [$mac_ap id] $mac_ap bss_id $Alamat_AP $mac_n1 bss_id $Alamat_AP
Contoh Skenario Simulasi jaringan nirkabel Pada skenario ini terdapat satu access point, dan dua buah mobile node dengan menggunakan agen UDP dan trafik CBR. #nama file : nirkabel.tcl set val(jumlahnode)
3
set val(panjang) 200 set val(lebar)
200
set ns_
[new Simulator]
set jejak
[open nirkabel.tr w]
$ns_ trace-all $jejak
www.infolinux.web.id
TUTORIAL NS2 #pembuatan topografi
$n0 set X_ 50.0
$ns_ at 10.0 “$n0 reset”
set daerah
$n0 set Y_ 50.0
$ns_ at 10.0 “$n1 reset”
$daerah load_flatgrid $val(panjang)
$n0 set Z_ 0.0
#panggil prosedur stop
$val(lebar)
$n1 set X_ 150.0
$ns_ at 11.00
set god_ [create-god
$n1 set Y_ 150.0
$ns_ at 10.00 “puts \”Selesai\””
$val(jumlahnode)]
$n1 set Z_ 0.0
proc stop {} {
#konfigurasi node
# perpindahan node
global ns_ jejak
$ns_ node-config -adhocRouting DSDV
$ns_ at 3.0 “$n0 setdest 55.0 40.0 0.0”
$ns_ flush-trace
-llType LL \
$ns_ at 6.0 “$n0 setdest 65.0 30.0 0.0”
close $jejak
-macType Mac/802_11 \
$ns_ at 4.0 “$n1 setdest 125.0 120.0
-ifqType Queue/
0.0”
puts “Mulai ...........”
DropTail/PriQueue
$ns_ at 7.0 “$n1 setdest 130.0 160.0
$ns_ run
\
0.0”
[new Topography]
-ifqLen 50 -antType
#membuat agent UDP dengan trafik
“stop”
exit 0 }
Untuk menjalan skenario di atas, ketikkan perintah:
Antenna/OmniAntenna
CBR n0 sebagai pengirim n1 sebagai
aini@luaini:$ ns nirkabel.tcl
\
penerima
num_nodes is set 3
set udp0 [new Agent/UDP]
warning: Please use -channel as
Propagation/
$udp0 set class_ 0
shown in tcl/ex/wireless-mitf.tcl
TwoRayGround \
$ns_ attach-agent $n0 $udp0
INITIALIZE THE LIST xListHead
set cbr0 [new Application/Traffic/CBR]
Mulai ...........
$cbr0 set packetSize_ 500
channel.cc:sendUp - Calc
$cbr0 set interval_ 0.005
highestAntennaZ_ and distCST_
Channel/
$cbr0 attach-agent $udp0
highestAntennaZ_ = 1.5,
WirelessChannel \
set null1 [new Agent/Null]
550.0
-propType
-phyType Phy/ WirelessPhy \ -channelType
$ns_ attach-agent $n1 $null1
SORTING LISTS ...DONE!
$daerah -agentTrace
$ns_ connect $udp0 $null1
Selesai ........
OFF \
#penjadwalan aliran trafik CBR
-topoInstance
distCST_ =
macTrace ON -
$ns_ at 9.0 “$cbr0 stop”
movementTrace ON \
#reset semua node
Jika skenario tersebut selesai dijalankan, file nirkabel.tr dapat dibuka untuk melihat proses yang terjadi selama skenario.
Tabel 1. Nilai-nilai yang diperlukan dalam konfigurasi node.
set ap [$ns_ node]
Opsi
Nilai
set n0 [$ns_ node]
addressType MPLS wiredRouting llType macType
flat, hierarchical ON, OFF ON, OFF LL, LL/Sat w Mac/802_11, Mac/Csma/Ca, Mac/Sat, Mac/Sat/UnslottedAloha, Mac/Tdma Queue/DropTail, Queue/DropTail/PriQueue Phy/WirelessPhy, Phy/Sat DIFFUSION/RATE, DIFFUSION/PROB, DSDV, DSR, FLOODING, OMNIMCAST, AODV, TORA Propagation/TwoRayGround, Propagation/Shadowing Propagation/TwoRayGround, Propagation/Shadowing Antenna/OmniAntenna Channel/WirelessChannel, Channel/Sat file topologi jaringan ON, OFF EnergyModel Nilai dalam joule Nilai dalam watt Nilai dalam watt Nilai dalam watt ON, OFF ON, OFF ON, OFFs ON, OFF
set n1 [$ns_ node] #mengambil nilai MAC set mac_ap [$ap getMac 0] set mac_n0 [$ap getMac 0] set mac_n1 [$ap getMac 0] #node ap sebagai AP set Alamat_AP [$mac_ap id] #semua node diberi tahu base sation ID $mac_ap bss_id $Alamat_AP $mac_n0 bss_id $Alamat_AP $mac_n1 bss_id $Alamat_AP #gerakan acak ditiadakan $ap random-motion 0 $n0 random-motion 0 $n1 random-motion 0 #penentuan posisi masing2 node $ap set X_ 100.0 $ap set Y_ 100.0 $ap set Z_ 0.0
Default flat OFF OFF “” “” “” “” “” “” “” “” “” “” OFF “” “” “” “” “” OFF OFF OFF OFF
INFOLINUX 06/2007
53
TUTORIAL GNUPLOT
Visualisasi Interaktif dengan gnuplot
P
engguna komputer dari kampus dan lembaga penelitian yang kerap bergelut dengan data, grafis, atau perhitungan matematis yang rumit, biasanya sudah mengenal MATLAB, Maple, atau MathCad. Salah satu pengganti software sejenis itu di Linux adalah gnuplot.
Software MATLAB, Maple, atau MathCad merupakan peranti hitung canggih, berantarmuka cantik, dan mengusung segudang kemampuan numerik. Namun sayang, software tersebut merupakan produk komersial yang tidak murah harganya. Satu hal unik, para penggunanya sering kali hanya mengeksplorasi dan menggunakan sejumput saja, dari segudang kecanggihan yang dibawa software tersebut. Bagaimana di GNU/Linux? Adakah peranti kerja yang bisa menggantikan peran software di atas? Hohoho..., jangan khawatir! Kalau sekedar software matematika atau sains, di GNU/Linux sangat melimpah. Lagipula, sistem operasi ini dan beragam aplikasinya terus tumbuh berkembang, terutama oleh kalangan akademisi dan saintis. Beberapa software yang layak dicoba di antaranya adalah Scilab, GNU Octave, Grace, dan gnuplot. Software tersebut bukanlah berkelas “ecek-ecek”, karena lahir dari otak brilian para saintis. Software tersebut telah terbukti dapat memenuhi kebutuhan penggunanya, terutama untuk komputasi saintifik, dan mengeplot grafik. Pada artikel ini, penulis akan mengupas sebagian kemampuan gnuplot. Software berwajah lugu yang dijalankan melalui mode CLI (command line interface) ini, ternyata digemari pengguna dari lingkungan kampus dan lembaga penelitian. Grafik yang ditelurkan gnuplot sudah tak terhitung banyaknya, dan bisa dijumpai di berbagai publikasi ilmiah. Bahkan, lembaga sekaliber NASA
54
06/2007 INFOLINUX
turut menggunakannya untuk membuat peta cuaca.
Tentang gnuplot Merujuk dokumentasi resminya, gnuplot adalah program untuk mengeplot grafik (plotting) secara interaktif. Software ini dapat digunakan untuk mengeplot fungsi matematis maupun data, semisal data dari hasil eksperimen. Dengan gnuplot, pengguna bisa memperoleh grafik 2D maupun 3D. Meski ada embel-embel “gnu”, software ini bukanlah keluarga GNU Project maupun Free Software. Meski demikian, dalam perjalanannya, software ini memiliki kaitan erat dengan beberapa proyek keluaran GNU. Contohnya adalah GNU Octave yang menggunakan gnuplot sebagai mesin-pengeplot (plotting-engine). Satu hal yang juga sering keliru adalah tentang penulisan nama software ini. Bukan “GNU Plot” atau “GNUplot”. Menurut Thomas Williams, salah satu kreator software ini, penamaan yang benar adalah “gnuplot”. Dengan demikian, meski ditulis di awal kalimat atau judul naskah, penulisannya tetap menggunakan huruf kecil (lower case letter). Sejak kelahirannya pada tahun 1986, fungsi utama gnuplot adalah untuk menampilkan visualisasi data saintifik. Meski tampilan antarmukanya tak mewah, software ini mampu menghadirkan grafik yang indah. Bersama dengan TeX/LaTeX, gnuplot bisa dikolaborasikan untuk meng-
hasilkan makalah atau karya tulis ilmiah dengan tampilan berkualitas tinggi. Kini, dengan rentang usia yang panjang, apa yang bisa diberikan gnuplot? Berikut ini beberapa di antaranya: Mengeplot fungsi dan titik-titik data dua dimensi dengan berbagai gaya (titik, garis, ralat). Mengeplot fungsi dan titik-titik data tiga dimensi dengan berbagai gaya (kontur, mesh). Komputasi aljabar dengan bilangan ulat, float, maupun kompleks. Mulus dijalankan pada beragam sistem operasi (antara lain UNIX, GNU/ Linux, MS Windows, MS DOS, dan IBM OS/2). Mendukung beragam format gambar (antara lain EPS, PNG, SVG, dan JPEG). Memiliki fasilitas history dan pengeditan baris perintah secara interaktif.
Memasang gnuplot Versi teranyar pada saat artikel ini ditulis adalah gnuplot 4.2, yang dirilis pada 3 Maret 2007. Ada rentang waktu sekitar tiga tahun dari versi sebelumnya, yaitu gnuplot 4.0, yang dirilis 16 April 2004. Untuk mengunduh, ada baiknya Anda masuk dulu ke situs http://www.gnuplot.info/. Namun bila koneksi Internet belum memungkinkan, Anda tak perlu khawatir. Software pengeplot ini telah dipaketkan bersama ratusan software lainnya di distro GNU/Linux yang Anda pakai.
www.infolinux.web.id
TUTORIAL GNUPLOT
Memulai gnuplot dari Konsole.
Untuk memasangnya, gunakan saja fasilitas penginstalan yang diberikan oleh distro tersebut. Misalnya, YaST di openSUSE dan MCC di Mandriva Linux.
Memulai gnuplot Untuk mulai mencicipi gnuplot, jalankanlah Terminal yang Anda suka. Di KDE, klik ikon Konsole di Panel. Di GNOME, caranya tak beda jauh. Saat Konsole tampil di layar, berikan perintah berikut, dan lanjutkan dengan menekan tombol Enter. $ gnuplot
Segera setelah tombol Enter ditekan, gnuplot akan menyajikan banner dan penjelasan singkat tentang software ini. Di baris bawah akan muncul prompt berbentuk gnuplot> . Di depan prompt inilah tempat untuk menuliskan perintah-perintah yang akan dieksekusi gnuplot. Beberapa perintah penting adalah perintah untuk mengeplot grafik, menyimpan daftar perintah yang telah diberikan ke sebuah berkas (file), memanggil berkas, dan perintah untuk keluar. Untuk keluar dari gnuplot, perintah yang bisa diberikan adalah “exit” maupun “quit”. Namun bisa juga dengan perintah “q”. Perlu diperhatikan, bila telah keluar dari gnuplot, maka segala perintah yang pernah dibuat tidak akan terdokumentasi dan hilang. Untuk itu, ada baiknya Anda menyimpan perintah-perintah untuk setiap grafik yang dibuat. Caranya adalah dengan memberi perintah “save”, diikuti nama berkas. Misalnya: gnuplot> save “simpan01.plt”
Bila di direktori tempat menyimpan berkas itu telah ada berkas dengan nama sama, maka berkas lama akan ditimpa
www.infolinux.web.id
Tampilan awal gnuplot.
(overwritten) oleh gnuplot, tanpa ada peringatan terlebih dahulu. Jadi, pakailah nama yang berbeda, unik, namun mudah dimengerti. Berkas yang telah disimpan, dapat dipanggil dari prompt gnuplot dengan cara berikut: gnuplot> load “simpan01.plt”
Setelah gnuplot membaca berkas tersebut, Anda akan dibawa kembali ke prompt gnuplot>. Pemanggilan berkas bisa juga dilakukan dari prompt Terminal – misal Konsole – dengan cara berikut: $ gnuplot simpan01.plt
Setelah gnuplot selesai membaca berkas tersebut, Anda akan dibawa kembali ke prompt Terminal.
Mengedit Perintah Saat mengetikkan perintah di prompt gnuplot, tak jarang akan terjadi kesalahan ketik. Untuk mengedit dan membetulkannya tidaklah susah. Anda bisa memanfaatkan tombol Control untuk keperluan seperti ini. Pada tabel, disajikan cara mengedit perintah pada prompt gnuplot. Tombol Perintah Fungsi Ctrl+B Ctrl+F Ctrl+A Ctrl+E Ctrl+H Ctrl+D Ctrl+K Ctrl+U Ctrl+W Panah atas Panah bawah
Mundur satu karakter Maju satu karakter Bergerak ke awal baris perintah Bergerak ke akhir baris perintah Menghapus karakter sebelum kursor Menghapus karakter pada kursor Menghapus dari posisi kursor hingga akhir baris perintah Menghapus seluruh baris perintah Menghapus kata hingga akhir baris perintah Memanggil perintah yang pernah ditulis Memanggil perintah yang pernah ditulis
Membuat Grafik 2D Untuk mengeplot grafik 2 dimensi, gnuplot menyediakan perintah “plot”. Sebagai contoh pertama, untuk membuat grafik y = sin(x), perintahnya adalah seperti berikut: gnuplot> plot sin(x)
Hasil penggambaran fungsi tersebut akan muncul di jendela baru. Jendela visualisasi ini bisa ditutup dengan menekan tombol Q. Garis kotak hitam-tebal yang melingkupi grafik disebut “border”. Untuk memberi nama pada sumbu-X, Anda bisa mengaturnya pada parameter “xlabel”. Untuk sumbu-Y, parameternya adalah “ylabel”. Jangkauan (range) untuk sumbu-X dan sumbu-Y bisa pula diatur. Secara default, jangkauan untuk sumbu-X adalah dari 10 hingga 10, sedangkan jangkauan pada sumbu-Y akan disesuaikan oleh gnuplot. Untuk mengatur jangkauan sumbuX, digunakan perintah “xrange”. Untuk jangkauan sumbu-Y, perintahnya adalah “yrange”. Grafik yang dihasilkan bisa diberi judul dengan mengatur parameter perintah “title”. Contoh berikut akan menampilkan fungsi y = cos(x) dengan jangkauan sumbu-X dari 0 hingga 7, dan jangkauan untuk sumbu-Y dari -1,5 hingga 1,5. Sumbu-X akan diberi label “Sumbu X”, dan sumbu-Y dengan label “Sumbu Y”. Grafik ini diberi judul “Grafik fungsi y=cos(x)”. Perintahperintah yang diberikan adalah seperti berikut ini: gnuplot> set title “Grafik fungsi y=cos(x)” gnuplot> set xlabel “Sumbu X” gnuplot> set ylabel “Sumbu Y” gnuplot> set xrange [0:7]
INFOLINUX 06/2007
55
TUTORIAL GNUPLOT
Hasil penggambaran fungsi y = cos(x).
Menampilkan grafik fungsi y = sin(x). gnuplot> set yrange [-1.5:1.5] gnuplot> plot cos(x)
Untuk fleksibilitas penggunanya, gnuplot mampu mengenali konstanta. Konstanta yang diberikan bisa berupa konstanta yang dikenal oleh gnuplot, maupun konstanta yang didefinisikan oleh pengguna. Salah satu konstanta yang dikenal gnuplot adalah π. Sebelum membuat grafik baru, ada baiknya layar visualisasi dikembalikan ke pengaturan default. Hal ini bisa dilakukan dengan memberikan perintah “reset”. Contoh berikut akan menampilkan fungsi y = a * sin(x) dengan -2π <x<2 π. Konstanta a bernilai 2. Perintah yang diberikan adalah seperti berikut:
Grafik 3D secara umum dirumuskan dengan persamaan z = f(x,y). Pada perintah splot, titik-nol sumbu-Z terletak di atas bidangXY. Agar berpindah pada bidang-XY, Anda bisa menggunakan perintah “set ticslevel”. Dengan ticslevel bernilai 0, maka titik-nol sumbu-Z akan bergeser pada bidang-XY. Contoh berikut akan menampilkan sebuah grafik 3D: gnuplot> reset gnuplot> set xrange [-3:3] gnuplot> set yrange [-3:3] gnuplot> set isosample 40 gnuplot> splot exp(-x*x)*exp(y*y)
Menggeser grafik pada bidang XY.
memudahkan proses analisis. Fitur ini bisa dinikmati, mulai gnuplot versi 4.0. Parameter penting yang diperlukan adalah “pm3d”. Contoh berikut akan menunjukkannya: gnuplot> reset
gnuplot> reset
gnuplot> set isosample 40
gnuplot> set title “Grafik fungsi
gnuplot> set pm3d
y=a*sin(x), a=2.0”
gnuplot> splot sin(sqrt(x**2+y**2))/
gnuplot> set xlabel “Sumbu X”
sqrt(x**2+y**2)
gnuplot> set ylabel “Sumbu Y” gnuplot> set xrange [-2*pi:2*pi] gnuplot> a=2.0 gnuplot> plot a*sin(x) Grafik 3D fungsi z = exp(-x*x)*exp(-y*y).
Sekarang kita coba menggeser sumbu-Z, agar berada pada bidang-XY, dengan memberi nilai 0 pada ticslevel. Perintah “replot” digunakan untuk mengeplot ulang fungsi yang diberikan sebelumnya.
Tampilan berwarna pada grafik 3D.
gnuplot> reset gnuplot> set xrange [-3:3] gnuplot> set yrange [-3:3] Grafik fungsi dengan pemberian konstanta.
gnuplot> set isosample 40 gnuplot> set ticslevel 0
Membuat Grafik 3D Untuk membuat grafik 3 dimensi, perintah yang disediakan gnuplot adalah “splot”.
56
06/2007 INFOLINUX
gnuplot> replot
Pada beberapa kasus, tampilan grafik yang berwarna sangat diperlukan untuk
Membuat Visualisasi Data Bagi saintis maupun mahasiswa yang sedang melakukan penelitian, data eksperimen adalah harta yang sangat berharga. Data eksperimen belum mudah dianalisis, bila masih tersaji dalam bentuk angka. Untuk mempermudah analisis,
www.infolinux.web.id
TUTORIAL GNUPLOT data tersebut perlu divisualisasikan ke dalam bentuk grafik. Data hasil eksperimen biasanya ditabulasikan menjadi 2 kolom. Data jenis ini akan menghasilkan grafik 2D. Ada kalanya data eksperimen disajikan menjadi 3 kolom. Data jenis ini bisa disulap membentuk grafik 3D. Pada dasarnya, data hasil eksperimen bisa disimpan sebagai berkas teks biasa (plain text). Antarkolom bisa dipisahkan oleh spasi kosong, maupun dengan tombol Tab. Penyimpanan berkas data seperti ini dikenali gnuplot. Baris yang diawali dengan tanda #, akan diabaikan oleh gnuplot. Berikut ini satu contoh file data eksperimen yang disimpan dalam bentuk 2 kolom. File ini disimpan dengan nama data2D.dat. #X
Y
1.00 2.00 3.00 4.00
1.00 4.00 9.00 16.00
Jika kolom pertama digunakan untuk sumbu-X dan kolom kedua untuk sumbuY, maka untuk mengeplotnya perlu ditambahkan perintah “using”, sehingga perintah yang diberikan menjadi seperti berikut:
Mengolah hasil visualisasi gnuplot menggunakan The GIMP.
hanya segitu. Anda tentu menginginkan hasil visualisasi tersimpan menjadi berkas gambar semisal PNG atau JPG. Dengan cara ini, dokumen laporan penelitian yang ditulis dengan pengolah kata seperti OOo Writer, akan bisa diperkaya dengan grafik yang representatif. Anda menginginkan format JPG? Bisa! Cara ini agak panjang tetapi tidak sulit. Langkah yang perlu dilakukan adalah meminta bantuan xwd dan pengolah gambar semisal The GIMP. Caranya demikian: gnuplot> reset
gnuplot> plot “data2D.dat” using 1:2
gnuplot> set xrange [-3.5:3.5]
Berikut ini contoh berkas data eksperimen yang disimpan dalam bentuk 3 kolom. Berkas ini disimpan dengan nama data3D.dat.
gnuplot> set yrange [-5.0:5.0]
#X
Y
Z
1.00 2.00 3.00 4.00
1.00 4.00 9.00 16.00
1.00 8.00 27.00 64.00
Seperti halnya pada contoh data 2D di atas, untuk menjadikan kolom pertama sebagai data untuk sumbu-X, kolom kedua sebagai sumbu-Y, dan kolom ketiga sebagai sumbu-Z, maka pemakaian parameter “using” untuk mengeplot data ini menjadi: gnuplot> plot “data3D.dat” using 1:2:3
Mengolah Hasil Visualisasi Secara default, hasil visualisasi gnuplot langsung terpampang di layar monitor. Tentu tidak akan menarik, bila kemampuan gnuplot
www.infolinux.web.id
gnuplot> set hidden3d gnuplot> set isosample 40 gnuplot> splot x*x*exp(x*x)*y*y*exp(-y*y)
Sampai pada perintah ini, gnuplot akan menampilkan jendela baru yang memvisualisasikan persamaan tersebut. Berpindahlah kembali ke jendela Terminal (Konsole), kemudian berikan perintah berikut: gnuplot> shell
Perintah di atas akan membawa Anda pada prompt shell (Konsole). Selanjutnya, ketikkan perintah berikut: $ xwd > visual01.xwd
Perhatikan bahwa kursor tetikus akan berubah. Ini menunjukkan bahwa Anda harus menangkap jendela visualisasi hasil keluaran gnuplot. Tampilkan jendela tersebut. Anda bisa menggunakan kombinasi tombol Alt+Tab untuk berpindah antar jendela. Setelah jendela visualisasi aktif, klik jendela tersebut. Selanjutnya, pada prompt shell
tulis perintah berikut untuk kembali ke prompt milik gnuplot, $ exit
Langkah-langkah yang Anda lakukan di atas akan menghasilkan sebuah berkas bernama visual01.xwd. Berkas ini bisa dibuka menggunakan The GIMP. Dengan The GIMP, Anda bisa mengubahnya menjadi berkas gambar berformat JPEG, PNG, atau format gambar lainnya. Cara lain yang biasa dilakukan adalah dengan menyimpannya menjadi berkas postscript. Langkah ini biasanya dilakukan bila dokumen dibuat menggunakan pemformatan LaTeX. Untuk menyimpan hasil visualisasi gnuplot menjadi berkas postscript tidaklah sulit. Dengan asumsi berkas keluarannya disimpan dengan nama grafik1. eps, berikut ini caranya: gnuplot> reset gnuplot> set terminal postscript eps gnuplot> set output “grafik1.eps” gnuplot> plot [x=-2*pi:2*pi] sin(x) title “Grafik sin(x)”
Di KDE, berkas postscript bisa dibuka menggunakan KGhostViewer.
Penutup Pada artikel ini, penulis hanya menyajikan sekelumit kemampuan gnuplot. Tentu saja masih banyak kemampuan gnuplot yang belum tersaji. Penulis berharap, semoga Anda akan menemukan keasyikan saat berkutat dengan grafik fungsi matematis, dan memiliki inspirasi baru saat bergelut dengan data. Adi Nugroho [[email protected]]
INFOLINUX 06/2007
57
TUTORIAL KAMUS
Membangun Kamus Dua Bahasa Bagian 2 dari 2 Tulisan
D
i edisi sebelumnya, kita sudah membahas tentang struktur database dan cara kerja kamus secara umum. Sudah kita bahas pula berbagai user interface, termasuk CLI dengan bahasa C dan shell script, Text user interface dengan shell script+dialog, dan GUI dengan shell script+Xdialog. Di edisi ini, kita akan membahas interface web dengan PHP.
Seperti telah dibahas sebelumnya, database yang kita gunakan adalah sqlite versi 3. PHP sendiri, yang sudah dengan dukungan akan sqlite. Namun pada saat tulisan ini dibuat, versi sqlite yang didukung adalah sqlite 2.x (Sqlite 3 didukung melalui PDO Sqlite). Agar bisa mengakses database sqlite versi 3 dengan mudah, kita perlu terlebih dahulu menginstal modul php-sqlite3. Setelah modul tersebut diinstal, barulah kita bisa masuk ke pembahasan source code. Semua contoh di tulisan ini dibangun di atas sistem Zenwalk Linux 4.4.1, namun seharusnya bisa bekerja tanpa masalah di sistem lainnya. Versi Apache yang digunakan adalah 2.2.3, dan versi PHP yang digunakan adalah 5.2.0. Versi modul php-sqlite3 yang digunakan adalah 0.4.
Instalasi php-sqlite3 Pertama-tama, download-lah terlebih dahulu modul php-sqlite3 di http://sourceforge. net/project/showfiles.php?group_id=150569. Setelah itu, lakukanlah langkah-langkah berikut ini: Ekstrak archive, dan masuk ke direktori hasil ekstrak $ tar zxvf sqlite3-0.4.tgz $ cd sqlite3-0.4
Lakukanlah phpize dengan perintah berikut:
58
PHP Api Version:
20041225
Zend Module Api No:
20060613
Zend Extension Api No: 220060519
Lakukanlah konfigurasi dengan perintah berikut: $ ./configure