Friday, January 25, 2008

Karya Tulis Ku


BAB I

PENDAHULUAN







1.1. Latar Belakang masalah

Di zaman yang semakin maju ini kita dituntut untuk selalu dapat mengikuti perkembangan dunia komputerisasi maupun teknologi informasi yang semakin hari semakin berkembang. Salah satu dari perkembangan teknologi tersebut adalah semakin berkembangnya sistem operasi Linux, dengan banyaknya pilihan distro Linux dalam aplikasinya kita dapat menyesuaikan distro apa yang sesuai dengan keinginan kita.

Saat ini sistem operasi Linux sudah bukan hal awam lagi bagi kita, akan tetapi variasi-variasi dari aplikasi terutama Game yang ada sampai saat ini masih terbatas dibandingkan dengan sistem operasi lain, terkadang kita ingin memakai aplikasi yang diinginkan tetapi aplikasi tersebut hanya ada pada sistem operasi lain, sedangkan jika ingin memakai aplikasi tersebut ternyata kita harus membeli lisensi ketika aplikasi tersebut ternyata tidaklah free seperti aplikasi-aplikasi yang ada pada sistem operasi Linux.

 engan mempertimbangkan kondisi yang berlaku maka dibuatlah sebuah aplikasi di Linux untuk memperkaya aplikasi-aplikasi yang ada saat ini yaitu “Aplikasi Sudoku di Linux Berbasis Open Source”.



1.2 Pokok Masalah

Sudoku adalah sebuah permainan angka yang membutuhkan ketelitian, kesabaran, serta kecerdasan. Permainan ini sering kita jumpai di majalah-majalah atau sebuah buku khusus yang berisi permainan sudoku.

 Permasalahannya sekarang adalah bagaimana membuat sebuah aplikasi permainan sudoku dengan memanfaatkan tekhnologi komputer karena masih jarang kita temukan permainan sudoku yang diamainkan dikomputer, tentu saja dengan user interface yang menarik sehingga user tidak mudah bosan dalam memainkan game ini.



1.3 Batasan Masalah

Agar pembahasan tidak meluas maka diperlukan batasan masalah,. Aplikasi ini hanya memainkan sudoku 4x4 dan 9x9 dengan input yang digunakan adalah angka 1 sampai 9, karena dalam permainan sudoku ada sebagian yang dimainkan dengan mengisikan huruf, sedangkan untuk level permainan dibatasi sampai 5 level saja.



1.4 Maksud Penelitian

Sudoku adalah suatu program aplikasi yang digunakan untuk menguji sampai dimana tingkat kecerdasan kita dalam menganalisa penataan angka-angka yang kita susun dengan aturan yang telah ditentukan, kecepatan analisa yang kita lakukan dihitung dengan waktu. Semakin tinggi level yang diselesaikan, maka akan semakin sulit pula tingkat penyelesaiannya dan semakin tinggi pula tingkat kecerdasan kita diuji. Oleh karena itu dengan adanya aplikasi ini kita dapat menguji kemampuan kecepatan otak kita dalam menganalisa sesuatu.





1.5 Tujuan Penelitian

Adapun tujuan dari pembuatan aplikasi Sudoku di Linux Berbasis Open Source ini adalah:

 . Bisa memberikan pengetahuan dan memberikan motivasi bagi pengguna komputer, terutama bagi mahasiswa untuk mempelajari dan mendalami bidang ilmu pengetahuan dalam bidang IT.

 . Memberikan alternatif lain aplikasi Sudoku di komputer, untuk aplikasi ini di sistem operasi Linux.

3. Memberikan alternatif lain kepada pemakai komputer yang ingin menguji sampai dimana tingkat kecerdasannya.

 . Aplikasi ini dapat juga digunakan untuk melatih kecepatan otak kita dalam menganalisa sesuatu hal.

 . Dengan adanya aplikasi ini, kita dapat membudayakan bermain game sambil mengasah kemampuan di sistem operasi Linux.



1.6 Sistematika Karya Tulis

Sesuai dengan batasan masalah yang dijelaskan secara garis besar, maka sistematika karya tulis ini di bagi menjadi 5 Bab yaitu sebagai berikut :



Bab I. Pendahuluan

 Pada Bab ini akan diuraikan mengenai Latar Belakang Masalah, Maksud Penelitian, Tujuan Penelitian, Batasan Masalah, dan Sistematika Karya Tulis.



Bab II Landasan Teori

 Dalam bab ini akan diuraikan tentang pengertian Open Source, pengertian dari Linux, pengertian dari Gambas yaitu bahasa program yamg digunakan dalam pembuatan software ini, pengertian dari Sudoku sehingga dapat dimengerti oleh para pemakai sebelum menggunakan program Aplikasi Sudoku di Linux Berbasis Open Source ini.



Bab III Perancangan system

 Pada bab ini meliputi diagram alir perancangan system yang dibuat, penjelasan sisitem serta spesifikasi berkas yang dibutuhkan, system pendukung berupa system perangkat keras dan system perangkat lunak yang digunakan, perancangan berkas, perancangan masukan dan perancangan keluaran.





Bab IV Implementasi Program

 Pada bab ini akan diuraikan bagaimana program dapat dijalankan yang terdiri dari program utama, proses pengolahan data dan program laporan, pelaksanaan program dan sub program dalam menjalankan aplikasi ini.



Bab V Penutup

 Pada Bab ini berisi kesimpulan dan saran – saran.






BAB II

LANDASAN TEORI






2.1. Open Source

2.1.1. Pengertian Open Source


 Jika diartikan menurut arti kata, Open Source dalam bahasa Indonesia berarti Kode Terbuka. Kode yang dimaksud disini bukanlah kode morse, ataupun kode barang, tetapi yang kode yang dimaksud disini adalah Kode Program. Kode Program yang dimaksud adalah perintah - perintah yang diketikkan berdasarkan logika yang benar.

 Suatu program dengan lisensi Open Source berarti program tersebut membuka Kode Programnya bagi siapa saja yang ingin mempelajarinya, caranya dengan menyertakan kode program bersama dengan distribusi paket program yang sudah jadi (hasil kompilasi). Dengan penyertaan kode program tersebut, pembeli atau pengguna program dapat membedah program tersebut, melakukan modifikasi sesuai dengan kebutuhannya, bahkan memperbaiki Bug atau kesalahan logika dalam program tersebut. Contoh program yang Open Source adalah Linux. Dalam setiap distribusinya vendor Linux juga menyertakan Kode Program Linux.

 Satu hal yang perlu ditekankan adalah bahwa program atau software yang Open Source tidak selalu tersedia secara gratis. Tetap ada biaya yang dikeluarkan untuk membeli program tersebut. Contoh, misalnya Sistem Operasi RedHat Linux, program Linuxnya tetap dibeli dengan harga yang murah. Lalu, apa bedanya Open Source dengan Closed Source.

 Pada program yang Closed Source, paket program tidak dapat didistribusikan lagi selain oleh pembuat / vendor program tersebut. Jika ada distribusi yang bukan oleh vendor program tersebut, maka itu dianggap sebagai pembajakan software. Atau dengan kata lain program yang Closed Source tidak dapat didistribusikan secara bebas, kecuali oleh vendor program tersebut. Sedangkan software yang Open Source, dapat didistribusikan secara bebas oleh siapapun. Paket program juga dapat digandakan secara bebas.



