Buletin INFIBII
Januari 2009
BULETIN
INFIBII Redaksi
Vo l u m e 1 N o m o r 2 , J a n u a r i 2 0 0 9
Thompson S.N., S.Kom., M.Sc. Viany U.T., S.Kom., M.M.,M.Com. Sigit Birowo, S.Kom., MCP Danel Gunardi, S.Kom., S.E. Christine Sanjaya, S.Kom. Eik Zulfikar Fahmi, S.T. Ferdy Firmansyah, S.T. Lay out & Grafis Hendri T.L., S.Sn. Nathania, S.Ds.
Pembaca yang budiman, bagi kalangan sains komputer rekursi (recursion) merupakan salah satu model pemecahan masalah yang dipelajari pada perkuliahan algoritma. Harus diakui topik rekursi kurang populer karena dianggap tidak efisien, menghabiskan banyak memori. Namun sebetulnya banyak dari antara kita yang kurang memahami natur model ini. Bayangkan masalah menara Hanoi yang dipecahkan tanpa pendekatan rekursi. Salah satu tulisan membahas topik ini. Karier dan keberhasilan di bidang ICT tidak dibatasi jenis kelamin. Hal ini telah dibuktikan oleh Grace Murray Hopper yang merancang compiler pertama. Pada edisi ini kami memperkenalkan Frances Allen yang dianugerahi Turing Award pada tahun 2006. Selamat membaca Thompson Susabda Ngoen
Buletin INFIBII
Januari 2009
DAFTAR ISI
Volume 1 Nomor 2, Januari 2009
Recursion Thompson Susabda Ngoen
Dari File ke Database Danel Gunardi
Cooliris Christine Sanjaya
GNU dan IGOS Dwi Nanto
Women in Computing Thompson Susabda Ngoen
Profil Informatika IBII Tim Redaksi
Buletin INFIBII
3
7
11
13
18
19
Januari 2009
Sains Komputer |
3
RECURSION
Thompson Susabda Ngoen
Sebelum komputer dikenal manusia ilmu matematika telah berkembang selama ribuan tahun. Salah satu cara mendefinisikan sesuatu di dalam matematika adalah pendefinisian yang bersifat rekursif, maksudnya ‘sesuatu’ didefinisikan dengan mengacu kepada ‘sesuatu’ itu. Sebagai contoh formula untuk menghitung faktorial bilangan bulat positif dituliskan sebagai 1 untuk n bernilai 0 faktorial (n) = n x faktorial (n - 1) jika n > 1 Definisi rekursif terdiri atas dua bagian: 1) bagian untuk mengakhiri pengulangan, disebut juga base case, 2) bagian untuk merinci perhitungan. Pada contoh faktorial di atas base case adalah n yang bernilai nol dengan hasil sebesar satu, tidak lagi dirinci menjadi 0 x faktorial(-1). Berdasarkan formula di atas maka faktorial(3) = 3 x faktorial(2) = 3 x 2 x faktorial(1) = 3 x 2 x 1 x faktorial(0) = 3 x 2 x 1 x 1 = 6. Pada saat bahasa pemrograman komputer dirancang, fitur rekursif ini diisertakan dengan tujuan untuk memudahkan transformasi formula matematika menjadi program komputer. Perhatikan kemiripan function faktorial() yang ditulis di dalam bahasa C dengan bentuk formula matematikanya. Program 1 Faktorial Rekursif
# include <stdio.h> float faktorial (int n) { if (n == 0) return 1; else return n * faktorial(n - 1); } int main() { int n; printf(“n ? “); scanf(“%d”, &n); printf(“%d! = %.0f\n”, n, faktorial(n)); return 0; } n ? 6 6! = 720
Pendekatan rekursif dapat digunakan untuk memecahkan masalah yang dapat diuraikan menjadi masalah sejenis yang lebih sederhana. Semula kita ingin menghitung faktorial(3). Ternyata dapat diselesaikan dengan menghitung faktorial(2). Cara menghitung faktorial(2) sama persis dengan cara menghitung faktorial(3), sekarang dengan nilai argumen atau parameter yang lebih sederhana atau kecil. Bilangan Fibonacci Leornado of Pisa (Fibonacci) memberi ilustrasi tentang pembiakan kelinci. Sepasang kelinci (jantan dan betina) ditempatkan di dalam sebuah pembiakan. Apabila sepasang kelinci baru bisa menghasilkan keturunan setelah berusia dua bulan, melahirkan sepasang (jantan dan betina) bayi kelinci, terdapat berapa jumlah pasang kelinci setelah sekian bulan? Pada masalah ini diasumsikan tidak ada kelinci yang mati. Frances E. Allen
Buletin INFIBII
Januari 2009
Sains Komputer |
4
Berapa jumlah pasangan kelinci pada akhir bulan ke-6? Jumlahnya 13 seperti diilustrasikan Gambar 1. Jumlah pasangan kelinci pada akhir bulan ke-6 berasal dari jumlah pasangan kelinci pada akhir bulan ke-5 ditambah pasangan bayi kelinci yang lahir pada akhir bulan ke-6. Berapa jumlah pasangan bayi kelinci yang lahir pada akhir bulan ke-6? Lima pasang, yaitu K9, K10, K11, K12, dan K13. Pasangan bayi kelinci ini dilahirkan oleh pasangan induk kelinci yang telah berusia dua bulan atau lebih, artinya induk kelinci sudah harus eksis pada akhir bulan ke-4 sehingga pada akhir bulan ke-6 telah berusia dua bulan atau lebih. Jadi jumlah pasangan bayi kelinci yang lahir pada akhir bulan ke-6 adalah sebanyak pasangan kelinci pada akhir bulan ke-4. Dengan demikian kita memperoleh rumus fibonacci(n) = fibonacci(n-1) + fibonacci(n-2). Pada awalnya atau ketika n bernilai nol hanya terdapat satu pasang kelinci. Pada akhir bulan pertama atau ketika n bernilai satu hanya terdapat satu pasang kelinci. Kedua kondisi ini menjadi base case.
Gambar 1 Skema Pembiakan Kelinci
fibonacci (n) =
1 1 fibonacci (n-1) + fibonacci (n-2)
untuk n bernilai 0 untuk n bernilai 1 jika n > 1
Program 2 Pembiakan Kelinci # include <stdio.h> long fibo (int n) { if (n == 0) return 1; else if (n == 1) return 1; else return fibo(n - 1) + fibo(n - 2); } int main() { int n; long hasil; printf(“akhir bulan ke? “); scanf(“%d”, &n); hasil = fibo(n); printf(“jumlah = %ld\n”, hasil); return 0; } akhir bulan ke? 6 jumlah = 13
Buletin INFIBII
Januari 2009
Sains Komputer |
5
Sekiranya pasangan induk kelinci baru bisa melahirkan sepasang bayi kelinci setelah berusia tiga bulan atau lebih, bagaimana bentuk rumusnya? Mencetak Deret Secara Rekursif Menampilkan bilangan 1 2 3 sampai dengan n di layar monitor dapat dilakukan dengan menggunakan instruksi repetisi seperti for, while, do while (pada bahasa C, C++, Java) atau for, while, repeat until (pada bahasa Pascal/Delphi). Selain itu kita juga dapat memandang pencetakan bilangan-bilangan tersebut dari sudut rekursi. Misalkan adalah function untuk mencetak deret bilangan maka
sehingga Kapan proses rekursi berakhir? Jika parameter bernilai satu maka tidak lagi rekursi, hanya mencetak bilangan satu tersebut. Jika simbol kita ganti dengan kata cetak_deret maka diperoleh rumus: cetak_deret (n) =
1 { cetak cetak_deret (n - 1) cetak n
jika n = 1 jika n > 1
Program 3 Deret Bilangan Bulat # include <stdio.h> void cetak_deret(int n) { if (n == 1) printf(“1 “); else { cetak_deret(n - 1); printf(“%d “, n); } } int main() { int n; printf(“n ? “); scanf(“%d”, &n); cetak_deret(n); return 0; }
n ? 10 1 2 3 4 5 6 7 8 9 10 Function berikut akan memberikan hasil keluaran yang sama. Bagaimana dasar
berpikirnya? void cetak_deret(int n) {
}
if (n > 0) { cetak_deret(n - 1); printf(“%d “, n); }
Buletin INFIBII
Januari 2009
Sains Komputer |
6
Bagaimana cara mencetak deret bilangan secara rekursif mulai dari suatu bilangan menurun sampai dengan satu? Untuk data masukan 10 harus memberikan keluaran 10 9 8 7 6 5 4 3 2 1 Jumlah Nilai Deret Bilangan Menjumlahkan deret bilangan a + a+1 + a+2 + … + z-1 + z juga dapat dilakukan secara rekursif. Misalkan simbol + menyatakan penjumlahan deret bilangan, maka 3 + 7 = 3 + 4 + 5 + 6 + 7 3 + 6 = 3 + 4 + 5 + 6 4 + 7 = 4 + 5 + 6 + 7 sehingga 3 + 7 = (3 + 6) + 7 versi 1 atau 3 + 7 = 3 + (4 + 7) versi 2 Dengan demikian a + z dapat diuraikan menjadi (a + (z-1)) + z untuk versi 1 atau a + ((a+1) + z) untuk versi 2 . Pada suatu saat a akan bernilai sebesar z. Ini adalah kondisi base case dengan hasil sebesar a atau z dan proses rekursi dihentikan. Apabila simbol + kita ganti dengan sigma dan diletakkan di depan kedua parameter maka diperoleh rumus:
sigma (a, z) =
a sigma (a, z-1) + z a + sigma (a+1, z)
jika a = z jika a < z versi 1 jika a < z versi 2
Program 4 Penjumlahan Deret Bilangan # include <stdio.h> int sigma_1 (int a, int z) { if (a == z) return a; else return sigma_1(a, z - 1) + z; } int sigma_2 (int a, int z) { if (a == z) return a; else return a + sigma_2(a + 1, z); }
int main() { int bil_1, bil_2; printf(“bilangan ? “); scanf(“%d %d”, &bil_1, &bil_2); printf(“jumlah = %d\n”, sigma_1(bil_1, bil_2)); printf(“jumlah = %d\n”, sigma_2(bil_1, bil_2)); return 0; } bilangan ? 5 10 jumlah = 45 jumlah = 45
Perhatikan bahwa penjumlahan deret bilangan 3 + 7 juga dapat diuraikan menjadi 3 + (4 + 6) + 7. Bagaimana bentuk function-nya? Hati-hati menentukan base case. Buletin INFIBII
Januari 2009
Database |
7
DARI FILE KE DATABASE Danel Gunardi
Komputer digunakan sebagai alat pengolahan data elektronik. Melalui program komputer data dientri (key-in) dan disimpan di media penyimpan sekunder seperti harddisk drive. Data ini diistilahkan sebagai data file atau berkas data. Pada kesempatan lain berkas data ini kita baca dengan menggunakan program komputer untuk diolah menjadi informasi yang berguna. Entitas yang berhubungan dengan berkas data adalah character set, field, record, dan file. Character set berisi himpunan karakter seperti ASCII, EBCDIC, ISO/IEC 8859-1 (Latin 1), Unicode, UTF-8, UTF-16 dsb. Dari antara character set ini yang paling umum adalah ASCII. Field ialah kumpulan karakter yang memiliki makna, digunakan untuk menyatakan atribut
suatu objek. Sebagai contoh objek siswa mempunyai atribut diantaranya nomor induk siswa, nama siswa, tanggal lahir, tempat lahir, dan jenis kelamin. Di dalam terminologi berkas data masing-masing atribut ini disebut sebagai field. Kumpulan field-field yang berhubungan membentuk record. Kumpulan record-record sejenis membentuk file atau berkas.
Gambar 1 Struktur Berkas Data Siswa
Sebuah field mempunyai atribut: 1) nama, 2) tipe, 3) ukuran. Nama field (field name) berfungsi sebagai identitas untuk membedakannya dari field lain. Tipe field (field type) menyatakan jenis data yang dapat ditampung field tersebut seperti karakter, teks (string), bilangan bulat, bilangan pecahan, tanggal dsb. Sebagian tipe field harus dilengkapi dengan ukuran misalnya tipe string (kumpulan karakter) harus ditentukan jumlah karakter yang dapat ditampung field tersebut. Atribut field pembentuk record tidak direkam ke dalam berkas data. Program yang menulis (create, write) berkas data harus mendefinisikan atau mendeklarasikan struktur record. Program yang membaca (read) isi berkas data juga harus mendefinisikan struktur record dari file yang dibaca. Gambar 2 berisi definisi (dalam bahas C dan Pascal) record yang diilustrasikan Gambar 1. typedef struct { char nis[5]; char nama[26]; char tgl[11]; char kota[16]; char sex; } t_siswa;
type t_siswa = record nis : string[4]; nama: string[25]; tgl : string[10]; kota: string[15]; sex : char; end;
Gambar 2 Deklarasi Tipe Record Pada Program untuk Write File
Definisi tipe record pada program kedua yang akan mengakses berkas data yang dihasilkan program pertama boleh berbeda dengan definisi tipe record pada program pertama seperti ditunjukkan Gambar 3. Masalah akan timbul jika urutan field atau ukuran field pada definisi tipe record program kedua berbeda dengan definisi record pada program pertama. Jika field no_s didefinisikan sebagai field pertama berjenis string 10 karakter, saat record dibaca maka enam karakter nama siswa
Buletin INFIBII
Januari 2009
Database |
8
akan terbaca sebagai bagian dari nomor induk siswa. Jadi seorang pemrogram harus ingat susunan dan panjang field dari suatu record saat akan membaca record tersebut. Ini merupakan salah satu kelemahan berkas data. typedef struct { char no_s[5]; char nama_s[26]; char tglhr[11]; char kota[16]; char kelamin; } t_murid;
type t_murid = record no_s : string[4]; nama_s: string[25]; tglhr : string[10]; kota_s: string[15]; kelamin : char; end;
Gambar 3 Deklarasi Tipe Record Pada Program Untuk Read File
Secara fisik berkas data tersebut tersimpan di salah satu folder di media penyimpan sekunder. Setiap orang yang memiliki akses ke folder tersebut dapat memanipulasi berkas data tersebut misalnya melalui editor teks Notepad. Ini adalah kelemahan lain dari berkas data. Database (basis data) terdiri atas sejumlah table yang berhubungan. Sebuah table basis data berfungsi seperti sebuah berkas data. Deskripsi field sebuah table tersimpan di dalam basis data. Ketika basis data diaktifkan maka otomatis field-field yang terdapat di dalam tabletable diketahui tanpa harus didefinisi ulang oleh program yang membaca table tersebut.
Selain table sebuah basis data dilengkapi database engine, suatu piranti lunak yang mengelola table-table tersebut. Permintaan yang dikirimkan program aplikasi untuk mengakses data ditangani oleh piranti lunak ini. Database engine mengendalikan akses terhadap table-table.
Gambar 4 Database Management System
Berdasarkan struktur table atau file pembentuknya, basis data dapat dikelompokkan menjadi: 1. model hirarkis (hierarchical data model) 2. model jaringan (network data model) 3. model relasional (relational data model) Model Basis Data Hirarkis
IMS adalah contoh basis data hirarkis yang dikeluarkan IBM pada tahun 1968 untuk digunakan di mesin komputer mainframe yang menjalankan sistem operasi MVS. Basis data model ini tidak dirancang terlebih dahulu secara konsep teoritis. Model Basis data ini terbentuk berdasarkan hasil implementasi suatu piranti lunak basis data, khususnya IMS. Basis data hirarkis terdiri atas sejumlah file yang tersusun di dalam struktur pohon (tree), yaitu susunan dengan hubungan one-to-many (1:N). Pada struktur basis data ini satu file induk berhubungan dengan nol, satu, atau beberapa file anak. Urutan file anak pada struktur pohon ini adalah signifikan. Berbeda dengan struktur data pohon yang simpul-simpulnya mempunyai tipe record yang sama, tipe record file-file pada basis data ini umumnya berbeda. Buletin INFIBII
Januari 2009
Database |
9
Gambar 5 mengilustrasikan struktur sebuah basis data hirarkis. Basis data ini berisi data pelatihan internal sebuah perusahaan yang mempunyai beberapa lokasi perusahaan. Peserta pelatihan adalah karyawan perusahaan, demikian juga dengan instruktur pelatihan.
Gambar 5 Struktur Basis Data Pelatihan Model Hirarkis File Pelatihan berisi data jenis pelatihan yang disediakan perusahaan. File Prasyarat berisi data pelatihan lain yang harus sudah diikuti sebelum mengikuti suatu pelatihan tertentu. File Jadwal berisi jadwal pelatihan yang sudah dan akan dilakukan. File Instruktur berisi identitas
karyawan yang berfungsi sebagai instruktur pada suatu kegiatan pelatihan tertentu. Jenis pelatihan yang sama tetapi dilaksanakan pada waktu yang berbeda bisa dilayani instruktur yang berbeda. File Peserta berisi data karyawan yang mengikuti suatu pelatihan beserta nilainya.
Gambar 6 Contoh Isi Basis Data Pelatihan
Gambar 6 mengilustrasikan contoh isi basis data pelatihan. Secara fisik record-record tersebut dihubungkan dengan menggunakan pointer seperti pada senarai berkait (linked list). Dari antara tiga jadwal pelatihan Database Design, yang telah direalisasi adalah pelatihan dengan kode J01 bertanggal 20090112 yang diikuti tiga karyawan. Ketika pelatihan J02 direalisasi maka akan terbentuk record-record baru bertipe Instruktur dan Peserta yang dikaitkan dengan salah satu field record J02. Model Basis Data Jaringan
Model basis data jaringan diusulkan oleh Charles Bachman dan dikembangkan menjadi pembakuan basis data oleh DBTG (Database Task Group) konsorsium CODASYL (Conference on Data System Language) pada tahun 1969. DBTG juga mengusulkan tiga bahasa untuk memanipulasi basis data jenis ini: Schema Data Description Language (Schema DDL), Subschema DDL, dan Data Manipulation Language (DML). Buletin INFIBII
Januari 2009
10
Internet & Web |
IDMS adalah contoh basis data model jaringan yang dikeluarkan perusahaan Cullinet Software untuk mesin komputer mainframe IBM yang menggunakan sistem operasi VSE dan MVS. Pada model basis data jaringan hubungan antar file berstruktur jaringan atau graph sehingga sebuah file ’anak’ boleh berhubungan dengan dua file ’induk’. Gambar 7 mengilustrasikan struktur basis data jaringan yang berisi data Pelatihan. Perbedaan utama dengan versi hirarkisnya terletak pada file Karyawan. Karena instruktur adalah karyawan dan peserta pelatihan juga karyawan maka data ini dijadikan sebuah file yang berhubungan dengan file Instruktur dan Peserta.
Gambar 7 Struktur Basis Data Pelatihan Model Jaringan Model Basis Data Relasional Istilah relational diusulkan oleh Edgar F. Codd dari IBM Almaden Research Center. Basis data ini terdiri atas sekumpulan relation (table). Sebuah relation terdiri atas sejumlah tuple (record) yang mempunyai attribute (field) yang sama. Sebuah tuple mewakili sebuah objek
dan berisi informasi tentang objek tersebut. Yang dimaksud objek di sini dapat berupa objek fisik atau sebuah konsep. Relation digambarkan sebagai tabel.
Basis data model ini sekarang banyak digunakan, baik yang berlisensi bisnis seperti MS SQL Server, DB2 dari IBM, dan PL/SQL dari Oracle maupun yang berbasis open source seperti MySQL, PostgreSQL, dan Interbase (Firebird). Gambar 8 mengilustrasikan model relasional dari basis data pelatihan. Pada tulisan yang akan datang kita akan membahas basis data model ini lebih mendalam.
Gambar 8 Struktur Basis Data Pelatihan Model Relasional
Buletin INFIBII
Januari 2009
Database |
11
COOLIRIS
Christine Sanjaya Cooliris adalah plug-in pada browser (Firefox, Internet Explorer, Safari, dan Flock) yang menyediakan cara yang cepat dan efektif dalam menjelajahi web. Plug-in ini memberikan pengalaman ‘3D Wall’ sehingga kita dapat me-browse ribuan image, video, dan objek lain dengan mudah dan cepat. 3D Wall Cooliris menyediakan cara yang menarik dan mudah di dalam mencari dan melihat ribuan foto dan video. Dengan menyajikannya dalam sebuah dinding yang luas, Cooliris membantu Anda untuk menemukan apa yang dicari lebih cepat daripada cara tradisional dengan mengelik tombol next pada halaman web. Bagi pengguna internet dengan bandwith yang terbatas, fasilitas Cooliris ini akan sangat membantu di dalam mencari gambar secara cepat. Gambar 1 3D Wall
Instalasi Cooliris
Cooliris yang terbaru versi 1.9 dapat diunduh (down-load) dari situs web www.cooliris.com. Setelah selesai unduh, restart browser. Icon Cooliris akan ditambahkan pada toolbar browser. Cara Penggunaan
Aktifkan Cooliris dengan mengelik icon Cooliris ketika mengunjungi situs web yang mendukung Cooliris. Anda dapat juga menggunakan fasilitas built-in search dari Cooliris untuk melakukan pencarian pada Google Images, Flickr, YouTube, Hulu, DevianART dan web lain untuk mendapatkan hasil search secara cepat dalam 3D Wall yang tidak terbatas.
Gambar 2 Icon Cooliris
Tampilan Cooliris dapat diubah. Perubahan dilakukan dengan mengelik icon Preference berbentuk roda di kiri atas layar. Dua jenis setting tersedia: wall settings dan slideshow settings. Wall settings mencakup sudut dinding, kecepatan scroll, jumlah baris image , dan background image. Selain itu dapat dilakukan setting terhadap durasi slide. Gambar 3 Icon Setting Tampilan
Untuk memilih suatu gambar pada 3D Wall klik gambar tersebut. Gambar akan diperbesar dan informasi gambar akan ditampilkan jika ada. Untuk masuk ke halaman web asal gambar klik icon jump-to-page. Gambar 4 Icon Jump Buletin INFIBII
Januari 2009
Internet & Web |
12
Gambar 5 Memilih Gambar Menggunakan Cooliris Pada Situs Web
Bila Anda memiliki situs web yang mempunyai banyak gambar dan Anda ingin agar gambargambar tersebut dapat di-browse dengan menggunakan Cooliris, cukup daftarkan URL Anda ke Cooliris, pilih gambarnya maka Cooliris akan membuat preview dan file XML agar Cooliris dapat digunakan pada web Anda. Bila Anda hendak menggunakan Cooliris ini di dalam web Anda secara langsung, Cooliris juga menyediakan plug-in di dalam frame browser Anda. Langkahnya tidak sulit diikuti dan gambar-gambar di web Anda pun dapat segera dilihat pada 3D Wall Cooliris. Tabel 1 Browser yang Didukung Cooliris
suport suport, browser versi Beta tidak suport
Buletin INFIBII
Januari 2009
Linux |
13
GNU dan IGOS Dwi Nanto
Apakah GNU itu?
Proyek GNU diluncurkan pada tahun 1984 untuk mengembangkan sebuah sistem operasi lengkap serupa Unix yang berbasis perangkat lunak bebas (PLB) yaitu sistem GNU. Kernel GNU tidak pernah rampung sehingga GNU menggunakan kernel Linux. Kombinasi GNU dan Linux merupakan sistem operasi GNU/Linux yang kini digunakan secara luas. Terkadang, kombinasi ini secara keliru disebut Linux. Dewasa ini terdapat berbagai varian ‘distribusi’ GNU/Linux. Kami menyarankan pemakai untuk menggunakan distribusi GNU/ Gambar 1 Logo GNU Linux yang 100% perangkat lunak bebas, atau dengan kata lain sepenuhnya menghargai kebebasan. GNU merupakan singkatan rekursif dari “GNU’s Not Unix” (GNU bukan Unix), dilafalkan sebagai ge-nuu. Free Software Foundation
FSF - The Free Software Foundation adalah sebuah yayasan nirlaba yang didirikan oleh Richard M. Stallman pada tahun 1985 untuk mendukung gerakan perangkat lunak bebas. FSF menjadi sponsor utama bagi proyek GNU. FSF mempunyai motto free software, free society. FSF menerima sedikit sekali sumbangan dana dari kalangan perusahaan atau organisasi donatur lainnya sehingga sangat bergantung kepada bantuan perorangan. Pertimbangkan untuk membantu FSF dengan menjadi anggota asosiasi, atau dengan membeli buku reference manual software terbitan FSF atau dengan memberikan sumbangan, khususnya bagi perusahaan yang menggunakan PLB sebagai perangkat kerja. Dengan dukungan sumbangan ini maka PLB lainnya atau yang versinya lebih baru dapat dipersembahkan FSF kepada khalayak umum. Silahkan kunjungi situs Internet FSF di http://www.fsf.org.
Gambar 2 Logo FSF
Proyek GNU mendukung misi FSF untuk melestarikan, melindungi, serta memromosikan kebebasan menggunakan, mempelajari, mengubah, dan mengedarkan perangkat lunak komputer, serta mempertahankan hak para pengguna perangkat lunak bebas. FSF mendukung kebebasan berbicara, pers, berserikat di Internet, hak untuk menggunakan perangkat lunak yang dapat melakukan enkripsi untuk komunikasi pribadi, serta hak untuk menulis perangkat lunak, yang terlepas dari monopoli pribadi. Perangkat Lunak Bebas (Free Software)
Perangkat lunak bebas berhubungan dengan kebebasan para pengguna untuk menjalankan (run), menyalin (copy), mengedarkan (distribute), mempelajari (study), mengubah (change), serta memperbaiki (improve) perangkat lunak. Makna kata ‘free’ di sini bukan dalam pengertian ‘gratis’. Keempat jenis kebebasan yang diberikan PLB kepada pengguna adalah: • kebebasan untuk menjalankan program untuk keperluan apapun (kebebasan 0). • kebebasan untuk mempelajari cara kerja program serta mengadaptasikannya sesuai dengan keperluan (kebebasan 1). Prasyarat kebebasan ini ialah akses terhadap kode sumber (source code) program. Buletin INFIBII
Januari 2009
Linux |
14
• kebebasan untuk mengedarkan perangkat lunak sehingga dapat membantu orang yang membutuhkan (kebebasan 2). • kebebasan untuk memperbaiki program, serta mengedarkan perbaikan tersebut kepada masyarakat sehingga bermanfaat bagi semua (kebebasan 3). Prasyarat kebebasan ini ialah akses terhadap kode sumber program. Sebuah program merupakan PLB jika pengguna memiliki semua kebebasan di atas terhadap program tersebut. Dengan demikian pengguna bebas mendistribusikan program tersebut, tanpa atau dengan biaya pengiriman, dan tanpa harus meminta ijin kepada pembuat program. Pengguna bebas melakukan modifikasi (perubahan) terhadap program PLB tanpa harus memberitahukannya kepada pihak lain. Program PLB memberi kebebasan kepada pengguna (perorangan atau organisasi) untuk menggunakannya pada platform komputer apapun tanpa harus mengkomunikasikan hal ini dengan pembuat program. Program PBL memberi kebebasan kepada pengguna untuk menjalankan program sesuai dengan kebutuhan dan tujuan pengguna, bukan tujuan pembuat program. Kebebasan di dalam meredistribusi program PLB mencakup distribusi source code dan executable code, baik versi asli atau versi modifikasi. Kebebasan melakukan modifikasi dan meningkatkan versi program PLB berarti pengguna harus diberi hak untuk mengakses source code program tersebut. Suatu ketika apabila pembuat program membatalkan hak atau lisensi yang diberikan kepada program PLB-nya maka program tersebut tidak lagi berstatus PLB. Aturan pendistribuan program PLB oleh pengguna kepada pengguna lain tidak boleh bertentangan dengan kebebasan semula. Sebagai contoh aturan copyleft tidak mengijinkan penguna pertama membatasi pengguna kedua yang dikirimi program tersebut. Free software tidak berarti non komersial. Program PLB boleh
digunakan untuk pemakaian komersial, pengembangan komersial, dan distribusi komersial. PLB boleh dikembangkan menjadi perangkat lunak komersial (berbayar). Gambar 3 Richard Stallman
Pada awalnya terdapat aturan copyright (hak cipta). Aturan ini memberikan hak kepada pencipta atau pengembang atau penulis untuk melarang pihak lain mereproduksi, mengubah, atau mendistribsi karyanya. Aturan copyleft dibuat sebagai tandingan terhadap ketentuan copyright. Aturan copyleft memberi kebebasan kepada pengguna untuk mereproduksi, mengubah, dan mendistribusi karya (misalnya program komputer) kepada pihak lain. Proyek GNU menggunakan aturan copyleft. Indonesia, Go Open Source
Indonesia, Go Open Source! disingkat IGOS adalah sebuah semangat gerakan untuk meningkatkan penggunaan dan pengembangan piranti lunak open source di Indonesia. IGOS dideklarasikan pada 30 Juni 2004 oleh lima kementerian yaitu Kementerian Negara Riset dan Teknologi, Departemen Komunikasi dan Informatika, Kementerian Hukum dan Hak Asasi Manusia, Kementerian Negara Pendayagunaan Aparatur Negara, dan Departemen Pendidikan Nasional. Gerakan ini melibatkan seluruh stakeholder TI (akademisi, sektor bisnis, instansi pemerintah, dan masyarakat) yang dimulai dengan program untuk menggunakan piranti lunak sumber Buletin INFIBII
Januari 2009
Linux |
15
terbuka di lingkungan instansi pemerintah. Diharapkan langkah ini dapat diikuti oleh semua lapisan masyarakat untuk menggunakan piranti lunak legal. Semangat gerakan ini memiliki sasaran sebagai berikut: • memberikan lebih banyak alternatif piranti lunak yang dapat digunakan oleh masyarakat secara legal dan terjangkau, sehingga jumlah pengguna komputer meningkat • meningkatkan kemampuan riset dan pengembangan teknologi informasi nasional di bidang piranti lunak • menciptakan kompetisi pengembangan teknologi informasi untuk dapat bersaing di percaturan global
Gambar 4 Logo IGOS IGOS Berdikari
Distro buatan PT Pasifik Satelit Nusantara (PSN) ini memungkinkan para pemilik warnet beralih ke solusi open source tanpa kesulitan yang berarti, karena memiliki fitur dan fasilitas yang sama dengan sistem operasi lainnya. Dengan berbasis sistem operasi Linux, IGOS Berdikari lebih tahan dan aman dari serangan virus atau trojan horse. Informasi lebih lengkap dapat dilihat di situs Internet http://www.psn.co.id/igos/ IGOS Billing
Sistem informasi billing on-line PSN ini adalah sistem penghitungan dan pembuatan tagihan pemakaian yang memanfaatkan teknologi informasi untuk membantu pengusaha warnet memonitor penggunaan dan pemasukan warnetnya. Pengusaha warnet dapat mengakses informasi mengenai transaksi yang terjadi pada warnetnya kapan saja dan dimana saja melalui Internet. Sistem informasi billing warnet on-line ini mampu memberikan informasi: • penggunaan setiap workstation • pendapatan total warnet perhari • jumlah pengguna warnet perhari • dan beberapa fitur lainnya. Dengan adanya situs billing on-line ini pengusaha warnet dapat mengontrol dan memonitor operasional warnetnya dengan mudah. IGOS Kwartet
IGOS Kwartet buatan PSN adalah sebuah teknologi yang mampu menghubungkan empat set monitor, keyboard, dan mouse dengan sebuah PC berbasis Linux yang dilengkapi dengan empat buah kartu VGA dan delapan port USB. IGOS Kwartet memungkinkan setiap terminal memiliki kualitas visual yang bagus sesuai dengan kemampuan kartu VGA-nya. Hal ini dimungkinkan sebab setiap terminal terhubung dengan satu kartu VGA. IGOS Kwartet dapat digunakan warnet yang ingin melakukan penghematan biaya investasi perangkat keras namun pengguna warnet tetap dapat menikmati kualitas visualisasi yang bagus dan menarik. Buletin INFIBII
Januari 2009
16
Linux |
IGOS Kwartet memudahkan proses perawatan terminal karena CPU-nya hanya satu dan juga lebih tahan terhadap serangan virus atau trojan horse karena sistem operasi yang digunakan adalah Linux. IGOS Laba-laba
IGOS Laba-laba adalah arsitektur thin client mengadaptasi open source yang memanfaatkan PXES thin client terminal, sehingga hanya dengan sebuah komputer server berbasis Linux dapat melayani hingga 12 workstation diskless. Sesuai untuk digunakan di warnet. IGOS Dwiwarna
IGOS DwiWarna (IDW) adalah sebuah sistem operasi Linux yang dilengkapi dengan beragam paket atau aplikasi. IDW yang juga disebut Distro DwiWarna ini dibuat oleh komunitas open source DwiWarna. IDW dapat digunakan untuk kebutuhan perkantoran/desktop, dan sebagai server. Informasi lebih lengkap dapat dilihat di situs Internet http://dwiwarna.web.id/ IGOS Nusantara
IGOS Nusantara 2006 adalah aplikasi desktop yang merupakan distro Linux berbasis Fedora Core 5, dirancang khusus untuk desktop, sangat cocok digunakan untuk perorangan, bisnis, industri, dan perkantoran. Aplikasi yang terinstall dalam IGOS Desktop Nusantara 2006 antara lain: sistem operasi (Linux), aplikasi perkantoran (OpenOffice 2.0.3), Internet Browser (FireFox), E-mail Client (Evolution), Chatting (GAIM), pengolahan grafis (GIMP), serta aplikasi multimedia. Informasi lebih lengkap dapat dilihat di situs Internet http://www.igos-nusantara.or.id SDN IGOS
SDN IGOS adalah sebuah merek perangkat lunak berbasis open source yang diluncurkan oleh Tim Konsorsium IGOS untuk memenuhi tuntutan masyarakat akan adanya produk open source untuk sistem desktop yang siap pakai. SDN IGOS dilengkapi dengan dukungan infrastruktur dan helpdesk serta model bisnis yang mendukung pertumbuhan industri IT lokal. SDN IGOS merupakan salah satu piranti lunak pertama yang diluncurkan dengan merk IGOS desktop dan merupakan aplikasi lengkap untuk desktop dan terintegrasi: 1. Operating system: IGOS OS 2. Office productivity: IGOS Office 3. Project management: Project Manager 4. E-mail client: Evolution 5. Instant messaging client: GAIM 6. Desktop environment: GNOME 7. Application platform: Java 8. Browser: Mozilla Firefox 9. Graphic design: GIMP 2.0 Informasi lebih rinci dapat dilihat di situs Internet http://www.igos-desktop.com Waroeng IGOS
Aplikasi ini untuk usaha warnet berbasis open source yang dikembangkan Universitas Gunadarma untuk aplikasi desktop (client) yang terdiri atas: office application (word processing, spreadsheet, dan presentation), internet application (web browser, chatting, mail client) dan anti virus (clamav, spamassassin), maupun untuk server yang terdiri atas: security, proxy manager, IP location, billing system warnet dan quality of services.
Buletin INFIBII
Januari 2009
Linux |
17
Aplikasi/Distro Linux Waroegng IGOS ini terdiri atas 3 (tiga) buah CD-ROM, yaitu: • CD-ROM 1 : Aplikasi Server (Knoppix Version/live on CD). • CD-ROM 2 : Aplikasi Client (Knoppix Version/live on CD). • CD-ROM 3 : Instalasi untuk komputer client dan server. Informasi lebih lengkap dapat dilihat di situs Internet http://igos.gunadarma.ac.id/ Sebagai salah satu program implementasi deklarasi IGOS, pihak Ristek bersama YPLI (Yayasan Penggerak Linux Indonesia) menyusun delapan seri dokumen Panduan Pendayagunaan Open Source Software, yaitu: 1. Konfigurasi server Linux (DNS, Web Server, E-mail Server, FTP Server) 2. Bahasa pemrograman open source (Perl, PHP, Java, GCC, QT, Phyton, Ruby) 3. Perangkat lunak bebas dan open source 4. CMS, CRM, dan ERP (Content Management System, Customer Relationship Management, dan Enterprise Resource Planning) 5. Petunjuk instalasi IGOS Nusantara 6. RDBMS MySQL 7. Aplikasi perkantoran OpenOffice.org 8. Aplikasi untuk server (Bind, Apache, Postfix, FreeRadius, OpenLDAP)
Gambar 5 Tampilan GIMP
Link Rujukan: http://id.wikipedia.org/wiki/IGOS http://id.wikipedia.org/wiki/Indonesia,_Go_Open_Source http://poss.itb.ac.id/ http://www.igos.web.id/ http://www.psn.co.id/ http://www.blankonlinux.or.id/ http://igos-nusantara.or.id
Buletin INFIBII
Januari 2009
18
Komunitas IT |
WOMEN IN COMPUTING Thompson Susabda Ngoen
A. M. Turing Award adalah anugerah ilmiah tertinggi di bidang komputasi, teknologi informasi, dan komunikasi. Penghargaan ini dapat disejajarkan dengan hadiah nobel bidang sains. Turing Award untuk tahun 2006 dianugerahkan ACM kepada Frances Elizabeth Allen. Penganugerahan ini berkaitan dengan kontribusi beliau di dalam pengembangan teori dan praktik teknik optimisasi compiler, yang meletakkan fondasi bagi optimizing compiler modern dan eksekusi paralel otomatis. Allen menjadi wanita pertama yang memperoleh Turing Award sejak hadiah ini dianugerahkan kali pertama pada tahun 1966. Pekerjaan Ibu Allen memberikan dampak besar terhadap penelitian dan praktik pengembangan compiler. Compiler adalah sejenis piranti lunak (software) untuk menerjemahkan program yang ditulis sesuai kaidah bahasa pemrograman tertentu (misalnya bahasa Pascal, bahasa C, bahasa Java) menjadi kode-kode bahasa mesin yang dikenal dan dapat dijalankan (dieksekusi) oleh perangkat keras komputer. Turbo Pascal, GCC, Visual Basic, Borland J++ Builder adalah sebagian contoh compiler. Di dalam Database Management System (DBMS) seperti MySQL dan PL/SQL Oracle juga terdapat komponen compiler. Artikel ilmiah ibu Allen berjudul Program Optimization (tahun 1966) meletakkan dasar konseptual bagi analisis sistematis dan transformasi program komputer. Di dalam tulisan ini Allen memperkenalkan struktur data graph untuk mengkodekan isi program supaya secara otomatis dan efisien dapat mengidentifikasi kemungkinan dilakukan optimasi. Tulisan beliau yang berjudul Control Flow Analysis dan A Basis for Program Optimization pada tahun 1970 menetapkan interval sebagai konteks analisis dan optimasi data flow yang efisien dan efektif. Pada tahun 1971 bersama dengan John Cocke (peraih Turing Award tahun 1987) beliau menerbitkan hasil penelitian berjudul A Catalog of Optimizing Transformations memberikan deskripsi yang pertama dan sistematis tentang cara mengoptimalkan transformasi. Penelitian-penelitian beliau pada tahun 1973 dan 1974 tentang interprocedural data flow analysis mengembangkan analisis terhadap seluruh program. Tulisan beliau bersama Cocke pada tahun 1976 memperkenalkan salah satu dari dua strategi analisis utama yang digunakan optimizing compiler sampai hari ini. Ibu Allen menyelesaikan studi sarjana bidang matematika di The New York State College for Teachers (sekarang bernama State University of New York at Albany) pada tahun 1954. Beliau menyelesaikan studi S2 matematika di University of Michigan tahun 1957. Sejak 15 Juli 1957 beliau bergabung dengan IBM. Ibu Allen pensiun dari IBM pada tahun 2002. Pada tahun yang sama Ibu Allen memperoleh penghargaan Augusta Ada Lovelace Award yang diberikan oleh Association for Women in Computing. Penghargaan lain yang diperoleh beliau adalah IBM Fellow, IEEE Fellow, ACM Fellow. Saat ini ibu Allen menjadi anggota Computer Science and Telecommunication Board, Computer Research Associates Board, dan CISE Advisory Board dari National Science Foundation. Buletin INFIBII
Januari 2009
Profil INFIBII |
19
Viany Utami Tjhin Berbekal prestasi sebagai juara pertama dari kelas 1 sampai kelas 3 di sekolahnya, SMA Gembala Baik Pontianak, Ibu Viany (demikian panggilannya) melanjutkan pendidikan di program studi Sistem Informasi STMIK Bina Nusantara (Binus) pada tahun 1994, melalui jalur beasiswa karier. Dengan status sebagai mahasiswa beasiswa karier, beliau bekerja dari pagi hingga sore hari di Binus dan kuliah dari sore hingga malam hari, layaknya seorang karyawan. Kondisi yang cukup berat ini tidak menyurutkan semangatnya untuk berprestasi. Hal ini dibuktikan dengan berhasilnya beliau meraih gelar S.Kom pada tahun 1998 dengan predikat cum laude. Mengajar sudah biasa dilakukannya sejak masih sekolah dengan menjadi tutor bagi temantemannya khususnya untuk mata pelajaran sulit seperti fisika dan kimia serta menjadi guru les privat. Setelah memutuskan untuk berkarier di bidang pendidikan Ibu Viany melanjutkan studi magister di UBiNus dan Curtin Unversity of Technology dalam bidang manajemen sistem informasi pada tahun 1999, dan melupakan cita-citanya ketika masih SMA yang ingin menjadi dokter. Selama berkarier di BiNus Ibu Viany pernah menjadi asisten laboratorium pemrograman, manajer operasional laboratorium, sekretaris jurusan manajemen, di samping kegiatan sebagai staf pengajar (dosen). Ibu Viany bergabung dengan Informatika IBII sejak tahun 2005. Sesuai dengan latar belakang pendidikannya beliau mengampu mata kuliah kelompok Sistem Informasi, menjabat sebagai sekretaris Program Studi Sistem Informasi, dan Manajer MIS IBII. Berikut beberapa komentar mahasiswa tentang Ibu Viany.
“Saat semester II mata kuliah Konsep Sistem Informasi diajar oleh Bu Viany yang juga menjadi dosen wali saya. Beliau mengajar dengan sangat menyenangkan, dan hampir dari seluruh topik yang beliau ajarkan, dapat terserap dengan baik oleh saya. Selain itu, sebagai dosen wali, beliau juga banyak memberikan perhatian dan bimbingan seputar perkuliahan dan magang kerja yang sangat membantu saya dan teman-teman. Terima Kasih banyak ya bu untuk dukungan dan perhatian yang begitu besar kepada kami ^^”. “Menurut saya Bu Viany adalah dosen yang sangat qualified, karena dapat memberikan informasi yang mudah dimengerti. Selain sebagai dosen, bagi saya dia seorang motivator dan pemberi nasehat yang baik. Saya sering meminta pendapatnya tentang aktivitas-aktivitas tambahan yang akan saya ikuti, agar tidak mengganggu kuliah. Oleh karena itu dia menjadi salah satu dosen favorit saya”, kata
mahasiswa yang lain.
“Harapan saya, alumni program studi Sistem Informasi IBII mempunyai karier yang baik di dunia kerja dan dapat diterima oleh masyarakat, khususnya dunia usaha dan dunia industri”, demikian kata Ibu Viany.
Buletin INFIBII
Januari 2009
Profil INFIBII |
20
Yogi (57060157) Sejak mendapat pelajaran programming di sekolahnya, SMU Fons Vitae I, Yogi tertarik dengan dunia IT. Informasi yang lebih rinci mengenai program studi Teknik Informatika (TI) IBII diperolehnya ketika ada edu fair di sekolahnya. Setelah bertanya kepada saudaranya mengenai mutu pembelajaran di IBII maka tanpa ragu-ragu lagi Yogi segera mendaftar sebagai mahasiswa TI IBII angkatan 2006. ”Saya memilih IBII karena saya percaya akan mutu dan kualitas IBII. Itu terbukti dengan apa yang telah saya dapatkan sampai sekarang ini. Di program studi Teknik Informatika IBII, para dosennya sangat kompeten di bidangnya, mereka mengetahui teori dan penerapannya di lapangan, sehingga dapat mengajar dengan baik. Dosen-dosennya juga mau membantu mahasiswanya bila ada kesulitan, bahkan ada dosen yang mau memberi kuliah tambahan di luar jadwal kuliah yang ada, untuk memberikan mahasiswanya pendalaman yang lebih baik mengenai mata kuliahnya. Saya merasa beruntung telah memilih IBII sebagai tempat kuliah saya”.
Dengan cita-cita untuk menjadi seorang software engineer yang handal, setiap mata kuliah khususnya tentang IT diikutinya dengan serius dan tekun. Hal ini membuahkan hasil dengan dua kali Yogi dianugerahi penghargaaan dan beasiswa prestasi akademik, pada saat semester I dan semester IV. Ketika ditanya tentang fasilitas kuliah di TI IBII, dia menjawab bahwa fasilitas yang ada cukup lengkap dan menunjang. Sukses selalu Yogi.
Shita Novelia (47060753) Meskipun hobinya ‘ringan-ringan saja’, yaitu bermain basket dan baca komik, sejak di SMA teman kita ini telah bercita-cita merintis karier di bidang IT dan ingin menjadi seorang sytems analyst yang handal. Setelah mendapat informasi dari sejumlah kenalan yang berstatus mahasiswa dan juga alumni IBII tentang mutu lulusan IBII yang banyak dicari perusahaan, Shita mendaftarkan diri sebagai mahasiswa program studi Sistem Informasi (SI) IBII angkatan 2006 meskipun usia program studi ini relatif masih muda. “Menurut saya yang bagus dengan SI IBII adalah dosennya berkualitas dan juga menyampaikan perkuliahan dengan jelas. Suasana belajar di kelas juga menyenangkan, di samping itu juga jumlah mahasiswa per kelasnya tidak banyak. Kemudian juga ada fasilitas ruang komputer khusus informatika IBII yang sangat bermanfaat bagi mahasiswa. Bagi mahasiswa yang mengalami kesulitan dalam pelajaran, ada pendalaman materi yang diberikan oleh kakak kelas di luar perkuliahan, hal ini saya rasakan sangat membantu untuk dapat lebih memahami pelajaran. Dan juga adanya hubungan yang akrab, baik antar mahasiwa informatika IBII dan juga dengan para dosen.”
Pelajaran komputer yang didapatnya semasa di SMA Cindera Mata Bekasi cukup menunjang studinya saat ini. Berkat ketekunannya ditambah dengan atmosfir akademik yang kondusif di SI IBII, Shita berhasil meraih predikat mahasiswa berprestasi akademik pada semester Ganjil dan Genap 2007/2008 serta memperoleh beasiswa studi.
Buletin INFIBII
Januari 2009
Buletin INFIBII
Januari 2009