Program Aplikasi Dalam GNU/Linux

Bab 3 Program Aplikasi Dalam GNU/Linux

Dalam bab ini akan diambil beberapa contoh program aplikasi

yang tersedia di GNU/Linux. Dengan mengetahui adanya beberapa program aplikasi tersebut maka pengguna diharapkan

dapat memanfaatkan GNU/Linux sebagai sitem operasi yang siap untuk menyelesaikan segala pekerjaan yang dihadapinya.

Sejak pertama kali dirintis oleh Linus Torvalds pada tahun 1991 [1], GNU/Linux sudah menjadi sistem operasi bak Unix Unix-like yang stabil 1 dan dipakai oleh berba-

gai lembaga riset dan universitas ternama di seluruh dunia untuk riset sains. Untuk menyebut sekedar contoh dalam bidang fisika, lembaga dan universitas tersebut an- tara lain ICTP (International Center for Theoretical Physics) di Trieste Italia, Purdue University di USA, Imperial College di UK, University of Paderborn di German dan sebagainya. Kelompok Fisika Komputasi di laboratorium Fisika Atom-Inti FMIPA- UGM merupakan salah satu laboratoriom di Indonesia yang segala fasilitasnya sejak awal dan secara keseluruhan dirancang berdasarkan GNU/Linux. Tiga alasan dis- amping banyak alasan lain terhadap pertimbangan ini adalah seperti yang disinggung dalam bagian (1) di depan.

Kesangsian yang pada umumnya muncul adalah : Apakah seorang pengguna masih terus dapat bekerja menggunakan komputer dengan mudah seperti saat meng- gunakan DOS/Windows dalam menyelesaikan pekerjaan yang dihadapinya ? Tidak adanya paket Microsoft Office dalam Linux menyebabkan muncul pertanyaan : bagaimana untuk membuat dokumen dan menampilkan data dalam bentuk grafik ? Tidak adanya

1 Kernel Linux terakhir yang stabil adalah versi 2.2.x 1 Kernel Linux terakhir yang stabil adalah versi 2.2.x

Argumen yang pertama adalah terkait dengan jawaban dari beberapa pertanyaan umum di atas. Adalah benar bahwa paket Office tidak ada di dalam GNU/Linux, na- mun yang tidak ada tersebut adalah paket Office yang dibuat oleh Microsoft. Sedan- gkan paket Office yang dibuat oleh perusahaan lain sebenarnya tersedia dalam Linux, sebagai contoh Star Office dari Star Division, Applixware dari Redhat, KOffice dari KDE dan sebagainya. Hal sama juga terjadi untuk paket perangkat lunak yang lain. Dalam GNU/Linux mungkin tidak tersedia paket olah foto seperti PhotoShop dari Adobe namun tersedia Gimp dari Spencer Kimball dan Peter Mattis yang memili- ki kesamaan fasilitas. Dengan kata lain, adanya anggapan bahwa satu paket pro- gram tidak tersedia dalam GNU/Linux pada umumnya lebih disebabkan karena paket tersebut dalam Linux memiliki nama lain yang belum dikenal pengguna sistem op- erasi DOS/Windows.

Argumen yang kedua adalah adanya kemampuan GNU/Linux dalam menangani berbagai masalah yang menyangkut saintifik. Kemampuan ini sebenarnya tidak lep- as dari tujuan awal ketika GNU/Linux diciptakan yaitu untuk menjadi sistem operasi yang bak UNIX dan bahkan dalam perkembangannya sekarang menuju ke sistem op-

erasi yang mengikuti aturan bawaan UNIX (POSIX compliance) 2 . Ini berarti bahwa paket program yang dapat bekerja di UNIX juga hampir dipastikan dapat dijalankan

di GNU/Linux. Itulah sebabnya program-program yang sudah baku di UNIX sebagai contoh paket editor seperti Vi, Emacs, paket pengarsipan dan pengkompresan berkas seperti TAR, ZIP, GZIP atau COMPRESS, paket type setting seperti TROFF, TEX atau L A TEX, paket antarmuka bahasa Postscript seperti GHOSTSCRIPT juga men- jadi baku di GNU/Linux. Dengan sedikit mengingat sejarah ke belakang, jauh se- belum DOS/Windows diciptakan, UNIX sudah memainkan peran yang sangat pent-

2 POSIX=Portable Operating System Interface for uniX 2 POSIX=Portable Operating System Interface for uniX