2.1.2. Tujuan Open Source

 Tujuan Open Source sebenarnya adalah ingin menghilangkan ketergantungan terhadap vendor program, dimana vendor bisa saja bertindak seenaknya. Dalam program yang Closed Source vendor bisa saja menyisipkan kode - kode yang mungkin dapat membahayakan pengguna program, dan menghilangkan privasi pengguna.

 Selain itu, Open Source juga bertujuan menyediakan software yang mudah dijangkau oleh masyarakat luas, dan menghindari pengerukan keuntungan yang berlebihan oleh vendor.

 Bagi kalangan IT khususnya di Indonesia, dengan adanya software yang Open Source dapat mendorong semangat untuk mengembangkan program bagi tenaga - tenaga TI di Indonesia. Sebab dengan mempelajari kode program, dapat dianalisa dimana kelemahan program, apa sesungguhnya proses yang berlangsung dalam kerja program, dan sekaligus mencari solusi terhadap kelemahan program yang ditemui. Atau yang lebih extreem adalah memodifikasi program sedemikian rupa agar lebih ergonomis / pas digunakan sesuai dengan keperluan.

 Dengan mempelajari kode program yang Open Source kita dapat menganalisa teknik yang digunakan dalam pembuatan software tersebut, yang nantinya pengetahuan tersebut dapat dimanfaatkan untuk merancang aplikasi yang berguna.



2.2. Linux

2.2.1. Sejarah Singkat Linux


 Kernel Linux pada mulanya ditulis sebagai proyek hobi oleh pelajar universitas Finland Linus Torvalds yang belajar di Universitas Helsinki, untuk membuat kernel Minix yang gratis dan dapat diedit. (Minix adalah projek pelajaran menyerupai UNIX dibuat untuk mudah digunakan dan bukannya untuk digunakan secara komersial.) Versi 0.01 dikeluarkan ke Internet pada September 1991, Versi 0.02 pada 5 Oktober 1991.

 Berikutnya, beribu-ribu penulis program sukarelawan seluruh dunia telah menyertai proyek ini.

 Sejarah sistem operasi Linux berkaitan erat dengan proyek GNU, proyek program bebas freeware terkenal diketuai oleh Richard Stallman. Proyek GNU diawali pada tahun 1983 untuk membuat sistem operasi seperti Unix lengkap “kompiler, utiliti aplikasi, utiliti pembuatan dan seterusnya” diciptakan sepenuhnya dengan perangkat lunak bebas. Pada tahun 1991, pada saat versi pertama kerangka Linux ditulis, proyek GNU telah menghasilkan hampir semua komponen sistem ini kecuali kernel. Torvalds dan pembuat kernel seperti Linux menyesuaikan kernel mereka supaya dapat berfungsi dengan komponen GNU, dan seterusnya mengeluarkan Sistem operasi yang cukup berfungsi. Oleh karena itu, Linux melengkapi ruang terakhir dalam rancangan GNU.

 Walaupun kernel Linux dilisensikan di bawah GNU General Public License, ia bukannya sebesar dari proyek GNU.

 Tux, seekor Pinguin, merupakan logo dan maskot bagi Linux. Linux adalah trademark (SN: 1916230) yang dimiliki oleh Linus Torvalds. Linux terdaftar sebagai "Program sistem operasi komputer bagi penggunaan komputer dan operasi". Trademark ini didaftarkan setelah ada suatu kejadian di mana seorang pemalsu bernama William R Della Croce Jr mulai mengirim surat kepada para distributor Linux dan megklaim trademark Linux adalah hakmiliknya serta meminta royalti sebanyak 10% dari mereka. Para distributor Linux mulanyai mendorong agar trademark yang asli diberikan kepada Linus Torvalds. Pemberian lisensi trademark Linux sekarang dibawah pengawasan Linux Mark Institute.


 






Gambar 2.1. Tux maskot resmi Linux





2.2.2. Distrbusi Linux

 Terdapat banyak distribusi Linux (lebih dikenali sebagai distro) yang dibuat oleh individu, grup, atau lembaga lain. Masing-masing disertakan dengan program sistem dan program aplikasi tambahan, di samping menyertakan suatu program yang memasang keseluruhan sistem di komputer (installer program).

 Inti di setiap distribusi Linux adalah kernel, koleksi program dari proyek GNU (atau proyek lain), cangkang (shell), dan aturcara utilitas seperti pustaka (libraries), kompilator, dan penyunting (editor). Kebanyakan sistem juga menyertakan aturcara dan utilitas yang bukan-GNU. Bagaimanapun, utilitas tersebut dapat dipisahkan dan sistem ala UNIX masih tersedia. Beberapa contoh adalah aturcara dan utiliti dari BSD dan sistem grafik-X (X-Window System). X menyediakan antarmuka grafis (GUI) yang umum untuk Linux.



