Cemes menggila :)

Cemes menggila :)
habis gamtek...photo2 ahh

Kamis, 01 Desember 2011

Teknologi Untuk Bangsa(menuju bangsa yang lebih maju)

Semakin hari Teknologi Di dunia ini semakain berkembang, Dari teknologi digital sampai dengan teknologi internet. Banyak hal yang dapat kita lakukan dengan teknologi.kali ini saya ingin bercerita tentang teknologi internet.Tentunya semua orang sudah tidak asing lagi dengan yang namanya internet,Dengan Teknologi yang super canggih ini kita dapat menjelajahi seluruh belahan dunia henya dengan di depan komputer.Saat ini yang biasa di sebut penguasa internet adalah google.com|Google Adsense


Google.com merupakan teknologi Mesin pencari yang canggih yang ada di internet dan samapi saat ini google mendapat peringkat pertama di seluruh dunia. di indonesia sendiri mempunyai alamat google tersendiri, yaitu google.co.id. Dalam waktu dekat Mesin pencari raksasa yang bermarkas di amerika ini akan membangun kantor perwakilan di indonesia.
Dengan mesin pencari raksasa ini kita dapat mencari semua hal yang ada di dunia ini.Dengan Kecanggihan teknologi ini di harapkan bangsa kita bisa menggunakannya dengan bijak. Salah satu hal yang positif yang bisa dilakukan melalui teknologi internet dengan membuat blog.Salah satu penyedia blog yang sangat terkenal yaitu adalah blogspot.com,blogspot merupakan kepunyaan google juga.melalui blog kita dapat berbagi mengnai hal apa saja.Bukan hanya itu saja yang bisa kita lakukan dengan blog, namun kita juga bisa mencari penghasilan tambahan, baik dalam bentuk mata uang rupiah maupun dollar.
Google mempunyai teknologi yang canggih,sebut saja google adsense. Google adsense merupakan program PPC yang di buat oleh google, apabila kita tekun mendalami tentang teknologi canggih ini, khususnya blog. kita bisa mendapatkan gaji yang bisa malampaui gaji PN*.hehe
Samapai detik ini banyak orang yang berhasil menjadi jutawan melalui teknologi internet ini.Semoga dengan teknologi yang semakin maju ini. Bangsa kita bisa menjadi bangsa yang terus maju.
apabila teman” tertarik untuk membuat blog. Langsung aja daftar di www.blogger.com | untuk mempelajari blogspot bisa kunjungi sini Tuotorial Blogspot|

Buat Tampilan Dekstopmu Menjadi 3D

Melihat dekstop dalam Komputer atau Laptop kita indah tentunya adalah hal yang sangat menarik, apalagi hal yang pertama terlihat pada saat meng-aktifkan sistem operasi adalah dekstop. Dalam artikel ini saya akan mengajak anda memperindah dekstop anda dengan tampilan 3D. Kalau biasanya kita memakai themes, kali ini kita akan memakai aplikasi sejenis RocketDock, ObjectDock ataupun CustoPack.

Buat Tampilan Dekstopmu Menjadi 3D Image
Nama aplikasi ini adalah Bumtop.  Sayangnya, Bumtop tidak bisa lagi di download dari situs resminya seperti sebelumnya (2009-2010) di karenakan project aplikasi ini sudah di akuisisi ke tangan Google,inc untuk tampilan dekstop projetct Chromium OS. Pada awal 2010 Aplikasi ini tidak lagi di perjual-belikan dan melakukan Update, karena semuanya sudah ber-pindah pindah ke tangan Google.
Tetapi jangan berkecil hati dulu, para pengembang software ini sudah menyiapkan versi trialnya sebelum mereka di akuisisi oleh Google. Anda bisa menemukannya dalam situs http://www.brothersoft.com/bumptop-229327.html. Lantas apa saja keunggulan dan hal-hal yang bisa diperbuat oleh BumpTop ini? diantaranya adalah:
  • Menyediakan Sticky Notes dan beberapa shortcut tambahan seperti Email, Facebook, Twitter.
  • Posisi Icon Shortcut yang bisa di geser secara slider (seperti efek jQuery).
  • Menyediakan layanan RSS Feed langsung ke dalam Dekstop sehingga kita akan lebih cepat mengetahui khabar-khabar terbaru dari website yang kita inginkan.
  • Sebelum di akuisisi oleh Google, banyak pihak yang mengembangkan themes untuk aplikasi ini, salah satunya dari beberapa komunitas Customize, anda bisa memilih banyak tema yang dibuat komunitas tersebut dan bisa di lihat di http://customize.org/bumptop.
adapun langkah untuk meng-installnya dalah sebagai berikut:
  1. Klik dua kali pada aplikasi BumpTop.exe yang sudah anda download.
  2. Bila di hadapkan pada posisi Wizard Installation, klik Next untuk memulai installasi. Buat Tampilan Dekstopmu Menjadi 3D Image
  3. dilanjutkan dengan memberikan tanda setuju pada kolom I Accept the agreement. Buat Tampilan Dekstopmu Menjadi 3D Image
  4. Maka Proses Installasi pun akan mulai berjalan. Buat Tampilan Dekstopmu Menjadi 3D Image
  5. Bila keluar jendela Installing Microsoft Direct X, biarkan saja. Karena Program ini sedang men-Download Direct X. Buat Tampilan Dekstopmu Menjadi 3D Image
  6. Jika sudah selesai kamu akan di hdapakan pada Menu Tutorial dan Skip, Klik Skip untuk langsung merubah Dkestopmu. Hasilnya anda akan lihat dekstop berubah menjadi layar 3D. Buat Tampilan Dekstopmu Menjadi 3D Image

Cara Membuat Komik ( sangat mudah )

Untuk dapat membuat komik pada umumnya kita harus mempunyai ke-ahlian khusus seperti menggambar sketsa dengan pensil, atau belajar ilmu photoshop. Belum lagi ditambah anda harus melakukan kedekatan dengan karakter yang ingin di gambar agar hasilnya bisa sangat mirip.

Kali ini kami menemukan Software yang membuat bisa membuat komik secara gampang. Namanya adalah Comic Life. Ya, dengan aplikasi comic life anda tidak harus mempunyai beberapa keahlian khusus seperti yang sudah disebutkan sebelumnya. Lantas apa saja kelebihan dari Software Comic Life ini? diantaranya adalah:
  • Sangat mudah menjalankan aplikasinya, bahkan siapa saja dapat melakukannya.
  • Terdapat beberapa Opsi penyimpanan gambar.
  • Gampang melakukan Drag-Drop dan meng-Integrasikannya ke dalam gambar.
  • Tersedia Template Font dan untuk mempercantik komik.
  • Bisa Mengambil gambar melalui WebCam.
  • Teks menyerupai komik Asli.
Adapun sedikit tutorial tentang cara membuat komik dengan software ini adalah sebagai berikut:
  1. Download dan Install terlebih dahulu Software ini dalam PC anda, situs resminya ada di http://downloads.plasq.com/comiclife-win.exe untuk Windows, bagi pengguna Mac bisa di download di http://downloads.plasq.com/comiclife2.zip. Jangan sampai salah!
  2. Jalankan Aplikasinya. klik tab Explorer untuk memilih gambar, apabila thumbnail gambar sudah keluar, drag ke dalam lembar kerja. Cara Gampang Buat Komik mu Sendiri Image
  3. Drag Bundle yang ingin di jadikan background teks. Cara Gampang Buat Komik mu Sendiri Image
  4. kemudian klik dua kali ke dalam Bundle yang bertuliskan ” Your Word Here“, dan ketikkan kata sesuai keinginan kamu.Cara Gampang Buat Komik mu Sendiri Image
  5. Untuk menyimpan gambar yang sudah kita edit klik menu File > Export > Export to movie. Cara Gampang Buat Komik mu Sendiri Image
  6. Setelah keluar Jendela pengatuan Export anda akan disuguhkan beberapa menu, Geser Graphic pada Quality hingga HIGH agar hasil gambar bagus, pada Save As Type anda bisa memilih format yang di tentukan, standart Image untuk internet adalah JPEG, atur resolution hingga 600 dpi untuk hasil yang maksimal.
Cara Gampang Buat Komik mu Sendiri Image
Untuk hasil akhirnya kamu bisa melihat gambar dibawah ini.
Cara Gampang Buat Komik mu Sendiri Image

TEKNIK KOMPILER