Keberatan utama para calon pengguna GNU/Linux adalah terhadap feel & taste sistem operasi ini dibanding sistem operasi lain. Kesan pertama yang muncul saat menggunakan GNU/Linux adalah rumit dan tidak ramah (user friendly) karena ham- pir segala hal harus dipanggil menggunakan perintah tertentu melalui terminal. Ter- lepas dari argumen pengguna GNU/Linux (UNIX) bahwa dengan mekanisme semacam ini maka si pengguna akan lebih mampu dalam mengontrol komputer, namun hal ini merupakan sumber penyebab rasa frustasi bagi pengguna baruyang terbiasa dengan GUI dalam MS Windows. Usaha beberapa penyalur GNU/Linux seperti Redhat, SuSE, Turbo Linux dan Caldera untuk membuat agar GNU/Linux lebih user friend- ly tanpa meninggalkan kehandalannya nampaknya pantas mendapat nilai plus dari setiap pengguna GNU/Linux sekarang ini. Dalam memberikan beberapa contoh di bawah, program aplikasi akan dikelompokkan berdasar fungsi program tersebut. Un- tuk memudahkan alur pembicaraan, tiap kelompok program akan diuraikan berurutan berdasarkan tahapan yang biasanya dihadapi oleh seseorang ketika menyelesaikan masalah komputasi. Beberapa tahap tersebut antara lain :

1. Tahap pertama adalah merumuskan masalah ke dalam suatu bentuk ungka- pan matematika yang sederhana dan sekompak mungkin. Perumusan tersebut dalam banyak hal sangat sulit sehingga diperlukan bantuan komputer untuk

3 Keuntungan ini semakin nyata dengan mengingat bahwa unjuk kerja PC sekarang tidak kalah dengan unjuk kerja work-station pada 5 atau beberapa tahun yang lalu 3 Keuntungan ini semakin nyata dengan mengingat bahwa unjuk kerja PC sekarang tidak kalah dengan unjuk kerja work-station pada 5 atau beberapa tahun yang lalu

• text editor seperti vi, emacs, nedit, kwrite, kedit, gedit dan yang lain

• bahasa pemrograman seperti basic, fortran, pascal, c dan yang lain

• paket program matematika seperti mathematica, mupad, octave, scilab dan yang lain.

2. Tahap kedua adalah tahap analisis data atau tampilan grafik. Dalam tahap ini diperlukan paket program yang dapat membuat plot data atau menampilkan liku fungsi matematika yang diperoleh dari tahap pertama. Beberapa paket program yang berguna dalam menampilkan plot dan grafik antara lain

• library yang berisi algoritma pembangkit grafik baik 2 dimensi maupun

3 dimensi seperti dislin, plot motiv dan yang lain • paket plot data interaktif seperti gnuplot, xmgrace dan sebagainya

3. Tahap yang ketiga adalah pembuatan dokumen atau laporan atas hasil yang diperoleh dari kedua tahap sebelumnya. Dua jenis paket penghasil dokumen antara lain

• type setting seperti TEX, L A TEX, lyx dan yang lain • word processor seperti star office, applixware, Koffice dan

sebagainya.

3.1 Text editor

Text editor memegang peranan penting dalam GNU/Linux (juga UNIX) mengingat hampir semua berkas tentang konfigurasi sistem divais dalam GNU/Linux berben- Text editor memegang peranan penting dalam GNU/Linux (juga UNIX) mengingat hampir semua berkas tentang konfigurasi sistem divais dalam GNU/Linux berben-

untuk membuat source code dengan bahasa pemrograman yang diinginkan seperti pascal, fortran, c/c++ atau juga untuk membuat dokumen menggunakan pro- gram type setting seperti L A TEX. Karena hampir setiap pekerjaan dalam GNU/Linux melibatkan text editor, maka fasilitas text editor yang ada di dalam GNU/Linux pada umumnya tidak sekedar untuk membuka, menyunting dan menyimpan berkas tetapi dilengkapi fasilitas yang sangat lengkap dan rumit seperti kemampuan menyunting beberapa berkas sekaligus, memahami tipe berkas secara otomatis dan bahkan men- jalankan perintah GNU/Linux yang lain tanpa harus menutup lebih dahulu text editor tersebut. Berikut ini akan disinggung tiga jenis text editor di antara banyak pilihan yang lain.

3.1.1 Vi

Vi merupakan text editor baku dalam GNU/Linux dan UNIX. Sisi unik editor vi adalah apada kesan yang ditimbulkannya. Bagi pemula, vi terkesan sangat kaku, tidak ramah dan sangat sulit untuk digunakan. Tetapi bagi pengguna tingkat lanjut (termasuk kelompok hackers dan crackers), vi adalah editor pilihan yang mampu melakukan tugas yang rumit, memiliki perintah yang lengkap sekaligus hanya mem- butuhkan resources yang minim. Untuk bekerja, vi tidak memerlukan memori, ke- cepatan prosesor dan kebutuhan display grafik yang besar. Vi dapat bekerja dalam lingkungan GUI maupun terminal sederhana.