2.2.3. Aplikasi Sistem Operasi Linux

 Pengguna Linux, yang pada umumnya memasang dan melakukan sendiri konfigurasi terhadap sistem, lebih cenderung mengerti teknologi dibanding pengguna Microsoft Windows atau Mac OS. Mereka sering disebut hacker atau geek. Namun stereotip ini semakin berkurang dengan peningkatan sifat ramah-pengguna Linux dan makin luasnya pengguna distribusi. Linux telah membuat pencapaian yang cukup baik dalam pasaran komputer server dan komputer tujuan khusus, seperti mesin render gambar dan server web. Linux juga mulai populer dalam pasaran komputer desktop.

 Linux merupakan asas kepada kombinasi program-server LAMP, kependekan dari Linux, Apache, MySQL, Perl/PHP/Python. LAMP telah mencapai popularitas yang luas di kalangan pengembang Web.

 Linux juga sering digunakan sebagai sistem operasi embeded. Biaya pengadaan Linux yang murah memungkinkan penggunaannya dalam peralatan seperti simputer, yaitu komputer berbiaya rendah yang ditujukan pada penduduk berpendapatan rendah di Negara-negara berkembang.

 Dengan lingkungan desktop seperti KDE dan GNOME, Linux menawarkan antarmuka pengguna yang lebih menyerupai Apple Macintosh atau Microsoft Windows daripada antarmuka baris teks seperti Unix. Oleh karena itu, lebih banyak program grafik dapat ditemui pada Linux yang menawarkan berbagai fungsi yang ada pada utilitas komersil.



2.2.4. Instalasi Linux

 Proses instalasi Linux yang sukar seringkali menjadi penghalang bagi pengguna baru, namun proses ini sekarang menjadi lebih mudah. Dengan penerimaan Linux oleh beberapa pabrikan komputer pribadi besar, komputer terpasang (built up) dengan distribusi Linux banyak tersedia. Selain itu, terdapat juga distribusi Linux yang dapat dijalankan (boot) secara langsung dari cakram optik (CD) tanpa perlu diinstalasi ke cakram keras (hard disk), hal ini dikenal dengan istilah Live CD. Contoh distribusi dalam bentuk Live CD adalah Knoppix/Gnoppix, Kubuntu/Ubuntu dan Gentoo. Saat ini hampir semua distribusi Linux menyediakan versi Live CD untuk produknya. ISO image untuk cakram optik untuk distribusi Linux tersebut biasanya dapat diunduh dari Internet, dibakar ke CD, dan selanjutnya dapat digunakan sebagai CD yang siap untuk proses boot.





2.2.5. Konfigurasi Linux

 Konfigurasi setelan Linux dan aplikasi di atasnya banyak yang dilakukan lewat berkas teks di direktori /etc. Pada perkembangan selanjutnya, utilitas seperti Linuxconf dan GNOME System Tools memudahkan pekerjaan ini lewat antarmuka grafik. Kendati demikian, baris perintah (command line) tetap merupakan cara yang paling umum digunakan.



2.3. Gambas

2.3.1. Pengertian Gambas


 Gambas diciptakan oleh Benoit Minisini (perancis) merupakan salah satu bahasa pemrograman visual di linux, yang dibuat sebagai interpreter bahasa basic.

 Walaupun memiliki kesamaan dengan VB, Gambas bukanlah clone dari bahasa pemrograman buatan Microsoft ini. GAMBAS (Gambas Almost Means Basic) sendiri merupakan rekursif (perulangan) akronim atau singakatan dari beberapa kata yang mengandung kata basic. Adapun beberapa Komponen yang dibutuhkan Gambas yaitu :

 Paket X11 development

 QT 3 development

 Paket KDE 3 development

 Paket database PostreSQL dan MySQL, SQLite atau ODBC

 Paket libcurl versi 7.10.7 keatas untuk aplikasi yang berbasis jaringan

 Paket GTK+ development, bila ingin membangun komponen GTK+

 Paket SDL dan SDL_mixer untuk membangun komponen SDL



2.3.2. Perbedaan Gambas dan Visual Basic

Visual Basic

 Berjalan pada sistem operasi windows

 Merupakan program dengan license proprietary atau komersil

 Merupakan program yang bersifat close source artinya tidak dilengkapi dengan source code nya

Ganbas

 Berjalan pada sistem operasi Linux

 Merupakan program open source, user dapat memodifikasi kode sesuai dengan kebutuhan

 Program nya gratis, karena berlisensi GPL (General Public License)

 Programmer boleh menjual aplikasi yang dibuat dengan GAMBAS.



2.4. Sudoku

2.4.1. Pengertian Sudoku


 Sudoku (atau ada pula yang menulisnya Su Doku) adalah sebuah puzzle yang didasarkan pada konsep Latin Square. Latin Square sendiri diperkenalkan pada tahun 1783 oleh Leonhard Euler, seorang matematikawan asal Swiss.

 Papan Sudoku terbuat dari sembilan buah kotak berukuran 3×3 (kita sebut saja blok) yang disusun sedemikian rupa sehingga menghasilkan kotak besar berukuran 9×9. Beberapa kotak sudah diisi sebagai petunjuk awal dan tugas pemain adalah melengkapi angka-angka pada kotak yang lain sehingga keseluruhan papan permainan terisi secara lengkap. Tentu saja permainan ini ada aturannya, tetapi amatlah sederhana: kotak-kotak pada setiap baris, kolom, dan blok harus berisi sebuah angka yang unik dari 1 hingga 9. Angka-angka ini sebenarnya tidak memiliki hubungan aritmetis satu sama lain. Anda boleh menggantinya dengan 9 huruf, lambang, bahkan warna yang berbeda.










Gambar 2.2. Contoh papan Sudoku