Compiler Construction
comp_sma.jpg
Teknik kompilasi telah lama diberikan di lingkungan pendidikan tinggi bidang komputer di Indonesia. Pembahasan dalam mata kuliah ini biasanya berkisar pada teori automata, teori kompilasi, teori grammar. Praktek teknik kompilasi pun telah diberikan di lingkungan laboratorium, walau biasanya masih terbatas pada demonstrasi hal teori, ataupun sekedar pengenalan kompiler yang ada atau banyak digunakan. Beberapa universitas telah mulai memperkenalkan penggunaan perangkat pembangun kompiler.
Telah banyak mahasiswa menggunakan dan memanfaatkan compiler/interpreter, tapi saat ini masih belum banyak muncul nama programmer Indonesia yang terlibat dalam proyek pembuatan compiler/interpreter. Mungkin hanya KILANG nya Prof. Dali S Naga (BASIC Indonesia), yang sempat terdengar, sayang sekarang sudah tidak ada jejaknya. Mungkin merilis KILANG dalam bentuk GPL seperti BWBASIC, adalah suatu langkah menarik untuk terus mengembangkan KILANG ini lebih lanjut.
Memang ada sekelompok programmer Indonesia yang sempat akan merilis bahasa pemrograman “BATAK” tetapi hingga saat ini belum terdengar kembali. Bahasa pemrograman, JAVA, BALI, MADURA, hanyalah namanya saja yang berbau Indoensia, tapi sedikit atau malah tidak ada keterlibatan pengembang dari Indonesia.
Tentu saja akan timbul pertanyaan “apa yang salah dalam pengajaran kompilasi ???” (INGAT SAYA TIDAK INGIN MENDISKREDITKAN SIAPAPUN DALAM PERNYATAAN INI). Hanya mencoba mencari langkah perbaikan yang mungkin bisa diterapkan.
Walaupun sedikit sekali atau nyaris tidak ada “lowongan pekerjaan” yang membutuhkan kemampuan mengembangkan compiler ini (silahkan baca di koran ataupun majalah), bukan berarti pengetahuan itu sama sekali tak dibutuhkan dalam dunia pemrograman sehari-hari. Pada dasarnya pengetahuan pembuatan kompiler (compiler construction) ini merupakan pengetahuan dasar komputasi yang sangat baik sekali. Pengetahuan ini dimanfaatkan pada beragam aplikasi nantinya. Misal teknik parsing, pengenalan pola teks, optimasi kode dan lain sebagainya. Bahkan suatu database engine pun di bagian “front end” selalu menggunakan parsing ini. Pengetahuan tentang kompilasi akan dapat memberikan landasan bagi programmer untuk menyusun program yang efektif dan efisien.
Ketika seseorang melakukan pemrograman, sebetulnya secara tidak sadar dia akan melakukan proses penambahan suatu bahasa. Misal pembuatan suatu fungsi (ataupun prosedur) pada dasarnya merupakan suatu proses “penambahan kosa-kata” dari bahasa pemrograman tersebut. Dari yang tadinya tidak memiliki fungsi tersebut hingga akhirnya ditambahkan suatu “vocabulary” untuk melakukan suatu fungsi tersebut. Untuk itulah pemahaman penyusunan kompiler merupakan suatu dasar yang utama dalam bidang ilmu komputer.
Kesenjangan Teori dan Praktek
Pada kasus pemahaman teknik kompilasi seringkali mahasiswa memiliki gap antara pemahaman teori yang mendasari pembuatan kompiler, lalu masalah parsing, scanner (bukan scanner yang buat men-scan gambar atau photo) serta “bagaimana menulis compiler/interpreter sesungguhnya (misal BASIC interpreter).
Ketika bicara kompiler, rata-rata pengetahuan mahasiswa/lulusan bersifat umum yaitu “trampil” menggunakan Integrated Development Environment (IDE) berbasiskan GUI. Bahkan pengetahuan pemakaian “make”, “autoconf”, pun masih langka dipahami para mahasiswa (termasuk mahasiswa Univ Gunadarma). Sedangkan ketika mereka bicara teori, yang terjadi hanyalah “hafalan” teori-teori otomata, parsing, grammar. Keterkaitan antara keduanya masih belum terjalin dengan mesra.
Sebelum dianggap menyalahkan siapa-siapa termasuk menyalahkan mahasiswa (salah satu kambing hitam favorit para dosen), saya mencoba menguraikan permasalahan ini. Ketidak-tertarikan para mahasiswa mempelajari bidang pembuatan kompiler ini mungkin didasarkan pada pelajaran teknik pembuatan kompiler yang sarat dengan pemahaman teori (misal automata, grammar, bahasa formal, matematika diskrit dan sebagainya).
Teori bagi sebagian besar mahasiswa merupakan “momok” bagi para mahasiswa dan mereka kurang tertarik mempelajarinya, dianggap hanyalah pelengkap untuk lulus menjadi saja. Mahasiswa kurang betah atau sabar mendengar pelajaran teori. Mungkin hal ini disebabkan (sengaja saya gunakan kata “mungkin” karena belum pernah dilakukan survei atau penelitian secara khusus) beberapa hal antara lain :
Para mahasiswa Indonesia tidak tertarik teori, karena merasa tidak ada manfaatnya pelajaran teori tersebut. Tidak dipungkiri dunia komputer (lapangan pekerjaan) masih membutuhkan orang-orang dengan “skill praktis” sehingga kebutuhan teori ini tidak dirasakan ada. Jelas ini menunjukkan seberapa “jauh” yang namanya industri TI di Indonesia. TI di Indonesia secara umum barulah berkembang pada “menjual produk TI” ataupun konfigurasi dan perkembangan yang bersifat “kustomisasi luar”.
Rasa ketertarikan terhadap teori ini makin hilang, akibat materi yang diberikan di kelas terlalu jauh dengan kondisi praktis. Artinya ada “gap” antara teori dengan aplikasi teori tersebut di dunia nyata dalam bayangan mahasiswa (misal bidang komputer) Sebagai contoh, mahasiswa komputer mungkin akan tertarik bila tahu bahwa Analisa numeris itu dimanfaatkan untuk membuat “computer game” Ketimbang kita memberikan contohnya untuk hal lainnya yang terlalu teori. Begitu juga bila kita terangkan Turing Machine, atau Automata tanpa keterkaitan dengan praktek sehari-hari akan membuat mereka hanya menghafal atau malah tidur di kelas.
Kurikulum ataupun materi pelajaran yang memang tidak memberikan jalinan antara teori dan praktek. Teori berjalan sendiri-sendiri dan praktek begitu pula. Teori tidak atau kurang mengajak melihat implementasi dari teori tersebut (misal source code nyata dari teori itu).
Perangkat bantu yang pada tahun sebelumnya sulit diperoleh di Indonesia secara massal dan murah. Perangkat bantu yang ada sangat menghabiskan waktu bila ingin digunakan untuk menyusun sistem kompiler sesungguhnya.
Kurang adanya pengajar yang memahami baik teori dan praktek 8-). Banyak pengajar yang sangat baik pengetahuan teorinya tetapi minim pengetahuan prakteknya. Hal ini melanda beberapa mata kuliah teori. Begitu juga banyak pengajar yang sudah terlalu asyik dengan praktek, malas membahas teori.
Simulator Automata Saat ini dengan ketersediaan beragam perangkat bantu bebas (GPL) maka proses mengajarkan teori ini dapat dilakukan secara lebih menarik. Misal untuk menerangkan tentang konsep mesin Turing yang abstrak itu, dapat juga digunakan suatu simulator. Memang mesin Turing dapat juga di”demonstrasikan” dengan menggunakan “tissue WC – tissue gulung” seperti dalam buku Computer Power and Human Reason karangan Joseph Weizenbaum. Tapi jelas akan lebih mudah bila digunakan program bantu yang memungkinkan siswa merancang “instruction set” dan menjalankan instruction set, dan program yg didisain untuk mesin “khayalannya” itu.
Ada juga simulator (program) yang akan menjalankan mesin Turing sesuai masukan yang diberikan pengguna. Misal dapat diperoleh di http://www.csee.umbc.edu/~squire/cs451_sim.html#TM
Program ini tertulis dalam C++. Menerima masukan dari source kode. Sayangnya program ini tidak memberikan simulasi secara visual. Simulasi secara visual akan menarik siswa tahun ke 2-3 di Indonesia. Beberapa simulator yang memiliki tampilan visual dapat didownload dari Internet, antara lain:
Simulator Mesin Turing. Program ini memiki GUI berbasiskan Gtk.
http://www.nuclecu.unam.mx/~arturo/gTuring/.
Visual Turing. Suatu IDE yang memungkinkan pengguna mengedit, menjalankan mesin Turing. Dengan editor visual yang memberikan fungsi Cut, Copy&Paste maka akan membantu proses simulasi. Mesin dapat juga dijalankan dengan breakpoint, step by step dan variabel dapat diperiksa.
http://www.cheransoft.com/vturing/
Automaton Simulator. Program ini memungkinkan disimulasikan beberapa mesin teori termasuk deterministic finite automata, nondeterministic finite automata, deterministic push-down automata, Turing machines. Tertulis dalam bahasa JAVA.
http://www.users.csbsju.edu/~cburch/proj/autosim/
Simulator Prosesor
Di samping simulator mesin teori, seringkali dalam memahami proses kompilasi perlu penjelasan dari tingkat instruksi di level prosesor. Untuk itu penjelasan akan lebih mudah dilakukan bila memanfaatkan suatu simulator prosesor. Memang sebetulnya pengetahuan instruksion set design ataupun simulator ini diperoleh di Arsitektur Komputer. Akan tetapi simulator prosesor ini dapat juga dimanfaatkan untuk memberikan pemahaman teknik pembuatan dan ekseskusi suatu kompilasi. Sehingga tahapan “menjalankan kompiler, dan hasil kompilasi yang dibentuk dapat berupa” :
Program aplikasi bahasa A
|
V
Kompiler/interpreter bahasa A
|
V
Bahasa mesin prosesor X
|
V
Simulator prosesor X
|
V
Sistem Operasi “Host” (misal Windows, Linux dll)
Dengan cara itu mahasiswa dapat mempelajari bagaimana proses kompilasi dilakukan dan bagaimana dijalankan pada mesin virtualnya. Sehingga pengamatan dapat dilakukan dg mudah. Faktor lain adalah dg menggunakan “prosesor virtual” maka kita dapat mendefinisikan :
Prosesor X adalah suatu prosesor virtual yg sederhana
Bahasa A merupakan bahasa yg didisain mahasiswa secara sederhana (misal hanya bisa interger, dan operasi sederhana saja)
Kompiler yg disusun akan menghasilkan “kode biner” untuk proesor X yg sederhana tersebut (misal register terbatas, dan metoda pengalamatan terbatas)
Dengan cara di atas, student tidak dihadapi oleh “instruction set” yang kompleks, dan architecture processor, dan juga bahasa pemorgraman yg rumit. Tetapi konsep kompilasi dapat lebih mudah dipahami secara mendasar. ketimbang harus menggunakan prosesor “real” dan bahasa “real” yang jelas memiliki scope sangat luas.
Berikut ini adalah beberapa simulator prosesor yang dapat dimanfaatkan dalam memberikan pemahaman lebih dalam mengenai teori dan praktis kepada para mahasiswa.
mic1. mic1 ini berbasiskan Java yang mengimplementasikan arsitektur mikro Mic-1 pada Bab 4 buku Andrew S. Tanenbaum, Structured Computer Organization,
http://www.ontko.com/mic1/
DLXOS. Merupakan suatu sistem “komputer” yang dijelaskan pada buku Arsitektur oleh Hennessy & Patterson. Sistem ini terdiri dari DLX Processor (instruction set dan spesifikasi), DLX hardware simulator, DLX compiler dan assembler, DLX Operating System. Karena semua tersedia source code, jadi dapat menjelaskan secara gamblang, bagaimana suatu sistem komputer dibangun, dari “prosesor” hingga “sistem operasi”.
http://www.cse.ucsc.edu/~elm/Software/Dlxos/index.shtml
MIX. Emulator ini ditulis oleh David A Smallberg (1982), dan mensimulasikan prosesor MIX (yang diteragnkan dalam buku milik Donald Knuth).
http://www.swiss.ai.mit.edu/~adler/MIX/
MIXAL. Merupakan lingkungan mensimulasikan kerja MIX, MIX adalah model komputer yang merupakan penyederhanaan model CISC (Complex Instruction Set Computer), assembly dari model ini mirip dengan komputer sesungguhnya. Di situ ini terdapat tutorial dan juga SIMULASI GRAFIS.
http://www.gnu.org/software/mdk/mdk.html
MMIX MMIX merupakan prosesor teoritis ciptaan Prof. Donald Knuth, yang merupakan penmgembangan dari MIX. Prosesor bertipe Reduced Instruction Set Computer (RISC).
http://bitrange.com/mmix/
Untuk informasi lainnya tentang prosesor ini dapat dibaca di URL berikut ini
http://www-cs-faculty.stanford.edu/~knuth/mmix.html
http://mmixmasters.sourceforge.net/
Demonstrasi Visual
Untuk mendemonstrasikan beberapa pronsep dasar tentang mekanisme kompilasi, maka dapat juga diginakan beberapa perangkat bantu al:
Pate. Pate merupakan perangkat bantu visual dan interatkfi untuk melakukan parsing, dan transformasi grammar. Pate dapat menyajikan secara tekstual ataupun visualisasi grafis dari turunan suatu grammar. Pada visualisasi grafis suatu tree parsing akan ditampilkan juga. Ditulis dalam JAVA.
http://www.cs.duke.edu/~rodger/tools/pateweb/
JFLAP. JFLAP merupakan suatu paket grafis yang dapat digunakan untuk mengajarkan konsep Bahasa Formal dan Teori Automata. Awalnya ditulis dg C/C++ tapi sekarang tersedia dalam Java.
http://www.cs.duke.edu/~rodger/tools/jflap/index.html
Literatur online
Dengan adanya Internet jelas memudahkan kita untuk memperbaiki materi, karena beberapa materi telah ada dan siap di-download (jadi alasan tidak ada dana buat beli buku, bisa dicoret, dan tidak ada sarana buat download bisa diabaikan karena hanya perlu ke kampus Margonda). Kalau alasan “malas baca” ya mau tidak bisa dan tidak perlu dibahas lagi.
Beberapa buku online ataupun materi kuliah berkaitan dengan teknik kompilasi dapat diperoleh di URL berikut ini.
Let’s Build a Compiler, by Jack Crenshaw. Bahasa yang digunakan dalam bukut teks ini adalah PASCAL. Walau sudah cukup lama 1988-1996, materi ini cukup ringan ditulis sebagai pengantar pembuatan kompiler. Tersedia juga berkas siap download dalam format ZIP.
http://compilers.iecc.com/crenshaw/
Compilers and Compiler Generators an introduction with C++ oleh P.D. Terry, Rhodes University, 1996.
http://scifac.ru.ac.za/compilers/
Advanced Programming Language Design oleh Raphael Finkel.
http://cseng.aw.com/book/related/0,3833,0805311912+20,00.html
Parsing Techniques – A Practical Guide oleh Dick Grune dan Ceriel J.H. Jacobs
http://www.cs.vu.nl/~dick/PTAPG.html
Introduction to Compilers (University of Manitoba – Canada) Di site ini juga tersedia catatan kuliah, dan slidenya. Sehingga dapat dimanfaatkan setelah dilakukan modifikasi bobot dan bahasanya.
http://www.cs.umanitoba.ca/~cs329/notes.html
Introduction to Compilers. (Brown University) Ini adalah materi kuliah dari Brown University.
http://www.cs.brown.edu/courses/cs126/
Automata and Formal Language Course. Materi dari Warwick University. Menggunakan JavaCC
http://www.dcs.warwick.ac.uk/~pwg/cs203/cs203index.html
A Bibliography of Compiler Construction
http://www.cs.qub.ac.uk/~D.McKeever/csc303/Reference/Bibliography.html
An Introduction to the Theory of Computation Eitan Gurari, Ohio State University
http://www.cis.ohio-state.edu/~gurari/theory-bk/theory-bk.html
Review of existing Languages
Perbandingan beberapa bahasa pemorgraman. Situs ini memberikan informasi singkat serta URL yang berkaitan dengan bahasa pemrograman.
http://tunes.org/Review/Languages.html
Programming Language Research. Berisi tentang informasi mengenai riset, dan pengembangan bahasa pemrograman.
http://www-2.cs.cmu.edu/~mleone/language-research.html
Tentu saja akan lebih memudahkan bila materi-materi buku tersebut di atas di “mirror” di server Univeristas-universitas. Sehingga memudahkan para dosen/mahasiswa untuk mencari materi. Saya memiliki daftar buku gratis/online lainnya, bila ada yang tertarik.
Perangkat bantu
Tentu saja, setelah perbaikan materi perkuliahan, materi praktikum atau latihan yang diberikan kepada para mahasiswa, sebaiknya disesuikan sehingga mahasiswa dapat lebih mudah mempelajari, bagaimana proses pembuatan suatu kompiler. Mahasiswa sebaiknya diajak bukan saja menggunakan suatu perangkat kompiler, tetapi juga melihat “ke dalam source code” suatu kompiler sesungguhnya. Jangan “silau dan terpaku” dengan bahasa pemrograman yg penuh dg “hype” sehingga tidak mempelajari hal mendasar ini.
Suatu compiler tentu saja biasanya ditulis dengan memanfaatkan bahasa pemrograman lain misal C, atau C++. Untuk memudahkan proses pengajaran bagaimana menulis kompiler, tentu tidak mungkin dilakukan dari awal menulis semua perangkat bantu (misal scanner dlsb). Untuk itu digunakan beberapa perangkat bantu untuk mempermudah proses pembuatan kompiler.
Perangkat bantu yang lazim digunakan untuk memberikan materi compiler biasanya adalah perangkat bantu scanner, lexical analyzer dlsb. Dapat digunakan seperti Flex, Bison, Lex, Yacc. Perangkat bantu ini tersedia secara bebas (FREE), ada yang dapat juga digunakan di atas platform DOS atau Linux yang tak membutuhkan perangkat keras terlalu tinggi. Jadi nggak perlu pakai alasan menunggu upgrade hardware) Beberapa informasi yang berkaitan dengan perangkat bantu ini :
Free Compiler Construction Tools
http://www.thefreecountry.com/developercity/compiler.html
Gnu C Compilter (GCC). Banyk informasi mengenai compiler (terutama GCC)
http://www.gnu.org/software/gcc/readings.html
Compiler Construction using Flex and Bison
http://cs.wwc.edu/~aabyan/464/Book/
A Compact Guide to Lex & Yacc by Thomas Niemann
http://epaperpress.com/lexandyacc/index.html
TASSKAF. Bahasa TASSKAF ini merupakan subset dari Java. Dapat disusun suatu program ke byte code yang dapat dijalankan di Java Virtual Machine (JVM). Pada site tersebut juga tersedia informasi materi kuliah dengan LEX, YACC
http://rw4.cs.uni-sb.de/~martin/COMP/TK/
GENTLE. Gentle ini merupakan perangkat bantu (toolkit) modern untuk menulis compier dan mengimplemntasikannya pada bahasa tertentu. Perangkat bantu ini mendukung semua proses translasi, dari definisi tree sintaks abstrak, pater matching, smart traversal dan lain sebagainya. Toolkit ini telah digunakan secara luas di riest dan industri.
http://www.first.gmd.de/gentle/
ELI. Merupakan suatu lingkungan pemrograman yang memungkinkan membuat suatu implementasi bahasa pemrograman secara lengkap dari suatu sepsifikasi. Perangkat bantu ini menangani struktural analisis, analisis nama, type, value dlsb dan akan menghasilkan kode C.
http://www.cs.colorado.edu/~eliuser/
SUIF. Tool ini merupakan perangkat bantu yang digunakan di proyek National Compiler Infrastructure di USA.
http://suif.stanford.edu/suif/suif2/doc/
Menggunakan wxWidgets dengan kompiler Borland C++
loadplug.jpg
wxWidgets adalah bingkai kerja GUI multiplatform paling poten yang pernah saya gunakan. Sebelumnya saya menggunakan FOX, yang meskipun inovatif dan lebih mudah digunakan, tapi… (topik itu rasanya berhak mendapat tulisan tersendiri). Aplikasi yang dibuat dengan wxWidgets secara otomatis dapat dikompilasi dalam semua platform dan dengan semua kompiler yang didukung oleh paket tersebut, dan kemungkinan keberhasilannya akan jauh lebih besar apabila si pemrogram membatasi diri hanya menggunakan fasilitas-fasilitas yang wxWidgets sediakan. Yang istimewa, pembatasan itu tidak kemudian mengurangi fungsionalitas platform yang dapat digunakan dalam aplikasi kita! Paket wxWidgets menyediakan beragam antarmuka portabel baik untuk jenis fasilitas standar yang disediakan secara natif dalam banyak platform, fasilitas yang hanya disediakan natif dalam platform tertentu namun harus diimplementasikan sendiri dalam platform lain, ataupun fasilitas yang kerap digunakan namun tidak cukup vital untuk disediakan natif dalam platform manapun. Sebagian contoh adalah fasilitas I/O file, koneksi database, kontrol untuk pengeditan rich-text, dan fasilitas koneksi TCP/IP.
Satu-satunya hambatan awal yang ditemui seseorang sebelum menggunakan paket ini adalah sistem build yang cukup kompleks, dirancang demikian tentunya untuk mengantisipasi idiosinkrasi setiap platform yang harus didukungnya. Di sini, saya akan menjelaskan langkah-demi-langkah pengaturan awal agar Anda dapat menggunakan pustaka ini dengan kompiler Anda. Saya sendiri menggunakan kompiler Borland C++ pada platform Microsoft Windows XP, dan akan mendasarkan penjelasan pada platform tersebut. Penyebutan bcc di bawah dapat disubstitusi dengan kompiler yang Anda gunakan (MinGW: mingw, Digital Mars: dm, dsb.), begitu pula untuk platform yang digunakan, msw. Penyebutan direktori WXBASE merujuk pada lokasi pustaka wxWidgets pada sistem Anda; saya, sebagai contoh, menggunakan E:\wxMSW-2.8.0. Penyebutan BCCDIR merujuk pada direktori dasar kompiler.
Pemrograman Java untuk Aplikasi Basis Data dengan Teknik XP Menggunakan IDE ECLIPSE
pemrgrmn-jva-utk-aplks.png
Java adalah bahasa pemrograman yang sangat populer saat ini. Kelebihannya antara lain adalah mampu digunakan sebagai tool untuk mengembangkan aplikasi Internet, selain aplikasi-aplikasi mandiri pada umumnya. Saat ini Java juga beranjak menjadi bahasa pemrograman yang populer karena ia mampu mengatasi masalah kompatibilitas antarberbagai platform perangkat keras dan perangkat lunak.
Saat ini tersedia kompiler Java yang mulai populer, yang menggunakan konsep Graphical User Interface), yaitu Eclipse. Eclipse mudah penggunaannya dan cukup berdaya-guna untuk mengembangkan aplikasi Java apa pun. Eclipse akan populer di masa yang akan datang karena biaya perolehannya yang sangat murah (gratis!) – dapat diperoleh dengan mem-download dari berbagai situs di Internet.
Buku ini menjelaskan berbagai fasilitas utama yang ada di Eclipse, konsep pemrograman Java secara umum, serta cara menggunakan Eclipse dalam pengembangan aplikasi yang bersifat umum yang user friendly, serta aplikasi yang bekerja dengan mengakses sistem basis data relasional menggunakan antarmuka Java Database Connectivity – Application Programming Interface.
Satu hal khusus yang ditawarkan oleh para pengembang Eclipse adalah pemrograman dengan metodologi eXtreme Programming, yang merupakan pengembangan aplikasi dengan basis testing.
Dengan pendekatan XP ini para pengembang aplikasi yang sudah familiar dengan tool yang digunakan akan dapat mengembangkan aplikasi yang berkualitas tinggi dengan waktu yang relatif pendek.
Penerapan metode XP untuk pengembangan aplikasi berbasis Java menggunakan Eclipse dibahas tuntas di dalam buku ini.
Dasar dasar C++
15731_c0.jpg
Tutorial ini untuk siapa saja, walaupun anda belum pernah melakukan pemrograman, atau jika andapun berpengalaman dalam pemrograman dengan bahasa pemrograman lain tapi ingin mempelajari bahasa C++, ada baiknya anda mengikuti penjelasan disini.
C++ adalah sebuah bahasa pemrograman yang memiliki banyak dialek, seperti bahasa orang yang banyak memiliki dialek. Dalam C++, dialek bukan disebabkan oleh karena si pembicara berasal dari Jepang atau Indonesia, melainkan karena bahasa ini memiliki beberapa kompiler yang berbeda. Ada empat kompiler umum yaitu : C++ Borland, C++ Microsoft Visual, C/386 Watcom, dan DJGPP. Anda dapat mendownload DJGPP atau mungkin saja anda telah memiliki kompiler lain.
Setiap kompiler ini agak berbeda. Setiap kompiler akan dapat menjalankan fungsi fungsi standar C++ ANSI/ISO, tetapi masing masing kompiler juga akan dapat menjalankan fungsi fungsi nonstandard (fungsi fungsi ini, agak mirip dengan ucapan yang tidak standar yang diucapkan orang diberbagai pelosok negeri. Sebagai contoh, di New Orleans kata median disebut neutral ground). Kadang kadang pemakaian fungsi nonstandard akan menimbulkan masalah pada saat anda hendak mengkompilasi kode sumber data (source code) (yaitu program berbahasa C++ yang ditulis oleh seorang programer) mempergunakan kompiler yang berbeda. Tutorial ini tidak terlepas dari masalah seperti itu.
Bila anda belum mempunyai sebuah kompiler, disarankan agar anda segera memiliki sebuah kompiler. Sebuah kompiler sederhana sudah cukup untuk dipergunakan oleh anda dalam mengikuti tutorial ini.
Bahasa pemrograman C++ adalah bahasa yang amat berbeda. Untuk kompiler C++ berbasis DOS, akan memerlukan beberapa kata kunci (keywords); keyword sendiri tidak cukup untuk difungsikan sebagai input dan output. Walau hampir semua fungsi dalam file library tampaknya bias diakses oleh header filenya. Coba kita lihat program sesungguhnya :
#include
int main()
{
cout<<”HEY, you, I’m alive! Oh, and Hello World!”;
return 0;
}
Marilah kita lihat elemen dari program diatas. Tanda #include adalah sebuah prosesor pengarah yang mengatakan kepada kompiler untukmeletakan kode dari header file iostream.h kedalam program. Dengan menyertakan header file, anda dapat mengakses banyak fungsi fungsi berbeda. Dalam contoh diatas, fungsi cout memerlukan file iostream.h.
Pada baris berikutnya yang penting adalah int main(). Baris ini mengatakan kepada kompiler bahwa ada sebuah fungsi bernama main, yang mana fungsi itu mengembalikan sebuah integer, sehingga diberi tanda int. Tanda kurung ({ dan }) menandakan awal dan akhir fungsi dalam program diatas dan menghentikan kode lainnya. Jika anda memakai bahasa Pascal, anda akan mempergunakan perintah BEGIN dan END.
Baris berikutnya dari program diatas agak aneh. Jika anda menulis sebuah program mempergunakan bahasa lain, anda akan mengetahui bahwa perintah print akan menampilkan text di layar monitor. Dalam bahasa C++ tidaklah demikian, pemakaian fungsi cout dipakai untuk menampilkan text di layar monitor anda. Itu juga memakai tanda atau symbol <;<; , yang diketahui sebagai operator pemasukan ( insertion operators). Tanda tersebut mengatakan kepada kompiler agar segera menghasilkan output sesuai dengan input anda. Tanda semicolon ditambahkan kedalam bagian akhir dari semua fungsi yang dipanggil dalam bahasa C++; tanda seterusnya memperlihatkan variable yang anda deklarasikan.
Pada baris itu juga ada kode yang memerintahkan fungsi main kembali ke 0. Pada saat satu kali kembali diproses, itu dilakukan melalui system operasi. Sebagai catatan, pendeklarasian fungsi main yang tidak diinginkan memiliki proses kembali, dapa ditambahkan – void main() – dan biasanya itu berfungsi dengan baik; namun cara ini merupakan cara yang kurang baik.
Tanda kurung terakhir berperan sebagai penutup agar fungsi dihentikan. Anda bias mencobamengoperasikan fungsi ini didalam sebuah kompiler. Anda dapat melakukan cut dan paste kode diatas kedalam sebuah file, dan menyimpannya sebagai file.cpp, dan kemudian anda buka file itu dari dalam kompiler anda. Jika anda memakai baris perintah kompiler seperti yang ada dalam Borland C++ 5.5, sebaiknya anda membaca dahulu instruksi kompiler tentang bagaimana cara melakukan kompilasi (how to compile).
Comment atau komentar sering dipakai dalam penulisan program. Ketika anda mengatakan kepada kompiler bahwa sebuah bagian dari program anda adalah tex komentar, kompiler tidak akan memasukan itu sebagai perintah pemrograman. Untuk membua sebuah komentar dipergunakan tanda //, yang mengaakan kepada kompiler bahwa baris berikut adalah komentar, atau memakai tanda /* dan kemudian diakhiri tanda */ untuk menandai bahwa segala yang ada antara kedua tanda ini adalah komentar. Beberapa kompiler akan mengubah warna area komentar, tetapi beberapa kompiler lain tidak. Berhati hatilah dalam menulis program anda agar kode program anda tidak dianggap sebagai komentar oleh kompiler karena dapat mempengaruhi output program yang anda buat.
Selanjutnya anda harus dapa menuliskan program sederhana untuk menampilkan informasi yang anda ketikan kedalamnya. Selain itu, program juga bisa dibuat untuk menerima input. Fungsi yang dipakai adalah cin, dan diikuti dengan tanda >>.
Tentu saja sebelum anda mencoba menerima input, anda harus memiliki tempat penyimpan input. Dalam pemrograman, input dan data disimpan dalam variable. Ada beberapa jenis variable. Pada saat anda ingin mengatakan kepada kompiler sebuah variable yang anda deklarasikan, anda harus menyertakan tipe data dan nama dari variable itu. Beberapa cara dasar adalah dengan menuliskan include char, int, dan float.
Sebuah variabel char menyimpan sebuah karakter tunggal; variabel int akan menyimpan integer (bukan bilangan desimal), dan variables float akan menyimpan bilangan desimal. Setiap variable – char, int, dan float – merupakan sebuah kata kunci (keyword) yang and pergunakan pada saat anda mendeklarasikan sebuah variabel. Untuk mendeklarasikan sebuah variable anda memakai syntax type . Ini diijinkan untuk mendeklarasikan variable multiple dari jenis variable yang sama pada baris yang sama; masing masing variabelnya dipisahkan dengan tanda koma. Deklarasi sebuah variable atau sekelompok variabel dapat diikuti tanda semicolon (Catatan, tanda ini sama dengan yang diterapkan pada prosedur dimana anda akan memanggil sebuah fungsi).
Jika anda tidak memakai sebuah variable yang dideklarasikan sebelumnya. program anda tidak akan dapat dioperasikan (atau di run), dan anda akan menerima pesan error yang memberitahu anda bahwa anda telah melakukan kesalahan.
Berikut adalah beberapa contoh deklarasi variable:
int x;
int a, b, c, d;
char letter;
float the_float;
Walaupun anda boleh memiliki banyak variable dengan jenis yang sama, anda tidak dapat memiliki variable dengan nama yang sama. Begitu pula anda tidak dapat memiliki variable dan fungsi dengan nama yang sama.
#include < iostream.h >
int
main()
{
int thisisanumber;
cout<<”Please enter a number:”;
cin>>thisisanumber;
cout<<”You entered: “<
return 0;
}
Coba kita bahas program diatas ini setiap barisnya. Keyword int mendeklarasikan thisisanumber menjadi sebuah bilangan integer. Fungsi cin>> membaca sebuah nilai ke dalam thisisanumber; user harus menekan tombol enter sebelum bilangan bias dibaca oleh program. Ingatlah, bahwa variable yang telah dideklarasikan adalah sebuah integer; jika user cenderung nmenulis bilangan decimal, itu akan diproses dengan tidak tepat (sebab komponen desimal dari bilangan itu akan ditolek). Cobalah menuliskan satu baris karakter atau bilangan desimal ketika anda mengoperasikan program diatas; hasil yang didapat bervariasi dari input ke input, tetapi bila tidak ada masalah akan tampak bagus. Ingatlah ketika mencetak sebuah variabel, tanda quotation tidak dipakai. Apabila ada tanda quotation, maka hasilnya adalah “You Entered: thisisanumber.”
Apabila tanda quotation dihilangkan, maka kompiler akan menganggap itu sebuah variabel, dan karena itu program akan melakukan pengecekan atas nilai variabel agar dapat mengganti nama variabel dengan variable pada saat eksekusi fungsi output. Jangan bimbang dengan adanya dua operator pemasukan dalam satu baris program. Anda bisa juga memasukan beberapa operator pemasuka dalam satu baris selama tiap operator pemasukan menghasilkan output yang berbeda; anda perlu memisahkan literal string (yaitu string yang tertutup dalam tanda quotation) dan variabel dengan menaruh masing masing operator pemasukannya (each insertion operators) (yaitu tanda <<).
Bila anda hendak mencoba untuk meletakan dua variabel bersama sama dalam satu baris program seperti tanda <;<; hasilnya adalah pesan eror; maka janganlah melakukan itu.
Jangan lupa untuk mengakhiri fungsi fungsi dan deklarasi dengan sebuah tanda semicolon. Jika anda lupa memberi tanda semicolon, kompiler akan memberi anda sebuah pesan eror pada saat anda melakukan kompilasi program anda.
Kompilator
movie.png
Kompilator (Inggris: compiler) adalah sebuah program komputer yang berguna untuk menerjemahkan program komputer yang ditulis dalam bahasa pemrograman tertentu menjadi program yang ditulis dalam bahasa pemrograman lain.
Terlepas dari pengertiannya yang demikian relatif luas, istilah kompilator biasa digunakan untuk program komputer yang menerjemahkan program yang ditulis dalam bahasa tingkat-tinggi (semacam bahasa Pascal, C++, BASIC, FORTRAN, Visual-Basic, Visual C#, Java, xBase, atau COBOL) menjadi bahasa mesin, biasanya dengan bahasa Assembly (assembler) sebagai perantara.
Kompilator berbeda dengan assembler karena biasanya kompilator akan menghasilkan kode obyek (object code) yang bisa berupa file executable pada sisten operasi Windows atau file bin pada sisten operasi berbasis Unix.
Kompilator melakukan proses kompilasi dengan cara menganalisis kode sumber secara keseluruhan, sehingga waktu yang dibutuhkan untuk melakukan kompilasi lebih lama, namun hasilnya lebih cepat dalam proses eksekusi daripada program yang dibuat dengan menggunakan teknik interpretasi dengan interprete

GRAFIKA KOMPUTER

images33.jpg
Pengenalan wajah adalah merupakan suatu pengenalan pola (pattern recognition) yang khusus untuk kasus wajah. Ini dapat dideskripsikan sebagai pengklasifikasian suatu wajah apakah dikenali (known) atau tidak dikenali (unknown), dimana setelah dibandingkan kemudian disimpan secara tersendiri. Beberapa pendekatan untuk pengenalan obyek dan grafika komputer didasarkan secara langsung pada citra-citra tanpa penggunaan model 3D. Banyak dari teknik ini tergantung pada suatu representasi citra yang membentuk suatu struktur ruang vektor, dan dalam prinsip ini memerlukan korespondensi yang padat. Pendekatan appearance-based kebanyakan digunakan untuk pengenalan wajah. Pada metode ini, model wajah dipelajari melalui proses training dengan menggunakan satu set data pelatihan yang berisi contoh-contoh wajah. Kemudian hasil training ini digunakan untuk pengenalan wajah. Secara umum metode ini menggunakan teknik-teknik analisis statistik dan mesin pembelajaran (machine learning) untuk menemukan karakteristik-karakteristik yang sesuai dari wajah maupun non-wajah. Yang termasuk dalam kelompok ini adalah : Eigenfaces, distribution-based dan clustering, jaringan syaraf tiruan, SVM (Support VectorMmachine), dll.

Tiga pengklasifikasi linear appearance-based adalah PCA, ICA and LDA. Tiap pengklasifikasi mempunyai representasi (vector basis) tersendiri dari suatu ruang space vector wajah dengan dimensi tinggi didasarkan pada titik pandang secara statistik yang berbeda. Melalui proyeksi vector wajah ke vector basis, koefisien proyeksi digunakan sebagai representasi fitur tiap citra wajah. Nilai matching diantara citra wajah tes dan pelatihan dihitung (sebagai contoh sudut nilai cosine) diantara vector-vector koefisien. Ketiga representasi dapat dianggap sebagai suatu transformasi linier dari vector citra asli ke suatu vector fitur proyeksi.
Proyeksi citra ke dalam ruang eigen (eigenspace) merupakan suatu prosedur standar untuk beberapa algoritma pengenalan obyek yang didasarkan pada tampilan (appearance-based). Penelitian dasar tentang proyeksi eigenspace pertama kali dilakukan oleh Michael Kirby yang memperkenalkan tentang ide karakteristikasi dimensi rendah suatu wajah. Turk and Pentland menggunakan proyeksi eigenspace untuk pengenalan wajah. Eigenspace dihitung melalui identifikasi eigenvector dari matriks kovariansi yang diturunkan dari suatu himpunan citra pelatihan (Turk and Pentland,1991)
Proyeksi ruang eigen (eigenspace) juga dikenal sebagai Karhunen-Loeve (KL) atau juga dinamakan dengan Principal Component Analysis (PCA). Algoritma eigenface memanfaatkan Principal Component Analysis (PCA) untuk mereduksi dimensinya guna menemukan vector-vektor yang mempunyai nilai terbaik untuk distribusi citra wajah didalam ruang citra masukan. Vektor ini mendefinsikan subruang dari citra-citra wajah dan subruang tersebut dinamakan ruang wajah. Semua wajah-wajah dalam himpunan pelatihan diproyeksikan ke dalam ruang wajah untuk menemukan suatu himpunan bobot-bobot yang mendeskripsikan kontribusi dari tiap vector dalam ruang wajah. Untuk identifikasi suatu citra uji, membutuhkan proyeksi suatu citra ke dalam ruang wajah untuk menentukan korespondensi kumpulan bobot-bobot. Dengan membandingkan kumpulan bobot-bobot wajah dalam training set, Pengujian citra dapat diidentifikasi. Prosedur kunci dalam PCA didasarkan pada tranformasi Karhumen-Loeve. Jika elemen-elemen citra dianggap sebagai variable-variabel random, citra mungkin dilihat sebagai sample suatu proses stokastik.
Ide utama principal component analysis adalah menemukan vektor dengan nilai terbaik untuk distribusi citra wajah dalam seluruh ruang citra. Vektor-vektor ini mendefinisikan subruang citra wajah atau biasa disebut dengan nama ruang wajah. Tiap vektor dengan panjang N2, mendsikripsikan citra dengan ukuran N x N, yang merupakan suatu kombinasi linier dari citra wajah asli (Atalay,1996).
Visualisasi
180px-fa.jpg

Visualisasi saat terjadi tabrakan mobil dengan menggunakan analisa elemen
Visualisasi (Inggris: visualization) adalah rekayasa dalam pembuatan gambar, diagram atau animasi untuk penampilan suatu informasi. Secara umum, visualisasi dalam bentuk gambar baik yang bersifat abstrak maupun nyata telah dikenal sejak awal dari peradaban manusia. Contoh dari hal ini meliputi lukisan di dinding-dinding gua dari manusia purba, bentuk huruf hiroglip Mesir, sistem geometri Yunani, dan teknik pelukisan dari Leonardo da Vinci untuk tujuan rekayasa dan ilmiah, dll.

Pada saat ini visualisasi telah berkembang dan banyak dipakai untuk keperluan ilmu pengetahuan, rekayasa, visualisasi disain produk, pendidikan, multimedia interaktif, kedokteran, dll. Pemakaian dari grafika komputer merupakan perkembangan penting dalam dunia visualisasi, setelah ditemukannya teknik garis perspektif pada zaman Renaissance. Perkembangan bidang animasi juga telah membantu banyak dalam bidang visualisasi yang lebih kompleks dan canggih.
IMPLEMENTASI GRAFIKA KOMPUTER BERBASIS VISUAL INTERAKTIF UNTUK GERAK BENDA DAN GELOMBANG PADA FISIKA
grafika21.jpg
Grafika komputer atau dalam bahasa inggris Computer Graphics dapat diartikan sebagai seperangkat alat yang terdiri dari hardware dan software untuk membuat gambar, grafik atau citra realistic untuk seni, game komputer, foto, dan film animasi.

Dewasa ini, grafika komputer sudah banyak digunakan sebagai materi pendukung dalam berbagai bidang, pada tugas akhir ini penulis menganalisis tentang implementasi grafika komputer dengan menggunakan aplikasi perangkat lunak berbasis visual interaktif untuk gerak benda dan gelombang pada fisika yang meliputi gerak melingkar, gerak satelit, gerak peluru, gelombang transversal, dan gelombang sinusoida.
Implementasi grafika komputer yang diaplikasikan pada program simulasi berbasis visual interaktif untuk gerak benda dan gelombang pada fisika diharapkan dapat membantu dalam proses belajar, dan mempercepat pemahaman dalam mempelajari tentang gerak benda dan gelombang yang selama ini masih dilakukan dengan cara yang konvensional yaitu dengan gambar dan juga diharapkan dapat meningkatkan daya minat belajar karena cara yang dipakai dalam perangkat lunak ini lebih menarik dengan fasilitas menu yang sederhana..
GRAFIKA KOMPUTER
Grafika komputer (Inggris: Computer graphics) adalah bagian dari ilmu komputer yang berkaitan dengan pembuatan dan manipulasi gambar (visual) secara digital. Bentuk sederhana dari grafika komputer adalah grafika komputer 2D yang kemudian berkembang menjadi grafika komputer 3D, pemrosesan citra (image processing), dan pengenalan pola (pattern recognition). Grafika komputer sering dikenal juga dengan istilah visualisasi data.
Grafika komputer (Inggris: Computer graphics) adalah bagian dari ilmu komputer yang berkaitan dengan pembuatan dan manipulasi gambar (visual) secara digital. Bentuk sederhana dari grafika komputer adalah grafika komputer 2D yang kemudian berkembang menjadi grafika komputer 3D, pemrosesan citra (image processing), dan pengenalan pola (pattern recognition). Grafika komputer sering dikenal juga dengan istilah visualisasi data.

woman_in_sunglasses.jpg
Hasil dari rendering
Bagian dari grafika komputer meliputi:
Geometri: mempelajari cara menggambarkan permukaan bidang
Animasi: mempelajari cara menggambarkan dan memanipulasi gerakan
Rendering: mempelajari algoritma untuk menampilkan efek cahaya
Citra (Imaging): mempelajari cara pengambilan dan penyuntingan gambar.

Grafika Komputer – Teori dan Implementasi
Book Category : Desain Grafis
ISBN 979-763-068-4
Author: Achmad Basuki, Nana Ramadijanti
grafika0.jpg

Grafika komputer akhir-akhir ini mulai dirasa sangat penting dan mencakup hampir semua bidang kehidupan seiring dengan semakin pentingnya sistem komputer dalam berbagai kegiatan. Grafika komputer merupakan gambar atau grafik yang dihasilkan oleh komputer. Teknik-teknik yang dipelajari dalam grafika komputer adalah teknik-teknik bagaimana membuat atau menciptakan gambar dengan menggunakan komputer. Ada beberapa program, dari yang sederhana sampai program yang sangat kompleks, yang dapat digunakan untuk membuat gambar komputer, antara lain Paint, Microsoft Photo Editor, Adobe Photoshop, Maya, Autocad, 3D Space Max, dan lain-lain.
Buku ini membahas:
? Materi grafika komputer
? Primitive drawing
? Grafik 2 dimensi dan 3 dimensi
? Transformasi objek
? Membuat Grafik 3D yang lebih baik
? Shading dan optical view
? Morphing

TREND SISTEM INFORMASI


Sistem informasi geografis
Sistem Informasi Geografis (bahasa Inggris: Geographic Information System disingkat GIS) adalah sistem informasi khusus yang mengelola data yang memiliki informasi spasial (bereferensi keruangan). Atau dalam arti yang lebih sempit, adalah sistem komputer yang memiliki kemamp
GIS dengan Quantum GIS.GIS dengan Quantum GIS.
uan untuk membangun, menyimpan, mengelola dan menampilkan informasi berefrensi geografis, misalnya data yang diidentifikasi menurut lokasinya, dalam sebuah database. Para praktisi juga memasukkan orang yang membangun dan mengoperasikannya dan data sebagai bagian dari sistem ini.
Teknologi Sistem Informasi Geografis dapat digunakan untuk investigasi ilmiah, pengelolaan sumber daya, perencanaan pembangunan, kartografi dan perencanaan rute. Misalnya, SIG bisa membantu perencana untuk secara cepat menghitung waktu tanggap darurat saat terjadi bencana alam, atau SIG dapat digunaan untuk mencari lahan basah (wetlands) yang membutuhkan perlindungan dari polusi.
GIS - MAPPING SOLUTION
Geographic information system (GIS) atau Sistem Informasi Berbasis Pemetaan dan Geografi adalah sebuah alat bantu manajemen berupa informasi berbantuan komputer yang berkait erat dengan sistem pemetaan dan analisis terhadap segala sesuatu serta peristiwa-peristiwa yang terjadi di muka bumi.
Teknologi GIS mengintegrasikan operasi pengolahan data berbasis database yang biasa digunakan saat ini, seperti pengambilan data berdasarkan kebutuhan, serta analisis statistik dengan menggunakan visualisasi yang khas serta berbagai keuntungan yang mampu ditawarkan melalui analisis geografis melalui gambar-gambar petanya.
Kemampuan tersebut membuat sistem informasi GIS berbeda dengan sistem informasi pada umumnya dan membuatnya berharga bagi perusahaan milik masyarakat atau perseorangan untuk memberikan penjelasan tentang suatu peristiwa, membuat peramalan kejadian, dan perencanaan strategis lainnya.
GIS adalah sebuah teknologi yang mampu merubah besar-besaran tentang bagaimana sebuah aktivitas bisnis diselenggarakan. Teknologi GIS memungkinkan Anda untuk melihat informasi bisnis Anda secara keseluruhan dengan cara pandang baru, melalui basis pemetaan, dan menemukan hubungan yang selama ini sama sekali tidak terungkap.
Proyeksi Peta
Bentuk bumi yg selama ini kita liat adalah sebuah model bumi yg dibikin oleh manusia, kadang ada berbentuk bulat kadang berbentuk elips. Tp sebenarnya bukan seperti itu bentuk bumi, bentuknya adalah tidak beraturan. Dan biar lebih mudah ngegambarnya, akhirnya lebih umum menjadi bulat. Dan bentuk bulat ini di bikin datar oleh peta. Namanya juga peta, kan gambaran permukaan bumi dalam bidang datar Oleh karena permukaan bumi ini tidak rata alias melengkung-lengkung tidak beraturan, akan tetapi peta membutuhkan suatu gambaran dalam bidang datar, maka diperlukan pengkonversian dari bidang lengkung bumi sebenarnya ke bidang datar agar tidak terjadi distorsi permukaan bumi.Ini nieh ukuran bumi dalam angka
Ellipticity: 0.003 352 9
Mean radius: 6,372.797 km
Equatorial radius: 6,378.137 km
Polar radius: 6,356.752 km
Aspect Ratio: 0.996 647 1
radius equatornya lebih panjang dari pada radius kutub
Pernah mengupas jeruk? Pasti susah bangat meletakkan kulit jeruk menjadi bidang datar, tetapi kulit jeruk tersambung semua. begitu juga yg di alami oleh kartografer ketika memetakan permukaan bumi, mereka harus memindahkan bagian geografis dengan cara tertentu, menarik dan menggabungkan kembali bagian-bagian tersebut secara bersamaan agar menjadi peta datar yang nyambung. peta tidak terkecuali globe mengalami distorsi dari bumi yang sebenarnya. Untuk wilayah yang lebih kecil, distorsi tidak signifikan karena wilayah yang kecil dalam globe kelihatan seperti permukaan datar. Untuk wilayah yang lebih luas atau untuk tujuan yang butuh akurasi yang tinggi, bagaimanapun distorsi merupakan hal yang sangat penting. Oleh karena itu diperlukan proyeksi peta. Dalam penyusunan peta diperlukan suatu proyeksi peta yg memberikan hubungan antara titik-titik di bumi dengan di peta, proyeksi yg dipilih dipersyaratkan memiliki distorsi yg kecil.
Pada prinsipnya arti proyeksi peta adalah usaha mengubah bentuk bidang lengkung ke bentuk bidang datar, dengan persyaratan bentuk yang diubah itu harus tetap, luas permukaan yang diubah harus tetap dan jarak antara satu titik dengan titik yang lain di atas permukaan yang diubah harus tetap.
Proyeksi peta adalah teknik-teknik yang digunakan untuk menggambarkan sebagian atau keseluruhan permukaan tiga dimensi yang secara kasaran berbentuk bola ke permukaan datar dua dimensi dengan distorsi sesedikit mungkin. Dalam proyeksi peta diupayakan sistem yang memberikan hubungan antara posisi titik-titik di muka bumi dan di peta
untuk memenuhi semua ketiga persyaratan perubahan dari bidang lengkung ke bidang datar rasanya tidak mungkin bangat, maka ada kompromi2 dalam menggunakan syarat tersebut, sehingga munculah berbagai macam jenis proyeksi. Beberapa jenis proyeksi yang umum adalah silinder/tabung (cylindrical), kerucut (conical), bidang datar (zenithal) dan gubahan (arbitrarry)
Jenis proyeksi yang sering kita jumpai sehari-hari adalah proyeksi gubahan, yaitu proyeksi yang diperoleh melalui perhitungan. Jenis proyeksi yang sering di gunakan di indonesia adalah WGS-84 (World Geodetic System) dan UTM (Universal Transverse Mercator)
WGS-84 (World Geodetic System) adalah ellipsoid terbaik untuk keseluruhan geoid. Penyimpangan terbesar antara geoid dengan ellipsoid WGS-84 adalah 60 m di atas dan 100 m di bawah-nya. Bila ukuran sumbu panjang ellipsoid WGS-84 adalah 6 378 137 m dengan kegepengan 1/298.257, maka rasio penyimpangan terbesar ini adalah 1 / 100 000. Indonesia, seperti halnya negara lainnya, menggunakan ukuran ellipsoid ini untuk pengukuran dan pemetaan di Indonesia. WGS-84 “diatur, diimpitkan” sedemikian rupa diperoleh penyimpangan terkecil di kawasan Nusantara RI. Titik impit WGS-84 dengan geoid di Indonesia dikenal sebagai datum Padang (datum geodesi relatif) yang digunakan sebagai titik reference dalam pemetaan nasional. Sebelumnya juga dikenal datum Genuk di daerah sekitar Semarang untuk pemetaan yang dibuat Belanda. Menggunakan ER yang sama – WGS 84, sejak 1995 pemetaan nasional di Indonesia menggunakan datum geodesi absolut. DGN-95. Dalam sistem datum absolut ini, pusat ER berimpit dengan pusat masa bumi.
Proyeksi UTM merupakan proyeksi Peta yang banyak di pilih dan di gunakan dalam kegiatan pemetaan di Indonesia karena di nilai memenuhi syarat2 ideal yang sesuai dengan bentuk, letak dan luas Indonesia. Spesifikasi UTM antara lain adalah (1) menggunakan bidang silender yang memotong bola bumi pada dua meridian standart yang mempunyai faktor skala k=1, (2) Lebar zone 6° dihitung dari 180° BB dengan nomor zone 1 hingga ke 180° BT dengan nomor zone 60. Tiap zone mempunyai meridian tengah sendiri, (3) setiap zone memiliki meridian tengah sendiri dengan faktor perbesaran = 0.9996, (4) Batas paralel tepi atas dan tepi bawah adalah 84° LU dan 80° LS dan (5) proyeksinya bersifat konform. Menurut Frans (iagi.net) UTM menggunakan silinder yg membungkus ellipsoid dengan kedudukan sumbu silindernya tegak lurus sumbu tegak ellipsoid (sumbu perputaran bumi), sehingga garis singgung ellipsoid dan silinder merupakan garis yg berhimpit dengan garis bujur pada ellipsoid. Akibatnya, titik2 pada garis tersebut terletak pada kedua bidang, sehingga posisinya walaupun dipindahkan (diproyeksikan), dari ellipsoid ke silinder, tidak akan mengalami perubahan (distorsi)
Sistem Informasi Geografis Manajemen Data Potensi Migas
2004
Minyak dan gas (MIGAS) merupakan salah satu sumberdaya alam yang tidak terbarukan (non-renewable), terperangkap dalam batuan reservoar dan terbentuk melalui proses geologi. Kegiatan usaha bidang migas sendiri merupakan investasi yang mahal dan beresiko tinggi. Untuk mengurangi resiko tersebut maka dalam kegiatan eksplorasi migas perlu dilakukan sejumlah tahapan kegiatan dengan berbagai metode dan teknologi, mulai dari yang paling dasar dan murah hingga mahal supaya dapat memilah daerah yang masih potensial dan layak dikembangkan lebih lanjut.
Investasi dalam kegiatan MIGAS akan berakibat pada penambahan volume dan jenis data, maka diperlukan sistem pengelola data yang terintegrasi. Integrasi data cadangan migas yang baik akan menimbulkan efisiensi baik dari segi biaya ataupun waktu. Sistem Informasi Geografis (SIG) merupakan alat Bantu berfungsi untuk meningkatkan optimalisasi data yang berkaitan dengan spasial atau koordinat geografis baik secara manual atau otomatis dengan komputer (digital).
Informasi manajemen data potensi migas berbasis SIG akan membantu pemerintah dalam pengambilan keputusan kebijakan bidang migas dan juga akan sangat membantu masyarakat dan investor bidang industri migas beserta pendukungnya dalam menentukan. Hasil SIG yang komunikatif, informatif dan atraktif akan lebih bermanfaat dan mampu sebagai dasar semua pihak mempercepat pelaksanaan tugasnya.
Kegiatan termaksud mengelola data untuk menghasilkan ;
Data migas yang terintegrasi
Manajemen data lapangan migas yang komprehensif
Optimalisasi data tiap lapangan migas
Efisiensi biaya dan waktu dalam perolehan informasi.
Dengan hasil ini diharapkan akan dapat membantu pengambil keputusan dan pembuat kebijakan dalam mengambil keputusan-keputusan di sektor migas, juga akan memudahkan dan membantu investor dalam investasinya.
Secara umum ruang lingkup dalam riset ini dilakukan pegumpulan data sekunder serta penggunaan teknologi Sistem Informasi untuk penyusunan Sistem Informasi GeografisManajemen Data Migas Sumatera Tengah. Teknologi SIG digunakan untuk menjelaskan dan memaparkan aspek-aspek yang terkait secara langsung dengan kegiatan eksplorasi dan produksi migas, identifikasi data terkait data dasar kegiatan hulu migas.
Metoda yang dipakai dalam kegiatan ini menggunakan anlisis data sekunder Hasil Laporan Kegiatan Penemuan Cadangan MIGAS T.A. 2002 dan 2003. Garis besar pelaksanaan pekerjaan seperti dalam bagan alir (lihat GambarBagan alir).
Berdasarkan data dan informasi yang ada dilakukan inventarisasi dan identifikasi. Pada tahap pemrosesan data (rektifikasi dan digitasi) pemasukan data spasial dan data tabular semua coverage belum diorganisasikan. Setelah semua informasi data spasial dilengkapi dengan data tabularnya, maka semua data coverage diorganisasikan secara tematik sebagai rangkaian layer serta diorganisasi secara spasial dengan lembar peta. Setiap layer tematik ini diberi koordinat UTM ( Universal Transverse Mercator). Sistem koordinat ini memberikan proyeksi lokasi yang berguna untuk memastikan hubungan yang diketahui diantara lokasi pada peta dengan lokasi sebenarnya di bumi.
Proses lain dalam pengelolaan database adalah penggabungan peta yang bersebelahan, proses ini berguna untuk memperkecil volume space atau ruang yang dipakai oleh coverage dan memberikan informasi yang lebih terintegrasi.
NETWORKING
unci penting dalam dunia pengolahan data dan informasi masa kini adalah apa yang disebut jaringan atau networking. Betapa pentingnya sebuah terminal dalam sebuah jaringan lokal, LAN (local area network), karena di balik itu terdapat ribuan komputer lain dengan ribuan orang lain yang berada di sebuah perusahaan besar.
Kita sedang menuju ke abad 21, di mana sistem jaringan mungkin tak lagi hanya akan melayani sebuah mesin besara saja. Sebaliknya jaringan-jaringan akan merupakan sarana bantu yang memungkinkan sebuah organisasi besar untuk melakukan penyesuaian yang sesuai, antara kebutuhan informasi dengan besarnya aplikasi serta investasi perangkat keras dan lunaknya. Orang menyebutnya dengan rightsizing.
Divisi Solusi Jaringan Scomptec menyediakan berbagai   layanan yang berkenaan dengan jaringan, termasuk konsultasi & perencanaan sistem, penginstalasian & peremajaan dan pemutakhiran, dukungan administrasi, diagnosa dan pemeliharaan.
Layanan jaringan Scomptec meliputi Local Area Network (LAN) serta Wide Area Network (WAN),   serta menangani sepenuhnya segenap perangkat keras, meliputi PC, komputer-komputer Mac, Unix, perangkat-perangkat keras LAN dan WAN (router, switches, dan lain sebagainya), printer, modem dan aplikasi serta sistem software (Novell, Microsoft Windows NT, Unix) yang bekerja padanya.
XML Dalam Sistem Informasi Geografis
Kita telah mengenal berbagai format proprietary dari aplikasi-aplikasi SIG yang berbeda-beda, baik dari segi vendor-nya maupun perbedaan versi dari tiap format. Lumrah saja, karena tiap vendor menginginkan format yang efisien dan sesuai dengan aplikasi yang mereka buat. Terdapat fungsi dan aplikasi untuk korvesi antar format, tapi tidak selalu memadai karena ada keunikan dari tiap format yang belum tentu dapat dikonversi ke format lain.
Hal ini juga menjadi hambatan untuk webmapping , karena setiap aplikasi akan memerlukan client environment yang berbeda-beda pula. Tidak semua orang bersedia menginstall software tersendiri (applet khusus, plug-ins tertentu dll) bagi tiap aplikasi webmap yang ingin mereka lihat.
Karena perbedaan format menghambat pemanfaatan data geografis secara lebih luas, diperlukan cara pertukaran data yang dapat dipahami secara global. Fungsi ini dapat dipenuhi oleh XML (eXtensible Markup Language).
eXtensible Markup Language
XML adalah bahasa markup yang menyediakan sintaks yang lentur (dapat dikembangkan sesuai kebutuhan) dan independen (tidak tergantung sistem platform). Jadi sesuai untuk sarana pertukaran data antar berbagai ragam sistem, baik lewat internet atau jalur lain [1].
Format ini merupakan rekomendasi dari World Wide Web Consortium. XML memungkinkan untuk memuat baik data koordinat, data penyerta dan instruksi yang menyatakan jenis perlakuan terhadap data tersebut. Perlakuan itu dapat berupa transformasi data ke bentuk lain ataupun untuk menyatakan bagaimana data ditampilkan.
Penggunaan XML memungkinkan penerapan internet SIG dalam bentuk yang lebih terbuka, murah dan beragam tapi tetap kompatibel. Hal tersebut dapat diwujudkan oleh beberapa subset/turunan dari XML, yaitu SVG, XSL dan GML. Dunia XML memang penuh dengan akronim tiga huruf yang kadang membingungkan, untuk itu masing-masing akan coba dipaparkan secara singkat.
Scalable Vector Graphics
Untuk keperluan SIG, tentunya diperlukan format untuk tampilan data spasial. Karena XML bersifat general, maka untuk keperluan grafis diperkenalkan suatu subset XML yaitu SVG (Scalable Vector Graphics), suatu standar terbuka untuk grafik 2D yang merupakan rekomendasi dari W3C [2].
Peta Geologi gabungan vektor dan raster[15]
Hasil pemilu dalam SVG.[16]
Penggunaan SVG dalam SIG telah memberikan dampak terutama terhadap aplikasi webmap. Contoh tampilan webmap interaktif yang menggunakan SVG sudah cukup banyak saat ini, seperti gambar di kiri.
SVG memungkinkan penggunaan vektor yang memberikan banyak keunggulan dibanding format raster yang selama ini kita kenal. SVG juga dilengkapi dengan SVG DOM (Document Object Model) untuk membuat peta yang interaktif. Terdapat juga spesifikasi untuk mobile devices (SVG tiny) [2] dan browser phones (pSVG) [8,9]. SVG juga dapat dikompresi sehingga menurunkan ukuran transfer secara signifikan.
Dengan kemampuan SVG untuk memuat data vektor, bitmap dan teks, orang akan menganggap hanya dengan SVG sudah cukup. Dan memang saat ini sudah banyak contoh webmap yang menggunakan SVG, baik untuk tampilan dan data penyertanya [7].
Walau demikian, ada beberapa hal yang tidak tercakup dalam spesifikasi SVG. Misalnya mengenai standar link feature terhadap data, sistem referensi spasial yang digunakan, feature buffer atau standar skema data spasial.
Memang sengaja tidak dicakup karena SVG adalah suatu format grafis umum yang tidak hanya digunakan untuk aplikasi SIG, sehingga pertukaran data secara terbuka akan rumit jika hanya mengandalkan SVG. Untuk itu diperlukan subset XML lain, yaitu GML.