Untuk memanggil vi maka ketik perintah berikut dari terminal. Jika berada dalam bentuk GUI maka terminal dapat diaktifkan dengan menge-klik tombol kiri mouse satu kali pada gambar mirip monitor yang biasanya terletak di panel bawah monitor.

pn@atom99:~ > vi Setelah ditekan tombol Enter maka kita akan melihat seluruh terminal window ter-

isi bentuk seperti gambar (3.1).

4 Istilah script dalam GNU/Linux diartikan sebagai urutan beberapa perintah yang dipadukan dalam bentuk berkas sedemikian hingga menjalankan (execute) berkas tersebut akan sama pengaruh-

nya dengan menjalankan beberapa perintah yang terkandung pada isi berkas tersebut secara berurutan sekaligus.

Gambar 3.1: Tampilan editor vi

Dengan tampilan awal seperti gambar tersebut jangan heran ketika kita mengetik sesuatu huruf maka sepertinya tidak ada respon dari vi. Ini merupakan hal yang normal. Alasannya adalah karena terdapat dua keadaan atau mode dalam vi. Keadaan pertama disebut keadaan perintah (command mode). Dalam keadaan ini peranan setiap tombol pada keyboard bukan untuk memberikan masukan huruf tetapi sebagai masukan perintah.

Keadaan kedua disebut keadaan masukan (input mode). Dalam keadaan inilah apa yang kita pejet pada keyboard akan muncul sebagai huruf pada vi persis seperti halnya waktu kita memejet salah satu tombol pada mesin ketik maka huruf yang terkait akan muncul di kertas.

Dalam keadaan normal (default) sebagai contoh saat pertama kali dipanggil, vi berada dalam kondisi command mode. Untuk berpindah ke input mode maka kita ketik i sebagai kependekan dari insert atau sisip. Kalau kita perhatikan, setelah ditekan tombol i tersebut maka akan muncul tambahan tulisan --INSERT-- pada bagian kiri bawah gambar (3.1) di atas. Ini merupakan tanda bahwa vi siap menyunt- ing setiap huruf yang kita masukkan melalui keyboard. Untuk berpindah lagi ke com- mand mode maka kita ketik tombol Esc dan setiap tombol pada keyboard sekarang berfungsi sebagai perintah tertentu. Dengan asumsi bahwa kita berada dalam input mode maka beberapa perintah penting yang pantas untuk dipahami dalam menggu- nakan editor vi ini antara lain Dalam keadaan normal (default) sebagai contoh saat pertama kali dipanggil, vi berada dalam kondisi command mode. Untuk berpindah ke input mode maka kita ketik i sebagai kependekan dari insert atau sisip. Kalau kita perhatikan, setelah ditekan tombol i tersebut maka akan muncul tambahan tulisan --INSERT-- pada bagian kiri bawah gambar (3.1) di atas. Ini merupakan tanda bahwa vi siap menyunt- ing setiap huruf yang kita masukkan melalui keyboard. Untuk berpindah lagi ke com- mand mode maka kita ketik tombol Esc dan setiap tombol pada keyboard sekarang berfungsi sebagai perintah tertentu. Dengan asumsi bahwa kita berada dalam input mode maka beberapa perintah penting yang pantas untuk dipahami dalam menggu- nakan editor vi ini antara lain

Esc d d

menghapus baris di tempat kursor berada

Esc : e berkas menyunting berkas dengan nama berkas Esc : w

menyimpan berkas dan meneruskan proses penyuntingan Esc : w q

menyimpan berkas dan keluar dari vi

Esc : q ! keluar vi tanpa menyimpan berkas yang disunting Esc : help

informasi tentang segala hal menyangkut cara menggunakan vi

3.1.2 KWrite

Jika vi adalah iditor pilihan bagi pengguna lanjut maka KWrite merupakan editor yang cocok untuk pemula. Bentuk tampilannya yang GUI, adanya pilihan menu ser- ta berfungsinya mouse merupakan beberapa fitur yang memudahkan pemula dalam menggunakannya. Kelebihan ini tentunya harus diimbangi dengan kelemahan lain yaitu dibutuhkannya memori yang besar dan kecepatan prosesor yang tinggi mengin- gat X-Window perlu diaktifkan sebelum KWrite dapat digunakan. Jika terinstall pada komputer yang kita hadapi maka KWrite dapat dipanggil dengan meng-klik mouse pada K-panel yang terletak pada pojok kiri bawah desktop KDE, kemudian memilih menu Editors dan dilanjutkan memilih sub-menu Advanced Editor. Apabila berhasil maka tampilan KWrite akan terlihat seperti gambar (3.2).