2.4.2. Sejarah Singkat Sudoku

 Jika Anda mengira bahwa puzzle ini berasal dari Negeri Matahari Terbit, Anda salah. Nama puzzle ini memang berbahasa Jepang, tetapi asalnya bukanlah dari sana. Permainan ini tadinya bernama Number Place dan pertama kali dipublikasikan pada tahun 1979 dalam sebuah majalah khusus puzzle, Dell Puzzle Magazines, di Manhattan, New York, dan terus berlangsung sampai sekarang. Adalah Howard Garns, seorang mantan arsitek, meninggal tahun 1989, yang paling dicurigai sebagai orang yang menciptakan permainan ini ketika dia berusia 74 tahun.

 Tahun 1984 Nikoli, sebuah perusahaan penerbitan, membawa permainan ini ke Jepang dan menerbitkannya di sebuah media cetak khusus puzzle miliknya, Monthly Nikolist. Mereka menamakannya Suuji Wa Dokushin Ni Kagiru, disingkat Sudoku dan mematenkan kata ini. Media lain pun kemudian menerbitkan permainan ini dengan nama aslinya, Number Place. Mulai saat itulah permainan ini “mewabah” di Jepang. Lebih dari 600.000 majalah tentang Sudoku terjual di Jepang setiap bulannya. Lucunya, mereka lebih senang menyebutnya Number Place, sementara orang di luar Jepang menamakannya Sudoku.

 Dari Jepang, puzzle ini kemudian “ditemukan” oleh Wayne Gould, seorang pensiunan hakim asal Matamata, Selandia Baru, ketika dia pada tahun 1997 berbelanja di sebuah toko buku di Tokyo. Gambar kotak-kotak berisi angka itu langsung menarik perhatiannya dan dia pun menjadi pecandu berat permainan ini. Dia pun kemudian(selama lebih dari 6 tahun) menulis sebuah program komputer agar soal permainan ini bisa dibangun secara lebih cepat. Gould lalu menawarkannya pada The Times, Inggris, yang kemudian menerbitkannya pada akhir tahun 2004 dengan nama Su Doku. Sampai saat ini, Times menerbitkan Su Doku setiap hari, menggunakan program buatan Gould ini. Gould pun kemudian menjual puzzle ini di situsnya. Dia menargetkan penghasilan satu juta dollar untuk tahun ini dari penjualan perangkat lunak dan royalti buku-bukunya.

 Sudoku menjadi benar-benar mewabah di Inggris ketika The Daily Telegraph mengenalkannya pada pembacanya pada bulan Februari 2005. Media lain pun kemudian mengikuti dengan menyediakan permainan ini di edisinya masing-masing. Pertengahan Mei 2005 adalah awal demam Sudoku. Segala hal tentang Sudoku menjadi ladang uang, pemuatan di koran harian, penerbitan buku, penerbitan majalah, pertunjukkan televisi, siaran radio, pelayanan langganan lewat email, dan penyediaan layanan di telepon genggam. Khusus untuk buku, News & Star mencatat bahwa 6 dari 10 buku nonfiksi yang paling laris saat ini adalah buku tentang Sudoku. Hal ini cukup membuat J.K. Rowling, penulis serial Harry Potter, diberitakan khawatir akan kelancaran penjualan buku-bukunya. Dari Inggris, Sudoku kemudian menyebar di daratan Eropa, dari Prancis sampai Slowakia, lalu menular pula ke Australia dan Amerika. Variasi Sudoku pun kemudian dibuat.

 Menjalarnya demam Sudoku ke seluruh dunia dimungkinkan karena untuk menyelesaikan permainan ini tidak diperlukan pengetahuan umum, kepandaian atas bahasa tertentu, juga kemampuan matematika. Anda hanya memerlukan kecermatan, kesabaran, dan logika.






BAB III

PERANCANGAN SISTEM








3.1 Sistem Pendukung

 Sistem merupakan sekumpulan elemen-elemen yang saling berkaitan dan bertanggung jawab memproses masukan atau input yang satu dengan yang lain, sehingga mampu melakukan keluaran atau output berupa informasi yang dapat digunakan dalam pengambilan keputusan. Oleh karena itu untuk menghasilkan ouput yang sesuai dengan keinginan, maka sistem harus didukung oleh perangkat keras dan perangkat lunak yang handal, sehingga hasil akhir yang didapat akan menjadi maksimal.



3.1.1 Sistem Perangkat Keras

Yang dimaksud dengan perangkat keras adalah peralatan fisik atau komputer itu sendiri secara umum. Perangkat keras terdiri dari unit masukan, unit pengolah, dan unit keluaran.

Adapun sistem perangkat keras yang disarankan oleh penulis untuk menjalankan program Aplikasi Sudoku di Linux Berbasis Open Source ini yaitu :

 . Processor pentium Dual Core 1,6 Mhz

2. RAM 512 Mb atau lebih tinggi

3. Hardisk 80 GB

4. VGA Card ATI Radeon M200 Share Vram





3.1.2 Sistem perangkat lunak

Perangkat lunak adalah program-program yang diperlukan untuk menjalankan perangat keras, diantaranya adalah bahasa pemrograman, sistem operasi, program aplikasi. Adapun Perangkat lunak yang digunakan untuk membuat program Aplikasi Sudoku di Linux Berbasis Open Source ini yaitu :

1. sistem operasi Linux Open Suse 10.2.

2. Bahasa pemrograman Gambas versi 1.0.17 dan Gambas2 versi 1.9.49.

3. Pemrograman Database dengan Sqlite3.





3.2 Rancangan Form

Perancangan Form program Aplikasi Sudoku di Linux Berbasis Open Source ini terdiri dari 9 buah form dimana masing – masing form mempunyai fungsi yang berbeda, namun antara form1 dengan form yang lainnya saling ketergantungan. Berikut ini rancangan form yang terdapat pada program Aplikasi Sudoku di Linux Berbasis Open Source ini, yang mana terdiri dari 9 buah form yaitu FrmHal1, FrmMain, FrmTraining, FrmLevel1, FrmLevel2, FrmLevel3, FrmLevel4, FrmLevel5, dan FormRekor, dengan alir dari 9 buah form tersebut sebagai berikut :








Gambar 3.1 Diagram alir form





Dari bentuk diagram tersebut, maka dapat dijadikan dalam sebuah sistem yang saling berkaitan, dengan awal pertama kali muncul yaitu FrmHal1, kemudian diikuti FrmMain yang berisi menu-menu pilihan dari aplikasi sudoku berbasis open source ini.



3.2.1 FrmHal1

FrmHal1 merupakan form utama, yaitu form yang ditampilkan pertama kali saat program dijalankan. Pada Form ini digunakan ketika aplikasi dijalankan pertama kali dengan bentuk animasi. Rancangan FrmHal1 seperti gambar berikut :






Gambar 3.2 FrmHal1





3.2.2 FrmMain

FrmMain merupakan form yang muncul setelah form utama, ada beberapa menu pilihan untuk melanjutkan aplikasi ini, Menu Challenge adalah untuk melanjutkan permainan dengan 5 pilihan level yang ada pada aplikasi ini, menu Training adalah untuk menuju ke FrmTraining, Menu Record adalah untuk menuju ke FormRekor, Menu About Me berisi tentang profile dari pencipta aplikasi ini, sedangkan menu Exit untuk keluar dari aplikasi. Gambar desain FrmMain sebagai berikut :






Gambar 3.3 FrmMain





3.2.3 FrmLevel1

FrmLevel1 merupakan form yang menampilkan permainan sudoku 9x9 dengan 5 angka yang pertama kali muncul secara acak pada tiap kotak parsial. Gambar desain FrmLevel1 sebagai berikut :






Gambar 3.4 Sudoku Level 1


 



3.2.4 FrmLevel2

Desain pada FrmLevel2 sama dengan FrmLevel1 yaitu merupakan form yang menampilkan permainan sudoku 9x9 tetapi dengan 4 angka yang pertama kali muncul secara acak pada tiap kotak parsial.



3.2.5 FrmLevel3

Desain pada FrmLevel3 sama dengan FrmLevel1 yaitu merupakan form yang menampilkan permainan sudoku 9x9 tetapi dengan 3 angka yang pertama kali muncul secara acak pada tiap kotak parsial.



3.2.6 FrmLevel4

Desain pada FrmLevel4 sama dengan FrmLevel1 yaitu merupakan form yang menampilkan permainan sudoku 9x9 tetapi dengan 2 angka yang pertama kali muncul secara acak pada tiap kotak parsial.



3.2.7 FrmLevel5

Desain pada FrmLevel5 sama dengan FrmLevel1 yaitu merupakan form yang menampilkan permainan sudoku 9x9 tetapi dengan 1 angka yang pertama kali muncul secara acak pada tiap kotak parsial.



3.2.8 FrmTraining

FrmTraining merupakan form yang menampilkan Sudoku 4x4 tanpa ada angka yang pertama kali muncul, dengan waktu permainan tidak terbatas dengan Gambar desain FrmTraining sebagai berikut :






Gambar 3.5 Menu Training


 



3.2.9 FrmRekor

FrmRekor merupakan form yang menampilkan rekor dari hasil permainan Level1 sampai dengan Level5 yang disimpan pada sebuah database, Gambar desain FrmRekor sebagai berikut :






Gambar 3.6 Record


 



3.3 Logika Program

Pada logika program Aplikasi Sudoku di Linux Berbasis Open Source ini mengikuti rule yang ada pada permainan sudoku itu sendiri yaitu dengan papan Sudoku yang terbuat dari sembilan buah kotak berukuran 3×3 (sebuah blok) yang disusun sedemikian rupa sehingga menghasilkan kotak besar berukuran 9×9, pada tiap blok 3x3 dapat diisikan angka 1 sampai 9 dengan aturan tidak boleh ada angka yang sama, selanjutnya pada kotak besar berukuran 9x9 tiap baris dan kolom dapat diisikan angka 1 sampai 9 dengan aturan tidak boleh ada angka yang sama, dengan aturan tersebut dapat dimasukkan ke dalam bahasa program dengan logika program sebagai berikut :

If jumlah_tiapblok=45 AND jumlah_tiapbaris=45 AND jumlah_tiapkolom=45 THEN

Rule = True

Else if jumlah_tiapblok<>45 AND jumlah_tiapbaris<>45 AND jumlah_tiapkolom<>45

THEN Rule = False

Keterangan :

jumlah_tiapblok = 45 adalah jumlah dari angka 1 sampai 9.

jumlah_tiapbaris = 45 adalah jumlah dari angka 1 sampai 9.

jumlah_tiapkolom = 45 adalah jumlah dari angka 1 sampai 9.

Rule adalah aturan dari permainan sudoku.

Dengan aturan program seperti diatas maka aturan dari permainan sudoku akan terpenuhi, maka dapat dibuat sebuah algoritma sebagai berikut :

1. masukkan angka 1 <= 9 pada tiap kotak.

2. jika jumlah_tiapblok = 45 dan jumlah_tiapbaris = 45 dan jumlah_tiapkolom = 45, ke no 4, selain itu ke no 3.

3. Rule = False, kembali ke no 1.

4. Rule = True, ke no 5.

5. Simpan data hasil permainan.

Sedangkan untuk menu latihan pada Aplikasi Sudoku di Linux Berbasis Open Source ini mempunyai rule yang sama, tetapi dengan blok yang terdiri empat buah kotak berukuran 2×2 yang disusun sehingga menghasilkan kotak besar 4x4, maka logika program adalah sebagai berikut :

If jumlah_tiapblok=10 AND jumlah_tiapbaris=10 AND jumlah_tiapkolom=10 THEN

Rule = True

Else if jumlah_tiapblok<>10 AND jumlah_tiapbaris<>10 AND jumlah_tiapkolom<>10

THEN Rule = False

Keterangan :

jumlah_tiapblok = 10 adalah jumlah dari angka 1 sampai 4.

jumlah_tiapbaris = 10 adalah jumlah dari angka 1 sampai 4.

jumlah_tiapkolom = 10 adalah jumlah dari angka 1 sampai 4.

Rule adalah aturan dari menu training sudoku.

Maka dari logika program diatas dapat dibuat sebuah algoritma seperti berikut :

1. masukkan angka 1 <= 4 pada tiap kotak.

2. jika jumlah_tiapblok = 10 dan jumlah_tiapbaris = 10 dan jumlah_tiapkolom = 10, ke no 4, selain itu ke no 3.

3. Rule = False, kembali ke no 1.

4. Rule = True, ke no 5.

5. Keluar.



3.4 Flow Chart

3.4.1 Flow Chart Permainan Sudoku 9x9








Gambar 3.7 Flow Chart Permainan Sudoku 9x9



3.4.1 Flow Chart Permainan Sudoku 4x4








Gambar 3.7 Flow Chart Permainan Sudoku 4x4










BAB IV

IMPLEMENTASI PROGRAM








4.1 SPESIFIKASI PROGRAM

Pada program Aplikasi Sudoku di Linux Berbasis Open Source ini, terdiri dari sembilan form, yang pertama adalah form utama untuk tampilan aplikasi ketika pertama kali dibuka dengan bentuk form loading, yang kedua adalah form yang menyediakan menu pilihan untuk melanjutkan aplikasi ini, setelah form yang kedua terbuka yaitu FrmMain, maka user dipersilahkan untuk memilih menu yang ada pada foem tersebut, kemudian Form dari inti aplikasi ini adalah FrmLevel1, FrmLevl2, FrmLevel3, FrmLevel4, FrmLevel5, sedangkan dua form yang lain adalah FrmTraining dan FormRekor.



4.2 OPERASIONAL PROGRAM

Untuk menjalankan program ini dapat menggunakan software Gambas versi 1.0.17 dan Gambas2 versi 1.9.49, dengan sistem operasi Linux OpenSuse 10.2.



4.2.1 FrmHal1

Tampilan pada saat pertama kali program dijalankan adalah FrmHal1 dengan bentuk form seperti berikut :






Gambar 4.1 Tampilan pada saat pertama kali program dijalankan