Adanya beberapa menu serta icon pada KWrite akan memudahkan bagi pengguna untuk melakukan penyuntingan berkas. Sebagai contoh : pada menu File akan ter- dapat beberapa sub menu untuk membuka ( Open), menyimpan (Save) atau menge- print ( Print) berkas sedangkan pada menu Edit akan terdapat sub menu untuk menghapus ( Cut), menyalin (Copy) serta melekatkan (Paste) sebagian tulisan pa-

da berkas. Jika diinginkan kita juga dapat memanfaatkan sejumlah icon yang tampil di bawah menu. Sebagai contoh : icon berbentuk arsip terbuka berfungsi untuk mem- buka berkas, icon berbentuk disket untuk menyimpan dan yang berbentuk printer untuk menge-print berkas.

Gambar 3.2: Tampilan editor KWrite

3.1.3 Emacs dan XEmacs

Emacs dan XEmacs dapat dikatakan sebagai text editor dengan fitur yang meru- pakan perpaduan antara fitur yang dimiliki oleh vi dan KWrite. Ini berarti Emacs dan XEmacs memiliki fasilitas penyuntingan berkas yang lengkap dan handal seperti vi sekaligus memiliki fasilitas menu untuk kemudahan penyuntingan seperti KWrite. XEmacs dan Emacs sebenarnya dua text editor kembar. Ini berarti keduanya pada hakekatnya memiliki sifat, fasilitas dasar dan kehandalan yang sama. Yang mem- bedakan hanyalah bentuk tampilan GUI antara keduanya saja. Secara umum bentuk GUI dari XEmacs lebih ramah dibanding Emacs dengan adanya tambahan beberapa icon disamping menu baku.

Apabila di antara menu pilihan pada K-panel khususnya pada sub-menu Ed- itors tidak terdapat pilihan Emacs atau XEmacs maka cara tercepat untuk mengak- tifkan Emacs atau XEmacs adalah dengan mengetik perintah berikut pada terminal.

pn@atom99:~ > emacs Atau pn@atom99:~ > xemacs

Untuk menunjukkan bahwa antara keduanya terdapat kemiripan, gambar (3.3) menampilkan bentuk GUI dari Emacs dan XEmacs ketika ditampilkan bersamaan.

Gambar 3.3: Bentuk editor XEmacs dan Emacs Tiga fitur penting yang ada pada Emacs atau XEmacs dan tidak terdapat pada

editor lain adalah

1. Kemampuannya dalam menampilkan banyak window secara bersamaan dan

masing-masing mampu menyunting berkas secara independen

2. Kehandalannya dalam mengelola apa yang disebut buffers yaitu suatu bagian dalam memori yang dimanfaatkan untuk menyimpan data secara temporal. Ba- gi pengguna, mekanisme buffers semacam ini akan nampak seolah-olah berba- gai berkas dapat diakses secara bersamaan

3. Kemudahannya untuk dikonfigurasi sehingga mampu mengenali jenis berkas yang sedang disunting dan jika perlu sekaligus menampilkan menu tambahan yang sesuai dengan jenis berkas tersebut.

3.2 Bahasa pemrograman

Bahasa pemrograman adalah bahasa yang biasa digunakan oleh seseorang yaitu pem- rogram untuk berinteraksi dengan komputer. Pada perkembangan awalnya, setiap Bahasa pemrograman adalah bahasa yang biasa digunakan oleh seseorang yaitu pem- rogram untuk berinteraksi dengan komputer. Pada perkembangan awalnya, setiap

C lemah dalam konsep object oriented programming. Namun dalam perkemban- gannya sekarang, setiap bahasa pemrograman cenderung memperbaiki diri sehingga fasilitas yang dimiliki satu bahasa pemrograman dengan yang lain praktis konver- gen pada satu fitur yang sama. Oleh karenanya pada masa sekarang menjadi tidak relevan untuk membandingkan kelebihan dan kekurangan satu bahasa pemrograman terhadap yang lain. Keputusan untuk memilih menggunakan satu bahasa pemrogra- man dibanding yang lain lebih didasarkan pada jenis masalah yang akan diselesaikan oleh bahasa yang kita pilih tersebut.

Apapun bahasa pemrograman yang dipilih, proses pemrograman dapat dikelom- pokkan dalam tiga urutan tahap yaitu

1. Tahap pertama adalah membuat program menggunakan text editor yang kita

senangi. Program yang dibuat pada tahap ini biasa disebut source code.

2. Tahap kedua adalah meng-compile program tersebut yaitu mengubah source code dari bentuk teks yang dipahami manusia ke bentuk berkas yang berisi kode-kode yang dipahami komputer dan disebut object file.

3. Tahap ketiga adalah melakukan link antara berbagai object file yang diinginkan sehingga menjadi satu berkas yang siap untuk dijalankan atau di-run. Berkas yang siap dijalankan ini disebut executable file.