Pada saat form ini muncul animasi dengan 5 titik(TglBtn) berwarna merah muncul satu-persatu dari arah kiri ke kanan, disertai dengan label LoAdiNg, untuk menciptakan animasi tersebut penulis menggunakan komponen Timer dan TextBox, script program yang digunakan adalah sebagai berikut :

PUBLIC SUB Timer1_Timer() 'Pada Timer1 dengan event Timer

DIM n AS Integer

n = TB1.Text

TB1.Text = n + 1

END

Pada script program tersebut dapat diartikan bahwa nila n akan terus bertambah 1, nilai n itu sendiri adalah TB1(TextBox).

PUBLIC SUB TB1_Change()'Pada TB1(TextBox) dengan event Change

DIM a AS Integer

a = TB1.Text

IF a = "1" THEN

TglBtn1.Visible = TRUE

ELSE IF a = "2" THEN

TglBtn2.Visible = TRUE

ELSE IF a = "3" THEN

TglBtn3.Visible = TRUE

ELSE IF a = "4" THEN

TglBtn4.Visible = TRUE

ELSE IF a = "5" THEN

TglBtn5.Visible = TRUE

ELSE IF a = "6" THEN

FrmMain.Show

Timer1.Enabled = FALSE

FrmHal1.Visible = FALSE

END IF

END

Pada script program pada TextBox ini berhubungan dengan script yang ada pada Timer, dengan text awal adalah 0, dengan nilai a adalah text pada TB1, jika a = 1 maka TglBtn1(titik berwarna merah) akan muncul, dan jika a = 2 maka TglBtn2 akan muncul, dan jika a = 3 maka TglBtn3 akan muncul, dan jika a = 4 maka TglBtn4 akan muncul, dan jika a = 5 maka TglBtn5 akan muncul, dan jika a = 6 maka FrmMain akan muncul Timer1 berhenti FrmHal1 tidak kelihatan.



4.2.2 FrmMain

Selanjutnya adalah form yang muncul setelah FrmMain adalah FrmMain, dengan bentuk form sebagai berikut :






Gambar 4.2 Tampilan pada FrmMain





Pada from tersebut terdapat menu pilihan, yang pertama adalah menu Challenge, jika diklik maka akan muncul menu baru yaitu menu Level 1, Level 2, Level 3, Level 4, dan Level 5 dengan benuk animasi dengan muncul satu persatu

seperti berikut :






Gambar 4.3 Tampilan pada FrmMain setelah menu Challenge diklik





komponen yang digunakan sama dengan pada FrmHal1 yaitu Timer dan TextBox, dengan logika program yang sama. selanjutnya jika salah satu dari menu Level tersebut diklik maka akan muncul animasi loading seperti berikut :






Gambar 4.4 Tampilan pada FrmMain setelah salah satu menu level diklik





untuk menampilkan animasi tersebut Komponen yang digunakan masih sama yaitu Timer dan TextBox, dengan logika program yang sama. selanjutnya pada menu Training jika diklik maka akan menampilkan animasi yang sama pada saat salah satu menu level diklik, kemudian setelah animasi tersebut akan langsung muncul FrmTraining. untuk menu Record juga akan menampilkan animasi yang sama dan kemudian langsung muncul FormRekor, sedangkan untuk menu About Me akan menampilkan profil dari penulis.



4.2.3 FrmLevel1

FrmLevel1 akan muncul setelah menu Level 1 pada FrmMain diklik, dengan bentuk form seperti berikut :






Gambar 4.5 Tampilan awal FrmLevel1





pada form tersebut Time akan berkurang 1 tiap detiknya, untuk level 1 ini user diberikan waktu 540 detik untuk menyelesaikan permainan ini, dengan angka yang pertama kali muncul adalah 5 buah angka secara acak tiap bloknya, adapun script program untuk menampilkan angka tersebut secara acakadalah seperti berikut :

PUBLIC SUB Form_Open()

DIM Acak AS Integer

RANDOMIZE 'fungsi untuk mengacak

Acak = Int(Rnd(0, 4))

TxtBx2.Text = Acak

T1.SetFocus

konek

END

Script program tersebut dapat diartikan bahwa ketika form terbuka maka akan mengacak nilai dari 0 sampai 4, ketentuan nilai dari tiap angka ada pada komponen TxtBx2 dengan 5 ketentuan pilihan untuk nilai acak.

Angka 1 sampai 9 pada sembilan kotak sebelah kanan di menu Level 1 adalah angka untuk menisi tiap kotak kosong pada kotak permainan sudoku sebelah kiri, dengan menekan salah kotak permainan sudoku tersebut maka kotak yang ditekan akan berwarna merah kemudian siap diisikan angka dari 1 sampai 9 dengan menekan salah satu dari sembilan kotak yang ada pada sebelah kanan.

Menu GO >>> adalah untuk menentukan apakah hasil dari permainan, apakah permainan berhasil atau tidak, rule yang digunakan dalam script program adalah sebagai berikut :

...........................................

IF n1 + n2 + n3 + n4 + n5 + n6 + n7 + n8 + n9 = 45 AND n10 + n11 + n12 + n13 + n14 + n15 + n16 + n17 + n18 = 45 AND n19 + n20 + n21 + n22 + n23 + n24 + n25 + n26 + n27 = 45 AND n28 + n29 + n30 + n31 + n32 + n33 + n34 + n35 + n36 = 45 AND n37 + n38 + n39 + n40 + n41 + n42 + n43 + n44 + n45 = 45 AND n46 + n47 + n48 + n49 + n50 + n51 + n52 + n53 + n54 = 45 AND n55 + n56 + n57 + n58 + n59 + n60 + n61 + n62 + n63 = 45 AND n64 + n65 + n66 + n67 + n68 + n69 + n70 + n71 + n72 = 45 AND n73 + n74 + n75 + n76 + n77 + n78 + n79 + n80 + n81 = 45 AND n1 + n2 + n3 + n10 + n11 + n12 + n19 + n20 + n21 = 45 AND n4 + n5 + n6 + n13 + n14 + n15 + n22 + n23 + n24 = 45 AND n7 + n8 + n9 + n16 + n17 + n18 + n25 + n26 + n27 = 45 AND n28 + n29 + n30 + n37 + n38 + n39 + n46 + n47 + n48 = 45 AND n31 + n32 + n33 + n40 + n41 + n42 + n49 + n50 + n51 = 45 AND n34 + n35 + n36 + n43 + n44 + n45 + n52 + n53 + n54 = 45 AND n55 + n56 + n57 + n64 + n65 + n66 + n73 + n74 + n75 = 45 AND n76 + n77 + n78 + n67 + n68 + n69 + n58 + n59 + n60 = 45 AND n61 + n62 + n63 + n70 + n71 + n72 + n79 + n80 + n81 = 45 AND n1 + n6 + n7 + n48 + n49 + n54 + n55 + n60 + n61 = 45 AND n2 + n5 + n8 + n47 + n50 + n53 + n56 + n59 + n62 = 45 AND n3 + n4 + n9 + n46 + n51 + n52 + n57 + n58 + n63 = 45 AND n10 + n15 + n16 + n39 + n40 + n45 + n64 + n69 + n70 = 45 AND n11 + n14 + n17 + n38 + n41 + n44 + n65 + n68 + n71 = 45 AND n12 + n13 + n18 + n37 + n42 + n43 + n66 + n67 + n72 = 45 AND n19 + n24 + n25 + n30 + n31 + n36 + n73 + n78 + n79 = 45 AND n20 + n23 + n26 + n29 + n32 + n35 + n74 + n77 + n80 = 45 AND n21 + n22 + n27 + n28 + n33 + n34 + n75 + n76 + n81 = 45 THEN