Tahap kedua dan tahap ketiga di atas dalam beberapa kasus terpadu dalam satu per- intah sehingga tidak nampak terpisah dari titik pandangan pengguna. Apabila tidak dinyatakan secara eksplisit maka hasil executable file dalam GNU/Linux dan Unix akan otomatis diberi nama a.out dan dengan nama inilah program tersebut diak- tifkan atau dipanggil. Berikut akan disinggung tiga bahasa pemrograman yang sering digunakan pengguna GNU/Linux.

3.2.1 C dan C++

gcc nama_berkas g++ nama_berkas

Untuk memudahkan mengetahui jenis berkas, nama berkas biasanya diberi tamba- han beberapa huruf yang dengan mudah dapat mencerminkan jenis berkas tersebut. Sebagai kesepakatan, source code dalam bahasa C biasa diberi nama tambahan c sebagai contoh program_saya.c atau nama yang lain. Bayangkan kita membuat program dengan nama contoh1.c dengan editor KWrite seperti gambar (3.4).

Gambar 3.4: Contoh program dalam bahasa C

Setelah source code tersebut kita simpan maka proses compile dengan bahasa C dilakukan dengan perintah berikut.

pn@atom99:~ > gcc contoh1.c pn@atom99:~ > _

Munculnya prompt lagi dan tidak adanya komentar apapun setelah dijalankan perin- tah gcc contoh1.c menunjukkan bahwa tidak ada kesalahan dalam source code dan ini berarti proses compile telah sukses dengan dihasilkannnya executable file bernama a.out. Sekarang kita dapat me-run program tersebut dengan perintah a.out seperti di bawah.

pn@atom99:~> a.out Ketik umur anda dalam tahun: 37 Anda berumur 13505.0 hari. pn@atom99:~> _

3.2.2 Pascal

gpc nama_berkas

Untuk memberikan gambaran penggunaan editor selain KWrite, bayangkan sekarang kita membuat program dalam bahasa Pascal dengan menggunakan editor Vi. Perta- ma kita ketik pada terminal perintah vi contoh1.pas dan dilanjutkan Enter , Setelah diketik tombol i agar masuk ke input mode, kita dapat membuat source code seperti gambar (3.5) berikut.

Untuk menyimpan source code tersebut dan sekaligus keluar dari Vi, kita pejet tombol Esc : w q . Apabila sudah muncul prompt kemudian kita ketik perintah untuk meng-compile program dalam Pascal dengan cara berikut.

pn@atom99:~ > gpc contoh1.pas pn@atom99:~ > _

Gambar 3.5: Contoh program dalam bahasa Pascal

Seperti dalam uraian tentang bahasa C di atas, munculnya prompt lagi dan tidak adanya komentar apapun setelah dijalankan perintah gpc contoh1.pas menun- jukkan bahwa tidak ada kesalahan dalam source code dan ini berarti proses compile telah sukses dengan dihasilkannnya executable file bernama a.out. Sekarang kita dapat me-run program tersebut dengan perintah a.out seperti di bawah.

pn@atom99:~> a.out Ketik umur anda dalam tahun: 37 Anda berumur 13505.0 hari. pn@atom99:~> _

3.2.3 Fortran 90

f90 nama_berkas

Dalam pembicaraan tentang Fortran 90 ini, sekaligus akan kita manfaatkan untuk memberikan gambaran tentang pemakaian editor XEmacs. Pertama kita panggil XEmacs seperti yang dijelaskan pada sub-bagian (3.1.3) di atas. Setelah berhasil Dalam pembicaraan tentang Fortran 90 ini, sekaligus akan kita manfaatkan untuk memberikan gambaran tentang pemakaian editor XEmacs. Pertama kita panggil XEmacs seperti yang dijelaskan pada sub-bagian (3.1.3) di atas. Setelah berhasil

Gambar 3.6: Contoh program dalam bahasa Fortran 90

Perhatikan bahwa dengan membuka berkas bernama contoh1.f90 maka ada tambahan menu pada XEmacs yaitu menu F90 di dekat menu Help. Inilah salah satu fitur yang dimiliki XEmacs seperti yang diuraikan pada sub-bagian (3.1.3) di atas yaitu dapat mengenali jenis berkas yang sedang disunting. Kita dapat menco-