Lb.Caption = "CONGRATULATION...!"

......................................

ELSE

Lb.Caption = "YOU FAIL...!"

......................................

END IF

......................................

Keterangan :

nilai n1 sampai n81 adalah nilai pada tiap kotak permainan sudoku.

Jika rule tidak terpenuhi maka permainan gagal dan tampilan form menjadi seperti berikut :






Gambar 4.6 Tampilan FrmLevel1 jika permainan gagal





Pada saat itu maka waktu akan berhenti dan kemudian akan muncul menu baru untuk kembali ke permainan, sedangkan jika permainan berhasil maka tampilan form menjadi seperti berikut :






Gambar 4.7 Tampilan FrmLevel1 jika permainan berhasil





Jika rule dari permainan benar maka waktu akan berhenti dan kemudian akan muncul TextBox yang kosong untuk diisikan oleh user dan TextBox yang mencatat waktu yang telah dicapai oleh user dalam menyelesaikan permainan, disertai menu baru yang muncul yaitu Save dan Back To Main Menu jika ditekanta akan kembali ke FrmMain, sedangkan untuk menu Save akan menyimpan data yang ada pada kedua TextBox tersebut ke dalam sebuah database, adapun script program untuk menyimpan ke dalam database adalah sebagai berikut :

PRIVATE koneksi AS Connection 'deklarasi fungsi koneksi

PRIVATE data AS Result 'deklarasi fungsi data



PUBLIC SUB konek()

koneksi = NEW Connection

TRY koneksi.Close

WITH koneksi

.Type = "sqlite3"

.Name = "Rekor/Sudoku1.Abhe"

END WITH

END

script diatas adalah sebuah fungsi baru di dalam program untuk melakukan koneksi database dengan tipe sqlite3 dan nama database adalah Sudoku1.Abhe yang berada pada direktori Rekor. kemudian untuk penyimpanan data digunakan script program berikut :

PUBLIC SUB LbSave_MouseUp()

LbSave.Font.Size = 32

IF TxtName.Text = "" THEN

Message.Error("Cannot save blank word")

TxtName.SetFocus

ELSE

TRY koneksi.Close

koneksi.Begin

data = koneksi.Create("Abhe")

data!Name = TxtName.text

data!Poin = TxtTime.Text

data.Update

koneksi.Commit

FrmLevel1.Close

FrmMain.Show

TxtName.Clear

TxtTime.Clear

CATCH

Message.Error(Error.Text)'untuk mengetahui letak error

ENDIF

END

Script program diatas dapat diartikan bahwa jika TxtName dalam keadaan kosong maka akan munculpesan pesan error bahwa tidak bisa menyimpan data kosong, dan jika tidak maka koneksi berhasil dan tabel ”Abhe” tercipta pada database, text pada TxtName akan mengisi data pada field Name dan TxtTime akan mengisi field Poin.

Kemudian untuk FrmLevel2, FrmLevel3, FrmLevel4, FrmLevel5 Form yang digunakan sama bentuknya dengan FrmLevel1, hanya bedanya adalah pada saat angka yang pertama kali muncul dan penyimpanan data pada database, untuk FrmLevel2 angka yang pertama kali muncul adalah 4 buah pada tiap bloknya dengan ketentuan yang berbeda, sedangkan untuk penyimpanan database, data disimpan pada database sudoku2.Abhe, dengan nama tabel dan field yang sama pada database sudoku1.Abhe. Untuk FrmLevel3 angka yang pertama kali muncul adalah 3 buah pada tiap bloknya dengan ketentuan yang berbeda, sedangkan untuk penyimpanan database, data disimpan pada database sudoku3.Abhe, dengan nama tabel dan field yang masih sama pada database sudoku1.Abhe. Untuk FrmLevel4 angka yang pertama kali muncul adalah 2 buah pada tiap bloknya dengan ketentuan yang berbeda, sedangkan untuk penyimpanan database, data disimpan pada database sudoku4.Abhe, dengan nama tabel dan field yang masih sama pada database sudoku1.Abhe.Untuk FrmLevel5 angka yang pertama kali muncul adalah 1 buah pada tiap bloknya dengan ketentuan yang berbeda, sedangkan untuk penyimpanan database, data disimpan pada database sudoku5.Abhe, dengan nama tabel dan field yang masih sama pada database sudoku1.Abhe.



4.2.4 FrmTraining

FrmMain akan muncul setelah menu Training pada FrmMain diklik, dengan bentuk form seperti berikut :






Gambar 4.8 Tampilan FrmTraining





Pada FrmTraining ini terdapat sudoku 4x4 dengan 4 buah kotak pada tiap bloknya, dengan angka pilihan 1 sampai 4 pada kotak sebelah kanan, waktu yang tersedia tidak terbatas, karena hanya sekedar latihan maka tidak digunakan database seperti pada FrmLevel1. Menu GO >>> pada form ini sama fungsinya dengan form sebelumnya, yaitu untuk menentukan kebenaran dari permainan ini, dengan rule pada script program sebagai berikut :

.................................................

IF n1 + n2 + n3 + n4 = 10 AND n5 + n6 + n7 + n8 = 10 AND n9 + n10 + n11 + n12 = 10 AND n13 + n14 + n15 + n16 = 10 AND n1 + n2 + n5 + n6 = 10 AND n3 + n4 + n7 + n8 = 10 AND n9 + n10 + n13 + n14 = 10 AND n11 + n12 + n15 + n16 = 10 AND n1 + n4 + n9 + n12 = 10 AND n2 + n3 + n10 + n11 = 10 AND n5 + n8 + n13 + n16 = 10 AND n6 + n7 + n14 + n15 = 10 THEN

Lb.Caption = "CONGRATULATION...!"

.................................................

ELSE

Lb.Caption = "YOU FAIL...!"

.................................................

END IF

.................................................

Jika rule tidak terpenuhi maka permainan gagal dan tampilan form menjadi seperti berikut :






Gambar 4.9 Tampilan FrmTraining jika rule tidak terpenuhi





Pada saat itu maka waktu akan berhenti dan kemudian akan muncul menu baru untuk kembali ke permainan atau kembali ke FrmMain, sedangkan jika permainan berhasil maka tampilan form menjadi seperti berikut :






Gambar 4.10 Tampilan FrmTraining jika rule terpenuhi





Jika rule dari permainan benar maka waktu akan berhenti, muncul pemberitahuan waktu yang telah ditempuh oleh user dan menu untuk kembali ke FrmMain.

Sedangkan untuk memperjelas aturan permainan maka user dapat mengklik menu Rule yang ada pada FrmTraining, maka tampilan FrmTraining menjadi seperti berikut :






Gambar 4.11 Tampilan FrmTraining jika menu rule diklik



4.2.5 FrmRekor

FrmRekor digunakan untuk melihat data dari hasil permainan yang telah tersimpan pada database, dengan tampilan from seperti berikut :






Gambar 4.12 Tampilan Form Record





Pada form ini ada 5 buah menu untuk mengetahui data yang ada pada tiap level, misal pada rekor pada level 1, maka klik menu Record of Level 1, adapun script program untuk menampilkan database adalah seperti berikut :

PUBLIC SUB konek()

koneksi = NEW Connection

TRY koneksi.Close

WITH koneksi

.Type = "sqlite3"

.Name = "Rekor/Sudoku1.Abhe"

END WITH

END

script diatas adalah sebuah fungsi baru di dalam program untuk melakukan koneksi database dengan tipe sqlite3 dan nama database adalah Sudoku1.Abhe yang berada pada direktori Rekor. sedangkan fungsi untuk menampilkan data digunakan script program berikut :

SUB DataKu()

DIM n AS ResultField

data = koneksi.Exec("select * from abhe")

Tv1.Rows.Count = data.Count

Tv1.Columns.Count = 2

FOR EACH n IN data.Fields

Tv1.Columns[0].Text = "Name"

Tv1.Columns[1].Text = "Poin"

Tv1.Columns[0].Width = ((Tv1.Width / 2) - 10)

Tv1.Columns[1].Width = ((Tv1.Width / 2) - 10)

NEXT

CATCH

Message.Error(Error.Text)

END

Kemudian untuk menampilkan data dari tiap-tiap database script program yang digunakan adalah sebagai berikut :

PUBLIC SUB LblLevel1_MouseUp()

........................

konek

DataKu

END

Script program diatas dapat diartikan bahwa ketika LblLevel1(menu Record of Level 1) diklik maka akan memanggil fungsi konek dan fungsi Dataku untuk menampilkan data pada komponen TableView.










BAB V

PENUTUP








5.1 KESIMPULAN

Permainan sudoku adalah suatu program aplikasi yang digunakan untuk menguji sampai dimana tingkat kecerdasan kita dalam menganalisa penataan angka-angka yang kita susun dengan aturan yang telah ditentukan, kecepatan analisa yang kita lakukan dihitung dengan waktu.

Dari pembahasan bab-bab sebelumnya maka dapat ditarik suatu kesimpulan sebagai berikut:

1. Dengan adanya aplikasi ini maka dapat memberikan alternatif lain aplikasi Sudoku di komputer, untuk aplikasi ini kususnya sistem operasi Linux..

2. Dengan adanya aplikasi ini, kita dapat membudayakan bermain game sambil mengasah kemampuan di sistem operasi Linux.

3. User dapat menyesuaikan menu pilihan Level yang ada, dan jika ternyata belum mahir user dapat melakukan latihan dengan menu Training.

4. User juga dapat mengetahui sampai dimana tingkat kemahirannya dengan membandingkannya pada data yang disimpan pada database.



5.2 SARAN-SARAN

Menyadari keterbatasan waktu dan kemampuan, beberapa informasi belum dapat disajikan secara maksimal. Oleh karena itu, disarankan agar informasi-informasi yang belum tersaji, dapat dikembangkan lagi sehingga dapat tercapai suatu kesempurnaan sesuai dengan yang diinginkan.

Program Aplikasi Sudoku di Linux Berbasis Open Source ini masih memiliki kelemahan dan kekurangan yang perlu diperbaiki yaitu tidak adanya efek suara, tingkat level yang ada hanya lima, hanya berjalan dengan baik jika resolusi pada monitor adalah 1200x800, belum dilengkapi dengan deteksi kesalahan permainan yang akan memudahkan user untuk menemukan kesalahan pada penempatan angka di setiap kotak sehingga user dapat mengetahui dimana letak kesalahannya.










DAFTAR PUSTAKA





Mahdi Ridho, 2006, Pemrograman Gambas Pemrograman ala Visual Basic di Linux, Andi Yogyakarta.

Yahya Kurniawan, S.T., 2000, VBScript Singkat Tepat Jelas, Elex Media Komputindo Jakarta.

Yunianto, 2005, Menguasai Gambas Pemrograman ”Visual Basic” di Linux, Dian Rakyat Jakarta.

Pardosi Mico, 2005, Bahasa Pemrograman Windows dan Internet Microsoft Visual Basic 6.0, Selaras Surabaya.

Tutorial Singkat Gambas, 2007,http://id.wikipedia.org/wiki/Linux, 12/09/2007 10:11.

Linux, 2007, http://www.rri-online.com/modules.php, 12/09/2007 9:21.

Sudoku, 2006, http://priatna.or.id/2006/01/05/sudoku/, 12/09/2007 9:19.

Apa Open Source itu?, 2005, http://ahmadha.blogspot.com/2007/07/gambas-diciptakan-oleh-benoit-minisini.html, 12/09/2007 9:20.