ba memanfaatkan menu tambahan tersebut yaitu salah satunya untuk kepentingan berikut. Pertama kita tulis program dalam Fortran 90 dengan huruf kecil semua. Kemudian kita klik dengan mouse menu F90 dan dipilih Upcase Keywords (buffer). Selesai kita klik pada pilihan tersebut maka beberapa kata tertentu pada source code akan otomatis berubah menjadi huruf besar. Kalau kita jeli dan paham bahasa Fortran 90 maka akan kita ketahui bahwa kata yang diubah menjadi huruf besar adalah kata atau perintah bawaan yang dimiliki Fortran 90. Kegunaan dari perubahan ini adalah bahwa source code tersebut sekarang menjadi lebih enak dan ba memanfaatkan menu tambahan tersebut yaitu salah satunya untuk kepentingan berikut. Pertama kita tulis program dalam Fortran 90 dengan huruf kecil semua. Kemudian kita klik dengan mouse menu F90 dan dipilih Upcase Keywords (buffer). Selesai kita klik pada pilihan tersebut maka beberapa kata tertentu pada source code akan otomatis berubah menjadi huruf besar. Kalau kita jeli dan paham bahasa Fortran 90 maka akan kita ketahui bahwa kata yang diubah menjadi huruf besar adalah kata atau perintah bawaan yang dimiliki Fortran 90. Kegunaan dari perubahan ini adalah bahwa source code tersebut sekarang menjadi lebih enak dan

pn@atom99:~> f90 conto1.f90 pn@atom99:~> a.out Ketik umur anda dalam tahun: 37 Anda berumur 13505.0 hari. pn@atom99:~> _

3.3 Paket program matematika

Untuk menyelesaikan suatu masalah komputasi, kadang-kadang memadukan antara penggunaan bahasa pemrograman dengan paket program yang memiliki fasilitas penanganan masalah matematika tertentu adalah sangat penting. Sebagai contoh : ketika sedang membuat program tiba-tiba pada satu statement tertentu dalam source code diperlukan adanya nilai coba awal dari suatu ungkapan matematika agar proses iterasi dapat berjalan. Untuk hal ini maka diperlukan paket program numerik seperti Octave atau Scilab (dalam MS Windows dikenal Mathlab). Dalam kasus lain, satu statement dalam source code mungkin memerlukan bentuk analitik dari suatu pros- es penyederhanaan, integral atau diferensial suatu fungsi. Untuk masalah ini maka diperlukan paket program aljabar sperti MuPAD atau Mathematica.

3.3.1 Octave

Octave adalah paket program interaktif untuk penanganan masalah komputasi nu- merik menggunakan bahasa tataran tinggi (high level language). Di lingkungan Dos/Windows, salah satu program paling populer yang memiliki fungsi semacam ini adalah Mathlab.

Istilah bahasa tataran tinggi dalam hal ini adalah untuk mengkontraskan dengan istilah bahasa tataran rendah (low level language) yang digunakan untuk memerikan bahasa pemrograman. Untuk memahami apa yang dimaksud dengan kedua istilah tersebut, bayangkan kita dihadapkan pada masalah untuk menemukan invers dari Istilah bahasa tataran tinggi dalam hal ini adalah untuk mengkontraskan dengan istilah bahasa tataran rendah (low level language) yang digunakan untuk memerikan bahasa pemrograman. Untuk memahami apa yang dimaksud dengan kedua istilah tersebut, bayangkan kita dihadapkan pada masalah untuk menemukan invers dari

A. Dalam bahasa tataran tinggi, maka hasil dari invers matrik A diperoleh se- bagai contoh dengan memberikan satu statement Inv(A). Kita tidak perlu menge- tahui bagaimana proses yang terjadi di dalam statement Inv(A) sehingga dapat memberikan hasil yang diinginkan tersebut. Dalam bahasa tataran rendah, masalah yang sama tersebut perlu diurai ke dalam beberapa urutan statement (algoritma) sedemikian hingga akan diperoleh hasil yang diinginkan. Pertanyaan yang segera muncul adalah : kenapa masih diperlukan bahasa tataran rendah jika ternyata bahasa tataran tinggi bentuknya operasinya lebih sederhana ? Jawabannya adalah : kadang- kadang suatu masalah yang kita hadapi memiliki sifat bawaan yang memang tidak memungkinkan untuk diselesaikan dengan bahasa tataran tinggi.

Untuk menggunakan Octave, kita panggil perintah berikut melalui terminal pn@atom99:~> octave

GNU Octave, version 2.0.16 (alpha-suse-linux-gnu). Copyright (C) 1996, 1997, 1998, 1999, 2000 John W. Eaton. This is free software with ABSOLUTELY NO WARRANTY. For details, type ‘warranty’.

octave:1> _ Dengan munculnya sedikit pesan diikuti prompt seperti di atas merupakan tanda bah-

wa Octave siap untuk merespon perintah yang kita berikan. Octave memiliki fasili- tas perintah untuk menyelesaikan berbagai masalah yang muncul dalam perhitungan numerik. Beberapa masalah tersebut antara lain : manipulasi matrik, perhitungan fungsi-fungsi khas, aritmatika, penyelesaian persamaan simultan, persamaan tak lin- ear, persamaan diferensial, integrasi fungsi, pengeplotan data dan grafik, optimasi, pemrosesan signal dan citra dan sebagainya. Petunjuk lengkap tentang Octave se- banyak 254 halaman juga tersedia dalam GNU/Linux pada direktori /usr/doc/packages/octave dalam bentuk berkas postscript dapat dibaca secara online atau siap untuk di-print. Contoh di bawah menggambarkan hasil keluaran Octave untuk manipulasi matrik, sebagai contoh dalam mencari invers serta determinan matrik

A berorde 4 × 4 yang diberikan pengguna. Perintah penting di dalam Octave yang pantas diingat adalah quit untuk keluar atau mengakhiri Octave serta help untuk melihat informasi se- cara online pada Octave.

pn@atom99:~ > octave GNU Octave, version 2.0.16 (alpha-suse-linux-gnu). Copyright (C) 1996, 1997, 1998, 1999, 2000 John W. Eaton. This is free software with ABSOLUTELY NO WARRANTY. For details, type ‘warranty’.

octave:1> A=[0.12,0.34,1.2,2.12;0.56,1.12,0.67,3.21; 6.2,0.54,0.02,3.54;0.3,4.98,0.78,1.98] A=

octave:3> B=inv(A) B=

0.0446896 -0.1106167 -0.0606175 -0.0031418

0.6030147 -0.0439199 -0.1129305

octave:4> C=B*A C=

-1.7862e-17 3.0493e-19

-1.0598e-17 8.3189e-17

1.0000e-00

-1.1845e-17

2.9965e-16 -9.8493e-18

octave:5> det(A) ans = 58.462 octave:5> det(A) ans = 58.462

3.3.2 Scilab

Scilab adalah paket program yang memiliki fungsi seperti Octave yaitu menyediakan bahasa tataran tinggi untuk menyelesaikan masalah-masalah perhitungan numerik. Perbedaan yang jelas hanyalah pada tampilannya. Jika Octave berpenampilan ter- minal murni maka Scilab memiliki tampilan GUI disertai beberapa menu pilihan. Untuk mengaktifkan Scilab maka dapat kita pilih pada menu pilihan yang terdapat pada K-panel di kiri bawah desktop KDE. Jika menu pilihan tersebut tidak ada, kita dapat memanggil perintah scilab dilanjutkan Enter melalui terminal. Gam- bar (3.7) menunjukkan tampilan GUI dari Scilab ketika pertama kali diaktifkan.

Gambar 3.7: Contoh tampilan Scilab

Selain membaca petunjuk lengkap pada direktori /usr/doc/packages/scilab, cara paling mudah untuk belajar menggunakan Scilab adalah dengan meng-klik mouse pada menu Demos di panel atas Scilab. Setelah kita klik menu tersebut maka akan muncul menu tambahan yang berisi pilihan tentang berbagai topik yang dapat kita li- hat demonya. Gambar (3.8) menunjukkan kemamuan Scilab dalam membangkitkan beberapa jenis grafik 3 dimensi dan kontur dari bentuk fungsi yang diberikan.

-3 -2 -1 0 1 2 3 4 2.86 2.86

Gambar 3.8: Contoh tampilan grafik yang dihasilkan oleh Scilab

3.3.3 Mathematica

Berbeda dengan Octave dan Scilab, paket program Mathematica berfungsi terutama untuk penanganan masalah komputasi aljabar algebraic manipulation dan bukan nu- merik. Ini berarti keluaran yang dihasilkan Mathematica akan berupa simbol-simbol matematika dan bukan sekedar angka-angka. Dengan Mathematica maka bebera- pa masalah yang muncul dalam aritmetika, kalkulus, aljabar, operasi matrik, grafik suatu fungsi dan topik lain akan secara prinsip dapat diselesaikan.

Mathematica dapat dipanggil dengan mengetik perintah mathematica dari ter- minal sedemikian hingga muncul apa yang disebut Notebooks. Perintah yang kita masukkan pada Notebooks akan dievaluasi oleh Mathematica setelah kita menekan tombol Enter yang terletak di pojok kanan bawah keyboard. Gambar (3.9) me- nunjukkan contoh beberapa operasi matematika yang dihasilkan oleh Mathematica.

Bagi pemula, cara termudah untuk belajar menggunakan Mathematica adalah dengan meng-klik mouse pada menu Help dan kemudian memilih Help Browser. Jika cara ini sudah kita kerjakan maka akan muncul tambahan Notebooks yang dari sinilah demo tentang berbagai topik akan dapat kita saksikan. Gambar (3.10) mem-

Gambar 3.9: Contoh hasil manipulasi matematika yang dihasilkan paket Mathemat- ica

berikan contoh terhadap kemampuan Mathematica dalam membangkitkan beberapa jenis grafik.

3.4 Plot fungsi dan data

Cara terbaik untuk membandingkan hasil komputasi atau eksperimen dengan hasil yang diperoleh oleh cara atau orang lain adalah dengan menampilkan secara bersamaan berbagai hasil tersebut pada satu grafik yang sama. Dengan cara ini maka adanya penyimpangan dari berbagai hasil akan secara visual mudah untuk ditampilkan. Paket program berikut berguna untuk keperluan pembuatan plot data serta fungsi matem- atika yang diberikan.

3.4.1 GnuPlot

Dari namanya sudah nampak bahwa GnuPlot adalah paket program untuk mem-plot data dan fungsi yang diberikan pengguna. Untuk mengaktifkan GnuPlot, kita dapat

Gambar 3.10: Contoh grafik yang dihasilkan paket Mathematica mengetik perintah gnuplot dari terminal seperti berikut.

pn@atom99:~ > gnuplot

GNUPLOT Linux version 3.7 patchlevel 1 last modified Fri Oct 22 18:00:00 BST 1999

Copyright(C) 1986 - 1993, 1998, 1999 Thomas Williams, Colin Kelley and many others

Type ‘help‘ to access the on-line reference manual

The gnuplot FAQ is available from <http://www.ucc.ie/gnuplot/gnuplot-faq.html>

Send comments and requests for help to <info-gnuplot@dartmouth.edu> Send bugs, suggestions and mods to <bug-gnuplot@dartmouth.edu>

Terminal type set to ’x11’ gnuplot> _

Setelah muncul beberapa pesan dan prompt seperti di atas maka GnuPlot sudah siap untuk menerima perintah yang kita berikan. Dua perintah penting yang perlu diin- gat dan yang dapat diketikkan pada prompt GnuPlot adalah quit untuk keluar dari GnuPlot serta help untuk memanggil manual GnuPlot secara online. Sebagai con- toh, untuk mengetahui bagaimana cara membuat plot suatu fungsi atau data maka kita ketik perintah

gnuplot> help plot Setelah kita ketik Enter maka di layar akan tampil semua informasi tentang perintah

plot. Untuk kembali lagi ke prompt GnuPlot maka kita tekan Enter dua kali. Untuk memberikan gambaran penggunaan GnuPlot, cobalah untuk membuat da- ta yang dapat mencerminkan nilai-nilai variabel x dan y dengan menggunakan text editor yang kita sukai. Bayangkan kita akan mencoba membuat plot data tersebut dengan fungsi tertentu sebagai contoh sin(0.3x) dalam satu grafik yang sama. Seba- gai contoh, data tersebut kita beri nama data.txt yang isinya seperti berikut.

61 1.41 Perintah untuk menampilkan plot data dan fungsi di atas maka kita ketik pada prompt

GnuPlot perintah seperti di bawah. gnuplot> plot [6:61] sin(0.3*x),"data.txt" with line Setelah kita tekan Enter maka di layar akan muncul tambahan window yang isinya

grafik plot data dan fungsi tersebut. Gambar (3.11) adalah tampilan dari hasil plot dengan perintah di atas.

1.5 sin(0.3*x) "data.txt"

Gambar 3.11: Contoh grafik hasil plot data dan fungsi menggunakan GnuPlot

3.5 Program pembuat dokumen

Pada umumnya ada dua cara untuk membuat dokumen dalam GNU/Linux. Yang per- tama adalah menggunakan paket olah kata (word processor) seperti dalam Dos/Window dan yang kedua adalah menggunakan type setting. Cara type setting adalah lebih han- dal dibanding word processor tetapi dengan resiko lebih rumit cara menggunakan- nya. Type setting pada umumnya digunakan untuk membuat dokumen yang bersifat teknis sebagai contoh diperlukan banyak ungkapan matematika dan gambar pada

dokumen tersebut. Dalam hal ini maka L A TEXbiasanya lebih disukai.

Word processor lebih mudah cara menggunakannya karena biasanya bersifat WYSWYG yang merupakan kependekan dari What You See is What You Get. Artinya apa yang kita ketik dan kita lihat di monitor maka bentuk itulah yang nantinya kita dapatkan ketika kita meng-print dokumen tersebut. Salah satu paket Office yang tersedia dalam GNU/Linux adalah Star Office yang memiliki fitur praktis sama dengan Microsoft Office. Untuk mengaktifkan Star Office, kita dapat meng-klik menggunakan mouse pada pilihan menu di K-panel. Apabila pada menu tidak tersedia, kita dapat me- manggil melalui terminal dengan mengetik perintah seperti berikut.

pn@atom99:~ > soffice Setelah menekan Enter maka kita siap untuk membuat dokumen yang diinginkan.

Gambar (3.12) adalah tampilan GUI dari Star Office setelah berhasil diaktifkan.

Gambar 3.12: Contoh tampilan Star Office 5.2