Labels

Showing posts with label Pembelajaran. Show all posts
Showing posts with label Pembelajaran. Show all posts

Sunday, September 9, 2012

Hack Billing Explore Terbaru

PERTAMA – TAMA SAYA INGIN MEMBERI TAHU BAHWA INI HANYA SEMATA – MATA HANYA UNTUK KEPENTINGAN ILMIAH SAJA JADI DIBUTUHKAN HATI NURANI ANDA ! ! ! ^_^


Untuk mencoba artikel ini, anda bisa mendownload program billing explorer demo di situs http://www.billingexplorer.com
- Server Side
- Client Side

Saya asumsikan bahwa anda sudah mendowload dan menginstall di lokal komputer.
Kali ini kita coba dilokal terlebih dahulu, sebelum kita pergi ke warnet untuk melakukan percobaan artikel ini


Pengiriman data dari Client keserver biasanya diawali dengan kata kunci:
XX2
sedangkan pengiriman data dari Server ke client selalu diawali dengan kata kunci :
YA6
Nah pasti diantara pembaca bertanya2, gimana caranya mendapatkan nilai2 tersebut?..bingung kan?….sebetulnya sih gampang aja, kita gunakan program paket sniffer untuk melihat paket data yang masuk dan paket data yang keluar.
kalo mau coba-coba bisa menggunakan program ‘ether detect packet sniffer’ di www.etherdetect.com

ok, kita balik lagi ke pembahasan kita…..
ada beberapa perintah yang dikirim oleh client ke server, seperti:

Client Command
——————
$ablock$
$ablock2$
$act$
$ajblock$
$cekc$
$cektime$
$con$
$con1$
$con1dis$
$data$
$dina2$
$gpass$
$group$
$hblock$
$infod_0$
$infod_1$
$infod2$
$infod3$
$infod32$
$infod4$
$infouser$
$member$
$movecek$
$okmove2$
$paket$
$passA$
$pelajar$
$personal$
$rental$
$ruser$
$ruserh$
$send$
$sendcc$
$okmove1$
$tutup$

perintah-perintah tersebut saya dapatkan berdasarkan hasil decompiler program dengan menggunakan software vbLite & W32Dasm.
Setelah kita mengetahui beberapa perintah diatas, kita bisa mencoba langsung dengan menggunakan perintah-perintah tersebut.
kita gunakan komponen winsock untuk melakukan koneksi ke server, biasanya program B-Exp menggunakan port 1500 (default)
jadi kita bisa menuliskan syntax berikut:

Winsock1.Connect “192.168.0.1″,1500
artinya kita akan melakukan koneksi ke 192.168.0.1 dengan port 1500.
setelah anda berhasil terhubung keserver yang anda harus lakukan adalah mengirim inisialisasi paket data, agar program tersebut menerima permintaan kita.
adapun data yang dikirim adalah:

XX2$dina2$$$
diisi dengan pc yang akan kita gunakan sebagai inisialisasi koneksi.
contoh:

Winsock1.sendData “XX2$dina2$1$budak baonk$”
(artinya: kita melakukan koneksi sebagai komputer no 1 dengan nama budak baonk)
kalo pengiriman data berhasil, maka program B-Exp server akan mengirimkan data
“YA6$/connn$” yang artinya kita sudah terkoneksi ke billing dan program billing sudah siap menerima perintah2 yang dilakukan oleh program client.

Selanjutnya untuk memulai perhitungan billing kita bisa menggunakan dengan perintah: XX2$con$2
Winsock1.SendData “XX2$con$1″
Perintah diatas juga bisa digunakan untuk mereset durasi/lama penggunaan billing.
jadi kalo anda udah pake selama 10 jam bisa balik lagi ke 0 jam dengan perintah tersebut

Nah selanjutnya untuk memberhentikan penggunaan billing kita bisa lakukan dengan mengirim perintah: XX2$web2$1$Hacker
Winsock1.SenData “XX2$web2$1$budak baong”
perintah diatas bertujuan untuk menghentikan penghitungan billing pada no Pc 1 dengan nama budak baong. jadi kita bisa menghentikan selain pc yg kita pake, dengan merubah no pc.
gampang kan, so….kalian bisa coba-coba dengan perintah-perintah lainnya…kalo masih tetep bingung cara bikin programnya….hmm.mm…..jangan khawatir aku dah bikin programnya, jadi tinggal pake aja coy…
Download Sock B-Exp flooder : http://www.vbbego.com/files/billEX.rar
—-
Cara Kedua
Untuk artikel selanjutnya penulis akan mencoba kembali memperlihatkan bagaimana
menggunakan Billing Explorer Client dengan login Admin.

Biasanya untuk login dengn jenis admin perhitungan billing otomatis tidak
berjalan (disable) untuk memulainya anda harus mendownload terlebih dahulu tool
yang sudah dibuat:

Download hack-Bexp : http://www.vbbego.com/files/hackbillEX.rar
Setelah selesai download toolsnya, kita bisa langsung mencobanya.
ada beberapa langkah yang harus anda ikuti:

Anda login terlebih dahulu ke program billing spt biasa, dengan memilih jenis personal dengan nama login “baong”
Setelah login maka secara otomatis program billing akan bekerja seperti biasa untuk menghitung lama penggunaan internet. Selanjutnya kita bisa jalankan tools yang tadi kita download untuk memulai melihat-lihat ada apa dibalik program B-Exp (billing explorer).
Secara otomatis program akan mencari apakah program billing berjalan di komputer atau tidak, dengan mencari caption id “????A?|A?” , apabila tidak ada maka program akan langsung keluar dan proses akan berhenti.
Apabila program billing ditemukan maka, program tersebut akan merubah parrent dari program billing explorer ke program “Hack B-Exp”,program billing sekarang sudah
terperangkap didalam “hack b-exp” selain itu anda bisa lihat daftar HWND ID yang terdapat pada listbox, dimana kita bisa menampilkan objek-objek yang tersembunyi.

Biasanya kalo kita mengklik tombol Admin maka program Billing menyuruh kita memasukan password, tapi jangan khawatir…itu sangat mudah untuk dilewati.
ada yg tau gimana caranya……..pasti belum donk….

nah untuk masuk ke menu setting admin yang perlu kita lakukan adalah mencari kata #root:Administrator pada daftar handle windows.
ya kalo udah gini terserah anda, mau login gratis tinggal klik tombol Login, atau merubah setting lainnya ya bebas aja. Jadi silahkan coba klik item-item yang ada pada daftar handle window dan lihat apa yang tersembunyi di program billing tersebut.
Ternyata tidak sulit juga kan, kenapa demikian……he…he… semua ini
disebabkan pembutan setting dan login digabungkan dalam satu form dengan hanya memainkan properti VISIBLE…dan ini membuat mudah untuk ditampilkan kembali.

Mudah-mudahan artikel ini dapat mejadi bekal anda dalam membuat program, dan mengambil sedikit pelajaran sehingga tidak terjadi di setiap program yang kita buat.

Situs Jebakan Betmen...Hati-Hati ???



Pagi sobat Hacking
Hehehe Sob aq dpt info unik neh
tadi aq abs dari kaskus n dpet beberapa info buat qmu2 khusunya para peselancar internet..dijamin bakal seru loe....
Aq td nemuin thread Kumpulan situs jebakan betmen nih dari sobat emir764
nah,,,berikut daftar situs jebakan betmenya sob...so kalau mau di coba...aq peringatkan..
SIAPKAN MENTAL..dan HATI-HATI YACH ! ! ! ^_^
pkokx niat tergantung dari sobat smua..he aq cm sharing az lo yaaaaaaaa.....
ntar aq yang disalahin...kalo ada kerusakan atau ketakutan pada kompi dan diri sobat :

Buat yg newbie jangan mau kejebak situs2 dibawah ini

1. http://miyabi-movies.co.tv/
Siapin mental dulu...ntar ngos-ngosan...
2. gandhi.isgreat.org
Situs ini mirip kyk killerjo namun lebih seram katanya..
3. urangsunda.50webs.com/NoClick.html
situs ini mengajak sobat smua untuk berolahraga jari telunjuk karena sobat harus trus2an mengklik sampai habis dan gak bisa di close..
4. http://www.1227.com/
yang pasti sobat gak akan bisa keluar atau menutup tab pada browser sebelum sobat menyelesaikan liriknya chekidot
5. http://www.d1gdo.com/admin/
Coba ndiri dech yach..aq az kaga berani buka...
6. http://d1gdo.com/images
hampir sama kyk urang sunda suruh klik2 gitu...abis itu modzillanya muter2
7. http://subang.co.tv/
Naah ini cuma saudara killerjo gambarnya pun gambar kilerjo
8. http://esc-creation.com/scream
isinya menakutkan...
9. http://sukatoro.com/
Neh web paling menjijikkan.. masa orang lagi pup diliatin dimakan lagi tuh pupnya Astaga...kejamnya dunia..
10. http://www.kenapa-ini.blogspot.com/
sesuai judul webnya bikin orang nyebut 'kenapa ini'
11. http://nobrain.dk/
katanya isinya ad orang lagi maho.. $R@#%#^$%????
12. http://www.themobiletracker.com/
Jika sobat ingin melacak keberadaan seseorang dengan nomor Hpnya disinilah tempatnya, tampilan situs ini cukup resmi, namun pepatah juga mengatakan”jangan hanya melihat buku dari sampulnya, tapi juga isinya” begitu juga dengan situs ini. Pertamax emang cukup meyakinkan, tapi selanjutnya…??trsrah sobat..lihat ndiri..
13. http://members.home.nl/saen/Special/Zoeken.swf
Ini adalah sebuah kuis dimana sobat harus mencari perbedaan dari dua buah gambar, tapi ada kejutan diakhirnya
14. http://www.boi.netai.net/
klo gk slah neh situs yg bsa buat browser kyak "hang"..kta tmn q sih firefox bsa "lari-lari" & pndh-pndh..
15. http://www.hotel626.com/
Banyak setan nya...macem rumah hantu yang ad di Surabaya wktu kemaren ksna..
Setan nya keliatan real lagi..
Apalagi kalo main sendiri jam 12 malam..Beeh sensasix luar biasa...
16. http://wwwwwwwww.jodi.org/
Dilihat dari URL-nya saja sudah aneh banget ya gak??? wwwwwwwww ad huruf W 9 kali disana.. haaaa
terus yang jika anda page source...akan muncul teka-teki gambar yang lumayan aneh....
17. http://404.jodi.org/ae/
nah kalau Website yang ini sama sech sebetulnya namun berbeda dgn yang tadi kalau tadi hurup w 9 kali kalai ini malah 404..seperti kode eror saja pikir aq heeeee
18. http://rotten.com/
web paling mengenaskan sekaligus sara jadi itu web kayak orang mati dilindes Tank...orang mati ditembak shotgun dari deket...ada yang mati dimakan binatang...ada bayi dipotong-potong ama ibunya (Video), Wartawan Pers di Irak dipenggal kepalanya..diliatin smua... NO SENSOR ! ! !Hoaxxx...
Penasaran coba aza
19. http://stuff.pyzam.com/toys/tictacscare.swf
isinya adalah mainan tic tac toe tapi lama2 jadi gambar yg ...(liat aja sendiri)
20. http://www.hell.jidatbaok.com/
21. http://epustakawan,co.cc
22.http://elektroav1.do.am/wIEmF3PX.html
23. http://bangun3.com/admin
24. http://warnetips.blogspot.com
25. http://miyabi-movies.co.tv/
26. http://hipperz-injector.blogspot.com
27. http://www.dennyastrada,co.cc
28. http://faojand-injector.blogspot.com/
29.http://hwehe3x.blogspot.com/
31. http://goobel.50webs.com
BTW tuh isinya sedikit mirip no click dan google gerak" .. tapi nanti suara teria subang adaa di setiap click .. padahal NO SOUND....
31. http://bmpclub.bravehost.com/Toturial_BUG_PB.html
yg penasaran klik aja yahh..
32. http://titanime.com/
situs porno web hentai katanya...
33. http://www.fadebook.com/
di suruh olah raga jari tuh klo g slh soalnya pernah di post sih webnya..wkwkwkwk
34. http://kombre,co.cc/
ntar mozilla nya gerak2 + ga bisa di close, trus ada "gambar" denan latar belakang merah,, "gambar"nya ganti2 pulak... alamak,, takut dah...
35. http://www.rumdesign.com/wrong/
fokus ke ke jendela tunggu 1 menit dan lihat kejutannya..!! ad di thread http://forum.gemscool.com/thread-61691.html
36. http://www.kiwil-curhat.page.tl/Jangan-Di-Klik.htm
cuma web olahraga jari hampir sama kyk urangsunda cuma suruh klik2an aj terus2an ampe selesai bagi yg gak sabaran restart aj kompinya sobat...
37. http://www.luna-maya.com/
ternyata dikaskus banyak orang yg dikerjain suruh buka situs ini emang situs ini ngagetin klo mau matiin suara kompi......
38. http://www.geryadrian.com/
ini cuma web sponsor kok gpp..gak berbahaya & menyeramkan...gak percaya? klik aja
39. http://www.youtube.com/666
coba refresh ampe 10 X atau lebih dan liat hasilnya weeee...
entar youtubenya berubah jadi merah darah gitu.... dan langsung buffering video sendiri....
kita mesti nonton video itu kagak bisa di close atau di tutub tabnya....
40. http://piepra.talk4fun.net
baru saja w menemukan situs yg jahil abis, w dah nyoba masuk ...dan ini memang hanya untuk lucu2an.
Situs ini tdk berbahaya...hanya permainan javascript ada yg berani coba...silakan
41. http://bit.ly/4ZibPJ
w barusan dikirimin teman dikasih link yang lucu sich. Kalo mau lihat silahkan klik aja. Ya responku sih agak kaget juga. Mengantar ke web srem!!
42. http://nopic-hoax.blogspot.com/
boleh dapet dari kaskus tapi w gak tau isi webnya biasanya situs ini sering disembunyikan dgn hyperlink
43. http://www.youtube.com/watch?v=Shnu__NJ5Wo
http://forum.gemscool.com/thread-59378.html 
44. http://sajjadali.com/
tu ntar ada nyanyian
trus lama2 nyanyiannya berubah jd serem gitu
45. http://www.youjizz.com/
gk usah di klik bg yg masih inget 'dosa'
46. http://www.facebook.com/notifications.ph...5824165682
video mengejutkan di fb.. penasaran? lihat dan saksikan!
47. http://www.outube.com/
mending gak usah di klik deh..
48. http://www.sinthaistudio.com/thehouse2/
gw dikasih situs dari temen isinya apa yah silahkan buka gw kg berani tapi katanya berbahaya
49. http://www.oranggila.com/
yg ini ada yg baru sob..jangan d klik ntar sobat ikut gila loooooo..hehe
50. http://www.bokre.com
jngn di klik sob kalo gak pengen nyesel ntar
51. http://www.salahkamar.com/
dah di klik gak bisa di close atau restart bahkan di shutdown
kalo cara close nya mudah tinggal matiin aja langsung dari sekeringnya selesai deh
isinya itu campuran gan ada orang maho @#$%$@%%& terus ada
gambar hantunya ada orang di bunuh serem pokoknya terus mozila nya jadi kecil besar sendiri
52. http://www.apaaaantuh,co.cc/
jngan di klik kalo gak pengen nyeselsob
53. http://www.asylum626.com/
mirip kyk hotel 626 tp lebih SERU yg ini, asik tuh. jam mainnya juga kayak Hotel 626
54. http://www.joyangeles.com/
web ini hampir mirip kayak sukatoro..Menjijikkan lo sob...
56. http://www.fragskin.com/
ati2 sob..isinya gambar maho n gak isa dimatiin jg...
57. http://gigihweb*Forbidden*/unik
q da pernah buka nih isi nih web
ntar modzillax gerak" ngacir" gk jelas
58. http://truth.mcdonalds-revealed.com/
jgn diklik...,ada virusnya+jadi SPAM truss di FB....
59. http://www.facebook.com/video/video.php?...966&ref=mf
yang ini neh mantap..!! lebih asoy dari pada killerjo..
60. http://www.doujin-moe.us/
ini web hentai juga neh buat yg ingat dosa gak usah di klik
61. http://www.googlehammer.com/
jgn dibuka lho isinya maho ==" tapi bisa ditutup, yg liat bisa mati mendadak wkkwkwkwkwkkwkw
62. http://www.homo.com/
mending gak usah dibuka deh..
63. http://www.hiphopparkiran.tk/
w gak tau neh web apa.. yg penting waspada aj
64. www.meatspin.com
daging muter2 ???
65.www.2girls1cup.com
Tau situs apaan..d kasih org juga aq sob

Daripada buka-buka situs gak jelas gitu...mending sobat buka neh situs..keren..n dijamin kontennya menarik loe...hehehe
tadaaaaaaaaaaaaaa.....Blog Gue...

Sekian dulu yach sob..sekali lagi ane mnta maaf kalo ntar sobat jantungan..n jgn disebarin yach m org kasian ntar..aplg yang buka nenek2 yg dah uzur..ntar mampos...mau nanggung,,gak kan..hehehe
ya dah..thanks dah visit...
Moga bermanfaat

Aku Bangga Menjadi Hacker



  Banyak yang mempertanyakan kredibilitas seorang Hacker itu...diantaranya malah berkata dengan nada sinisme dan berbau ejekan...
Apa mungkin orang biasa seperti aku bisa menjadi Hacker Sejati..???
Apa benar kau memang seorang Hacker ???
Awas ada Hacker..! ! ! hehehe

Tapi percayalah kawan...Yang berkata buruk itu hanyalah orang yang iri dan tidak mengakui keberadaan kami sebagai kaum intelektual Cyber world...mereka takut tersaingi dan menjatuhkan mereka.


Tulisan ini mungkin bisa menjawab pertanyaan itu..karena tulisan ini mewakili seluruh Kaum CyberWorld (Hacker,Cracker,Coder,Defacer,Virus Creator,Blogger,dll)


Hacker, Kami Suka Dengan Kata Ini. Sejak Kami Kenal Internet Kami Sudah Suka Dengan Kata Hacker. Terserah Anda Mau Bilang Kami Apa, Yang Jelas Kami Bangga Menjadi Hacker.
Ya! Itulah Kami, Hacker Adalah Sebuah Impian Dan Imajinasi Tanpa Batas. Yang Setiap Orang Mungkin Tidak Bisa Memilikinya.
Hacker, Ya Itu Kami, Karena Dengan Kata Itulah Kami Mau Belajar, Setidaknya Bisa Belajar Sendiri. Sebab Di Sekolah, Kampus, Dan Di Lembaga Ilmu Pendidikan Kami Hanya Sedikit Mendapatkan Ilmu. Apa Gunanya Kalau Bisanya Cuma: “Tolong Itu Di Pelajari Sendiri Ya?”. Lebih Baik Kami Terinspirasi Dengan Kata Hacker Yang Membuat Kami Maju Dan Semangat Untuk Belajar Dan Belajar Lagi. Orang Bodoh Sekalipun Pasti Mau Belajar Kalau Mendengar Kata Hacker. Sampai Kami Sendiri Sering Mendengar: “Bagaimana  Sih Caranya Menjadi Hacker“. Ya! Itulah Kami, Inspirasi Tanpa Batas Dengan Menjadi Hacker.
Kami Hacker! Kami Tidak Peduli Apa Kata Orang, Yang Jelas Kami Tahu Sendiri Itu Ada Dalam Diri Kami. Inilah Perjuangan Kami, Inilah Takdir Kami, Inilah Jalan Kami, Inilah Darah Kami, Inilah Pikiran Kami Dan Inilah Kehidupan Kami.
Dunia Maya Itu Luas Bung, Jangan Pernah Mengambil Sesuatu Dari Sebuah Persepsi Dan Menyalahkan Kami Sebagai Hacker! Sekali Lagi, Dunia Maya Itu Luas Dan Ini Dunia Global Bung! Bukan Hanya Dunia Milikmu! Kami Bebas Melakukan Apa Yang Kami Inginkan Di Internet. Karena Dunia Kami Adalah Dunia Maya Dan Dunia Open Source.
Hidup Kami Antara 0 Dan 1, Dimana Dengan Dua Hal Tersebut Kami Menemukan Partikel Partikel Dunia Visual. Dengan 0 Dan 1 Kita Bisa Mengkonversi Pikiran Kita Menjadi Lebih Bervariasi Dan Inovasi Yang Tak Kenal Henti. Kami Adalah Genetika Yang Yang Tak Pernah Lelah Untuk Berusaha Mencari Apa Saja Yang Bisa Kami Angkat Untuk Dijadikan Bahan Uji Coba Demi Memaksimalkan Ide Yang Ada Di Pikiran Kami. Kami Adalah Sekelompok Orang Yang Tak Akan Pernah Melepas Suatu Kesempatan Untuk Dilewatkan Dan Kami Tak Akan Pernah Lelah Untuk Mencoba Serta Terus Mencoba.
Kami Bisa Masuk Komputer Orang, Kami Bisa Akses Komputer Orang, Kami Bisa Oprek Komputer, Kami Bisa Bikin Program, Kami Bisa Melakukan Apa Yang Anda Tidak Bisa Lakukan. Lantas Kenapa? Apa Salah Kami? Kemudian Anda Bilang Kami Kriminal? Anda Salah Besar Bung! Inilah Dunia Kami Yang Penuh Keingintahuan Tentang Ilmu Pengetahuan. Inilah Kriminal Yang Anda Salah Artikan, Kriminal Yang Sebenarnya Telah Terukir Di Kepala Anda Kalau Hacker Adalah Kejahatan! Karena Anda Tidak Tahu Dan Tidak Mengerti Sama Sekali Tentang Kami. Perhatikan Kami Bung, Inilah Kami Yang Anda Sebut Sebagai Para Kriminal, Yang Tidak Pernah Melakukan Kekerasan, Yang Haus Akan Pembelajaran, Yang Menginginkan Kemajuan, Yang Memiliki Motivasi Dan Persahabatan.
Kami Ingin Bebas Dalam Berkomunikasi Dan Menggunakan Informasi, Bebas Menganalisa Code Dan Script. Bebas Bertukar, Belajar, Berbagi Dan Membagi Antara Satu Dengan Yang Lainnya. Inilah Kami, Yang Akan Menggunakan Otak Kami Untuk Menemukan Sesuatu Yang Belum Anda Temukan. Kami Ingin Bebas Dalam Berselancar Di Dunia Maya, Sehingga Tidak Ada Sesuatu Apapun Yang Bisa Menghalagi Keinginan Kami Untuk Mencari, Menemukan, Memberi, Dan Memanfaatkan Apa Yang Kami Yakini. Kami Juga Menginginkan Kebebasan Dalam Mengeksplore Ide Ide Kami. Menjelajahi Bit Bit Dunia Maya Yang Tanpa Batas, Sehingga Membuka Lebar Cakrawala Ilmu Pengetahuan Bagi Kami, Anda Dan Semua Orang.
Inilah Definisi Tentang Hacker Yang Perlu Anda Pahami:
Hacker adalah sebutan untuk mereka yang menggunakan keahliannya dalam hal komputer untuk melihat, menemukan dan memperbaiki kelemahan sistem keamanan dalam sebuah sistem komputer ataupun dalam sebuah software. Hasil pekerjaan mereka biasanya dipublikasikan secara luas dengan harapan sistem atau software yang didapati memiliki kelemahan dalam hal keamanan dapat disempurnakan di masa yang akan datang.
Dan Dengar Sahabat, We Are Hacker! Ini Adalah Manifesto Kami. Kebesaran Seseorang Tidak Terlihat Ketika Dia Berdiri Dan Memberi Perintah, Tetapi Ketika Dia Berdiri Sama Tinggi Dengan Orang Lain Dan Membantu Orang Lain Tersebut Untuk Mengeluarkan Yang Terbaik Dari Diri Mereka Untuk Mencapai Kesuksesan Bersama². Dan Ingat Sahabat! Jika Anda Bertemu Dengan Hacker, Cracker, Coder, Blogger, Defacer, Virus Creator Dan Cyber Lainnya Yang Katanya Kriminal Cyber! Percayalah, Bahwa Sesungguhnya Anda Telah Bertemu Dengan KAUM INTELEKTUAL Yang Belum Anda Ketahui.

Wednesday, September 5, 2012

demo image
Pernah lihat status Facebook dg tulisan terbalik?!
Contohnya seperti tulisan di bawah ini:

ʞılɐqɹǝʇ ıuı uɐsılnʇ
ʞooqǝɔɐɟ snʇɐʇs ʞnʇun uɐʞɐunƃıp ɐsıq

Caranya mudah, yaitu masuk ke website wordflipper yaitu: www.wordflipper.org
Tulis kata-katamu dibagian kotak original, maka tulisanmu akan otomatis terbalik dan bisa kamu copy paste (dibagian bawah kotak original)
Tulisan ini juga bisa digunakan untuk:

- Status Twitter
- Membuat password yang super kuat
- Digunakan untuk Instant Messaging
- Freak out your friends
- Digunakan dalam email

Tuesday, September 4, 2012

BELAJAR LISP SEDERHANA






LISP merupakan bahasa pemrograman yang suadah tua tetapi masih populer hingga saat ini. Kelebihan dari LISP adalah terletak pada kemudahan dalam memanipulasi simbol dan hubungan antar simbol.

Elemen Dasar LISP
Dalam bahasa pemrograman LISP terdapat dua elemen dasar. Elemen dasar tersebut adalah:
    List
List merupakan segala sesuatu yang dimulai dan diakhiri dengan tanda kurung.
Contoh :
()  => merupakan list kosong.
(5 4 3 2 1) => merupakan list integer.
(a b c d e) => merupakan list karakter.
(List (x y z)) => merupakan list dalam list.

      Atom
Atom merupakan elemen-elemen yang berada di dalam List. Syarat utama dari atom adalah diawali dan diakhiri spasi. Terdapat 2 jenis atom, diantaranya adalah :
  1.  Numerik (angka), merupakan atom berupa integer atau real.
  2. Simbolik (simbol), merupakan atom berupa karakter atau string.

Operator dan Operan
Operator merupakan simbol atau karakter yang biasa dilibatkan untuk melakukan sesuatu operasi atau manipulasi. Dalam ekspresi fungsional terdapat 3 jenis operator, yaitu:
           Operator Aritmatika (+, -, *, / , mod, expt)
           Operator Rasional (=, /=, <, >, <=, >=)
           Operator Boolean (true, false)
Operan merupakan angka atau simbol yang akan diproses atau dimanipulasi.
Susunan :
( <operator>  <operan>  <operan> )

Form
Form merupakan sesuatu yang akan dicari nilainya. Form dapat berupa list atau atom. Penanganan form sangat sederhana jika yang terlibat merupakan atom. Jika atom terdiri dari angka atau numerik, maka hasilnya adalah angka itu sendiri.
Contoh :
     >69
]69

       >-5.6454
 ]-5.6454

       >7/9
 ]7/9


Yuk Praktek yuk !!!!!!
Berikut ini merupakan beberapa contoh fungsi matematika yang sering digunakan dalam LISP :
     > (+ 6  2)
] 7
     > (- 6  2)
] 4
     > (mod 7 3)  (sisa pembagian saaat 7 dibagi 3)
] 1
    > (expt 3 2)  (artinya 3 pangkat 2)
] 9


Kita dapat melakukan perhitungan yang kompleks dengan memanfaatkan list dalam list.
Contoh :
     > (* 2 (- 7 2) )  (artinya 2*(7 - 2) )
] 10
     > (*  (- 7 2)  (+ 3 2) )  (artinya (7 - 2) (3 + 2) )
] 25


Selain itu kita juga dapat menggunakan simbol yang telah diberi nilai sebelumya. Artinya suatu simbol dapat berisi integer pada suatu waktu, namun di waktu lain dapat berisi data dengan tipe lain (contohnya list). Kita dapat memberikan nilai ke simbol dengan menggunakan fungsi setq.
Contoh :
            > (setq  b  75)  (memasukkan nilai 75 ke simbol b)
] 75
            > (setq  c  50)  (memasukkan nilai 50 ke simbol c)
] 50
Jadi  telah kita masukkan nilai ke simbol b = 75 dan c = 50 , maka
> (- b  c)  (artinya  b  dikurangi  c)
] 25

Contoh Kasus :
Sebagai contoh, misalkan kita ingin mencari penyelesaian dari 2x2-5x-3=0. Kita akan menggunakan rumus abc, jadi pertama-tama kita akan memberikan nilai pada simbol a, b, dan c.
> (setq a 2)
] 2 
> (setq b -5)
] -5
> (setq c -3)
] -3
Selanjutnya kita akan memberikan nilai ke diskriminannya d, yaitu b2-4ac.
> (setq d (- (* b b) (* 4 a c)) )
] 4
Karena d positif, pasti kita akan mendapat dua penyelesaian riil.
> (/ (+ (- b) (sqrt d)) (* 2 a) ) ( (- b) sama dengan (- 0 b) )
] 3
> (/ (- (- b) (sqrt d)) (* 2 a) )
] -1/2

Permasalahan
Tetapi perlu kita ketahui juga bahwa tipe data angka terdapat beberapa macam. Pada tipe data float atau bentuk desimal dapat terjadi underflow ( jika nilai mutlak pecahannya terlalu kecil) dan juga overflow (jika nilai mutlak pecahannya terlalu besar)
Contoh :
>0.000000000000000000000000000000000000000000000000001
]*** - floating point underflow

>999999999999999999999999999999999999999999999999999.0
]*** - floating point overflow

Solusi
Untuk mengatasi saat terjadi error seperti underflow ataupun overflow adalah dengan mengetikkan “quit” (tanpa tanda petik) saaat berada di mode debug. Hal ini dimaksudkan mengabaikan inputan terakhir yang bermasalah.
Contoh :
>999999999999999999999999999999999999999999999999999.0
]*** - floating point overflow
Break 1> quit
>(kita dapat melanjutkan penulisan program dengan mengabaikan inputan terkhir yang bermasalah)

"Nah itu merupakan sedikin info bagaimana menggunakan LISP......Semoga Bermanaat!!!!!!!!!!!"

Dasar-Dasar Python

Bagian: 1—Dasar-Dasar Python
Tingkat: Dasar
Tujuan: Memperkenalkan Python dan sintaks dasarnya.
Abstrak: Cara menjalankan skrip Python, variabel dan operator, perintah kendali seleksi dan perulangan.
Prasyarat: Tidak ada.
Adalah kebiasaan yang baik jika sebelum membaca suatu tulisan kita mengetahui terlebih dahulu apa yang akan kita dapatkan dari tulisan tersebut. Pengantar ini akan memberikan petunjuk kira-kira apa yang akan Anda dapatkan setelah Anda selesai membaca sampai di akhir tulisan.
Tulisan ini dimaksudkan untuk memberikan pengetahuan awal pemrograman dengan bahasa Python. Di sini tidak akan dibahas secara ditel kemampuan-kemampuan yang dipunyai Python. Karena biasanya pembahasan ditel akan membawa kita pada uraian yang panjang lebar dan tidak langsung pada inti permasalahan. Silakan merujuk pada dokumentasi-dokumentasi tentang Python, yang bisa didapatkan dari situs resmi Python di www.python.org jika ingin mendapatkan dokumentasi lengkap. Beberapa tulisan yang membahas perbandingan Python dengan bahasa pemrograman yang lain juga banyak bertebaran di Internet, silakan mulai dari Google atau Yahoo!
Penjelasan yang mengikuti pendahuluan ini akan memberi pengetahuan pada pembaca bagaimana membuat program —yang terkadang disebut dengan skrip—dalam bahasa pemrograman Python. Pembaca akan mampu membuat program dalam bahasa Python yang sederhana setelah membaca tulisan ini secara lengkap. Mampu di sini berarti mengetahui dan bisa menggunakan sintaks-sintaks dasar yang dipakai dalam Python.
Tutorial ini dibuat sederhana dengan sebisa mungkin menghindari istilah-istilah yang sulit kecuali kalau memang tidak bisa dihindari lagi. Ini karena penulis mengharapkan pembaca yang tidak mempunyai latar belakang pemrograman pun bisa mengikuti tulisan ini.
Asumsi yang diambil oleh penulis adalah interpreter Python sudah terinstal dengan benar pada komputer Anda.

Memulai Python

Menggunakan Mode Interaktif

Anda dapat bekerja dengan Python secara interaktif dengan interpreter Python. Dalam mode interaktif kita dapat bekerja seperti saat kita bekerja dalam prompt sistem operasi. Interpreter Python bisa Anda aktifkan dengan memberi perintah pada prompt sistem operasi:
$ python 
Interpreter Python akan menampilkan
Python 1.5.2 (#1, Feb 1 2000, 16:32:16) [GCC egcs-2.91.66 19990314
+/Linux (egcs-on linux-i386
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>>
Tiga tanda lebih besar (>>>) adalah prompt utama Python. Untuk perintah yang masih berlanjut Python akan memberikan respon dengan tanda tiga titik (...).
>>> if 1:
...
Untuk keluar dari prompt Python menuju prompt sistem operasi Anda bisa menekan tombol yang menghasilkan karakter akhir file, Ctrl-Z (di DOS/Windows) atau Ctrl-D (di Unix).
Mode interaktif sangat bermanfaat untuk mencoba perintah-perintah Python sebelum membuat skrip. Dalam tulisan ini kita akan lebih banyak bekerja menggunakan skrip.

Menggunakan Skrip

Kalau Anda memakai mode interaktif saat membuat program, Anda tidak bisa menyimpannya ke dalam media penyimpanan. Untuk mengatasi ini Anda bisa membuat skrip dengan editor teks yang menghasilkan teks murni, misalnya Notepad atau vi. Aktifkan editor teks Anda dan ketikkan baris-baris perintah ini:
#! /usr/bin/python
print "Belajar Python..."
# akhir file
Beri nama skrip ini belajar.py. Skrip ini hanya akan mencetak string Belajar Python... ke layar. Untuk menjalankan skrip ini kita hanya perlu mengetikkan:
$ python belajar.py
pada prompt sistem operasi.
Baris pertama adalah khas untuk lingkungan Unix/Linux, yaitu diberikan jika skrip ini ingin dijalankan tanpa mengetikkan interpreter yang akan menerjemahkan skrip yang bersangkutan, tentu saja setelah mengubah hak akses dari skrip tersebut menjadi executable. Baris ini tidak akan berpengaruh di sistem operasi Windows. Di contoh-contoh skrip selanjutnya baris pertama akan dihapuskan untuk menghemat tempat.
Baris kedua berfungsi untuk mencetak string yang diapit tanda petik.
Baris ketiga adalah keterangan, atau komentar, yang tidak akan mempengaruhi jalannya program. Keterangan selalu diawali dengan tanda #. Jika interpreter menemukan tanda ini maka mulai tanda ini sampai akhir baris akan dianggap sebagai keterangan.

Variabel dan Operator

Membuat variabel dalam Python sangat sederhana. Anda hanya perlu mengisikan nilai pada sebuah variabel dengan tipe data yang Anda inginkan. Operator pengisian adalah tanda sama-dengan (=).
Variabel dalam Python sangat dinamis. Artinya:
  • variabel tidak perlu dideklarasikan mempunyai jenis data tertentu;
  • jenis data variabel dapat berubah saat program berjalan.

Bilangan

Python mengenal beberapa jenis bilangan yaitu bilangan bulat (integer), bilangan pecahan (floating point), dan bilangan kompleks. Bilangan kompleks bisa dituliskan dengan format (real+imajinerj) atau menggunakan fungsi complex(real, imajiner). Untuk jenis data bilangan yang lain tanpa dijelaskan sudah bisa dimengerti dari contoh berikut:
variabel_integer = 10
variabel_floating = 24.5
variabel_kompleks = 3+4j

print variabel_integer
print variabel_floating
print variabel_kompleks
Operator matematik berfungsi dengan normal di Python seperti dalam bahasa pemrograman yang lain. Ada beberapa catatan yang harus diperhatikan.
  • Operasi pengisian beberapa variabel dengan nilai yang sama dapat dilakukan sekali jalan.
  • Tanda () dipakai untuk mengelompokkan operasi yang harus dilakukan terlebih dahulu.
  • Pembagian bilangan integer dengan bilangan integer akan dibulatkan ke bawah.
  • Bilangan integer akan dikonversikan menjadi bilangan floating point dalam operasi yang melibatkan bilangan integer dan bilangan floating point.
  • Kita tidak dapat mengkonversikan bilangan kompleks ke bilangan real (floating point atau integer); hanya bilangan mutlaknya yang bisa kita dapatkan.
Contoh-contoh berikut akan memberikan gambaran pernyataan di atas.
a = b = c = d = 0
print 'a=>',a,'b=>',b,'c=>',c,'d=>',d

x = 30 - 10 / 2
print 'x=>',x

y = (30 - 10) / 2
print 'y=>',y

print '10 / 3 =',10 / 3
print '10 / 3.5 =',10 / 3.5
print '8 * 12.4 =',8 * 12.4
print 'abs(1+9j) =',abs(1+9j)

String

String dapat ditulis dengan tiga cara:
  1. diapit tanda petik tunggal;
  2. diapit tanda petik ganda;
  3. diapit tiga tanda petik tunggal atau tiga tanda petik ganda.
Cara yang dipakai harus disesuaikan dengan kebutuhan. Perhatikan contoh berikut:
print 'dibatasi tanda petik tunggal'
print "dibatasi tanda petik ganda"
print
print '"petik ganda" dalam petik tunggal'
print "'petik tunggal' dalam petik ganda"
print
print '\'petik tunggal\' dalam petik tunggal harus menggunakan karakter
+escape'
print "begitu juga \"petik ganda\" dalam petik ganda"
Dari contoh ini bisa dilihat bahwa kita tidak dapat mencetak tanda petik tunggal dalam string yang diapit dengan tanda petik tunggal juga. Begitu pula untuk tanda petik ganda. Tetapi kita dapat memakai apa yang disebut dengan karakter escape. Tanda ini memberitahukan pada interpreter bahwa karakter yang mengikutinya tidak diartikan sebagaimana lazimnya. Dalam contoh ini, tanda petik tidak diartikan sebagai batas string jika didahului dengan karakter escape.
Perhatikan juga contoh berikut:
print 'Baris kalimat ini akan nampak terlalu panjang jika \
dituliskan memanjang secara lengkap.'
print 'karakter escape diperlukan jika ingin mencetak dibaris\n baru'
print
print """String terformat dapat dicetak dengan diapit
"tiga" tanda petik tunggal maupun 'tiga' tanda petik ganda.
         Dengan tanda ini string akan dicetak seperti saat ia ditulis."""
Sehubungan dengan jenis data string ini terdapat operator khusus untuk string yaitu operator penggabungan (concatenation operator), yaitu +, dan operator perulangan, yaitu *.
stringA = "String A"
stringB = "String B"
print 'stringA+stringB =',stringA+stringB
print "'-'*20 =",'-'*20
Sifat lain yang dimiliki oleh string adalah bisa diambil sebagian dari karakter pembentuknya, karena string ini adalah array, atau deretan, karakter. Kita dapat mengambil sebagian karakter dari string ini dengan notasi slice. Namun karakter-karakter yang membentuk string ini tidak dapat diubah.
stringA = "String A"
print 'stringA[4] =',stringA[4]
print 'stringA[2:6] =',stringA[2:6]

List

List disebut array dalam bahasa pemrograman yang lain. List adalah jenis data campuran yang bisa memiliki komponen penyusun yang berbeda-beda. Sebuah list dapat dibuat dengan dengan menggunakan tanda kurung siku, [ ]. Anggota list didaftar dalam kurung siku tersebut dan masing-masing dipisahkan oleh tanda koma. Sifat-sifat list bisa didaftar seperti ini:
  • Komponen penyusunnya bisa diganti.
  • Komponen penyusunya dapat dibaca dan dimanipulasi secara langsung.
  • Komponen penyusunnya bisa ditambah.
  • Komponen penyusunnya dapat diambil dengan menunjukkan indeksnya atau dengan notasi slice.
  • Komponen penyusun sebuah list dapat juga berupa list yang lain.
Untuk lebih jelasnya bisa dicoba skrip berikut:
x = [1,2, 'tiga', 'empat']
print x

x[1] = x[1] + 2
print x

x[1] = 'dua'
print x

x = x + ['tambahan', 1]
print x

print 'x[2] =',x[2]
print 'x[1:4] =',x[1:4]

y = ['Salman', 'AS']
x[0] = y
print x

Dictionary

Berbeda dengan list yang memakai indeks angka untuk merujuk pada isi variabel, dictionary memakai key untuk merujuk pada isi variabelnya. Sifat kedua jenis data ini hanya berbeda dalam beberapa hal saja.
Untuk mendeklarasikan sebuah dictionary, Python memakai tanda { }.
d = {'nama':'Salman AS', 'nilai':3}
print d
print d['nama']
Untuk mengakses anggota suatu dictionary kita memakai lambang [ ] sebagaimana halnya list.
Dictionary bisa mempunyai anggota sebuah list, atau dictionary lagi.
d = {'nama':'Salman AS', 'nilai':3}
print d

nama_detail = {'depan':'Salman','tengah':'Agus','belakang':'Supriadi'}
print nama_detail

d['nama'] = nama_detail
print d

print d['nama']['depan']

nilai_detail = [3,4,2]
d['nilai'] = nilai_detail
print d

Tuple, Antara List dan String

Terdapat satu jenis data yang khas milik Python, yaitu tuple. Jenis data ini dideklarasikan dengan tanda ( ). Anggota-anggota tuple tidak bisa diganti dan dapat berupa bilangan atau string. Tuple dapat juga berisi tuple yang lain, dictionary, maupun list.
menu_file = ('New', 'Open')
print menu_file

menu_edit = ('Save', 'Save AS')

menu = (menu_file, menu_edit, 'exit', ['help'])
print menu
print menu[3][0]

menu_lain = (menu_file, menu_edit, 'exit', {'faq':'faq.html', 'manual':'man.html'})
print menu_lain

Perintah Kendali

Seleksi

Satu-satunya perintah seleksi dalam Python adalah if. Format umum perintah ini adalah:
if kondisi:
    perintah_jika_kondisi_benar
elif kondisi_lain:
    perintah_jika_kondisi_lain_benar
else:
    perintah_jika_tak_ada_kondisi_yang_benar
Kita dapat mencoba seleksi dengan if ini dalam modus interaktif Python. Aktifkan interpreter Python Anda dan ketikkan baris-baris perintah ini pada prompt Python.
>>> x = 4 
>>> if x<5: 
...     print "%d lebih kecil dari 5" % x 
... elif x==5: 
...     print "%d sama dengan 5" % x 
... else: 
...     print "%d lebih besar dari 5" 
4 lebih kecil dari 5
Untuk menguji kondisi kita dapat menggunakan operator ==, <, <=, >, >=, dan !=.
Sesuatu yang baru dan kita bisa perhatikan pada contoh di atas adalah cara penulisan blok-blok program. Dalam Python blok-blok perintah ditandai dengan penulisan kode program yang menjorok ke dalam. Setiap perintah yang mempunyai batas kiri yang sama dianggap sebagai satu blok. Sebisa mungkin Anda harus konsisten menggunakan karakter spasi atau karakter tabulasi untuk membuat indentasi. Jangan mencampur antara spasi dan tabulasi. Kesalahan yang sering terjadi dengan indentasi ini adalah terlihat dalam penampilan editor kita sudah lurus pada batas kiri tapi ada perbedaan dalam jumlah karakter tabulasi atau spasi.
Dalam perintah pencetakan ini kita menggunakan kode pemformatan %d. Kode ini akan diganti dengan variabel yang mengikuti string, yaitu x. Antara string dan variabel dipisahkan oleh tanda %. Jika ada beberapa variabel yang akan dicetak, seluruh variabel harus dimasukkan ke dalam tanda () dan antara satu variabel dengan yang lain dipisahkan dengan tanda koma (,). Mari kita coba dengan interpreter Python.
>>> x=4
>>> y=2
>>> print "x berisi %d, dan y sama dengan %d" % x,y
Traceback (innermost last):
File "<stdin>", line 1, in ?
TypeError: not enough arguments for format string
>>> print "x berisi %d, dan y sama dengan %d" % (x,y)x berisi 4, dan y sama dengan 4
Sekarang kita terapkan seleksi ini dalam skrip yang akan memeriksa apakah suatu bilangan adalah bilangan bulat atau bukan.
x = input("Masukkan bilangan bulat:")
if x%2:
    print "%d adalah bilangan ganjil" % x
else:
    print "%d adalah bilangan genap" % x
Jika dijalankan, skrip ini akan menampilkan:
$ python ganjil.py
Masukkan bilangan bulat:13
13 adalah bilangan ganjil
$ python ganjil.py
Masukkan bilangan bulat:24
24 adalah bilangan genap
Kata kunci input() berfungsi untuk meminta input berupa bilangan. Bilangan ini disimpan dalam variabel x. Ekspresi x%2 akan menghasilkan 1 jika x ganjil dan 0 jika x bilangan genap. Oleh Python, 1 akan diartikan sebagai benar dan 0 akan diartikan salah.

Perulangan

Perulangan dengan kata kunci while mempunyai format umum sebagai berikut:
while kondisi:
    perintah_jika_kondisi_benar
else:
    perintah_lain
Perintah-perintah antara while dan else akan selalu dijalankan jika kondisi benar. Perintah-perintah di bawah else akan dijalankan jika perulangan selesai dengan normal. Yang dimaksud dengan normal di sini adalah proses perulangan tidak berhenti karena bertemu kata kunci break.
x = 1
while x<5:
    print x
    x = x + 1
else:
    print 'Loop sudah selesai dikerjakan!'
Jika skrip di atas ditambahkan suatu kondisi yang diikuti perintah break, maka blok perintah di bawah else tidak akan pernah dijalankan. Perhatikan perbedaannya dengan skrip berikut:
x = 1
while x<5:
    if x==3:
        break
    print x
    x = x + 1
else:
    print 'Loop sudah selesai dikerjakan!'
Perintah break menyebabkan dijalankannya perintah-perintah setelah blok while dan else ini.
Perintah perulangan selain while adalah for. Format dasar perulangan for adalah:
for variabel in objek:
    perintah-perintah
else:
    perintah_jika_tidak_bertemu_break
Langsung saja ke contoh penggunaan pernyataan for ini.
for x in range(1,5):
    print x
else:
    print 'Perulangan selesai'
Fungsi builtin range() dalam skrip ini menghasilkan bilangan 1 sampai 4. Hasilnya skrip akan mencetak bilangan dari 1 sampai 4 dan string Perulangan selesai.
Keistimewaan perulangan dengan for di Python adalah dapat memroses array. Seperti contoh di bawah ini:
y = [10,20,30,40,50,60,70,80,90]
for x in y:
    if x==50:
        continue
    if x>70:
        break
    print x
else:
    print 'Perulangan selesai'
Hasil yang akan didapat jika skrip ini dijalankan:
10 20 30 40 60 70
Pernyataan continue akan menyebabkan proses berlanjut ke awal perulangan dan melewatkan perintah-perintah yang ada di antara continue dan akhir blok perulangan.
Demikian akhir bagian pertama. Untuk mempelajari lebih jauh lagi tunggu bagian tutorial berikutnya.

Belajar Dasar Perl

Perl adalah bahasa pemrograman untuk mesin dengan sistem operasi Unix (SunOS, Linux, BSD, HP-UX), juga tersedia untuk sistem operasi seperti DOS, Windows, PowerPC, BeOS, VMS, EBCDIC, dan PocketPC.

Permulaan belajar bahasa pemrograman perl sama seperti belajar bahasa pemrograman lainnya seperti php, linux dan masih banyak lagi. Pertama-tama kita akan mencoba membuat program helloworld terlebih dahulu, seperti berikut :

#!/usr/bin/perl
# contoh program helloworld
# ini adalah baris komentar
# nama program : helloworld.pl
print "helloworld !!!";
print "selamat datang di perl";

Bagaimana sangat simple bukan? Baris pertama adalah letak interpreter perl. Contoh diatas (#!usr/bin/perl) merupakan letak interpreter perl di unix/linux, jika anda menggunakan ms windows maka ubah sesuai path directory tempat anda menginstall perl. Pada kenya taannya anda bisa saja tidak menuliskan bari s tsb dan program tetap berjalan, namun ketika anda membuat script CGI maka bari s tersebut wajib dituliskan. Kemudian bari s kedua dari program diatas adalah bari s komentar, ya! komentar di perl ditandai dengan #, coba bedakan dengan baris pertama yang mana tanda # diikuti tanda !. Bari s yang dieksekusi oleh perl adalah bari s ke 4 dan 5, yaitu perintah print untuk menampilkan tulisan helloworld dan selamat datang di perl.

Variabel di dalam perl
Variabel di dalam perl ditandai dengan tanda $ , misalnya : $nama , $bilangan , dst. Seperti halnya pada bahasa pemrograman lain variabel di perl bersifat case-sensitive.
contoh penulisan variabel yang benar :

$Nama;
$X;
$nama_saya;
$test1234;
$Hallo_123;

contoh penulisan variabel yang salah :
$ ---> Paling tidak harus diikuti sebuah huruf
$23saya --> harus diawali sebuah huruf bukan angka
$_hallo --> harus diawali sebuah huruf bukan garis bawah
$bulan-3 --> tidak boleh mengandung tanda minus



Tipe data skalar
Sedangkan untuk tipe data di perl terdapat dua jenis yaitu string dan numeric (kedua tipe ini dinamakan tipe skalar), hal ini mempermudah programmer perl karena kita tidak perlu lagi pusing memilih tipe data yang ingin digunakan di dalam program. Selain itu ketika membuat variabel kita tidak perlu menuliskan tipe data yang kita pakai, lalu bagaimana membedakan tipe string dan numeric? Untuk lebih jelas perhatikan contoh berikut :

#!/usr/bin/perl
# contoh variabel scalar di perl
# nama program : variabel.pl
# ini adalah contoh variabel yang bertipe string :

$nama = "Prorebell";
$welcome_to = "\n perl emang keren \n";
$hello123 = ‘selamat datang di perl';

# sedangkan ini adalah contoh variabel bertipe numeric :

$hitung = 500;
$nomor_mahasiswa = 123040015;
$jumlah = 12;
$Hari_ke = 7;

print "$nama";
print "$Hari";
print "$welcome_to";
print "$hello123";
print "$hitung";
print "$nomor_mahasiswa";
print "$jumlah";
print "$Hari_ke";

Dari contoh diatas dapat disimpulkan bahwa variabel string ditandai dengan tanda petik tunggal(‘ ') dan petik dua/ganda (" ") , sedangkan untuk numeric langsung diisikan bilangan ke variabel tersebut tanpa tanda petik.

Apa bedanya petik tunggal dengan petik ganda ?
Bedanya petik tunggal tidak menghiraukan karakter karakter khusus seperti \n (newline), sedangkan petik ganda dapat membaca karakter khusus tersebut untuk lebih jelasnya kita coba saja dalam program.

#!/usr/bin/perl
# contoh program
# membedakan petik tunggal dan petik ganda
# nama program : tanda_petik.pl

$a = "\nprogrammer\n"; # petik ganda
$b = '\nprogrammer\n'; # petik tunggal

print "saya adalah $a";
print "\n"; # spasi
print 'saya adalah $b';
print "\n";

dengan kata lain petik tunggal akan menulis apa adanya , sedangkan petik ganda akan membaca karakter khusus.

Pemrograman dengan Java

Java sebagai salah satu bahasa pemrograman baru menjanjikan banyak kemudahan bagi programer junior maupun senior. Tutorial ini akan membawa Anda mengenal lebih jauh bahasa ini melalui pembahasan konsep model perancangan dan petunjuk sederhana penggunaannya.

Apakah Java?

Java adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystems sejak tahun 1991. Bahasa ini dikembangkan dengan model yang mirip dengan bahasa C++ dan Smalltalk, namun dirancang agar lebih mudah dipakai dan ­platform independent, yaitu dapat dijalankan di berbagai jenis sistem operasi dan arsitektur komputer­­. Bahasa ini juga dirancang untuk pemrograman di Internet sehingga dirancang agar aman dan portabel.

Platform Independent

Platform independent berarti program yang ditulis dalam bahasa Java dapat dengan mudah dipindahkan antar berbagai jenis sistem operasi dan berbagai jenis arsitektur komputer. Aspek ini sangat penting untuk dapat mencapai tujuan Java sebagai bahasa pemrograman Internet di mana sebuah program akan dijalankan oleh berbagai jenis komputer dengan berbagai jenis sistem operasi. Sifat ini berlaku untuk level source code dan binary code dari program Java. Berbeda dengan bahasa C dan C++, semua tipe data dalam bahasa Java mempunyai ukuran yang konsisten di semua jenis platform. Source code program Java sendiri tidak perlu dirubah sama sekali jika Anda ingin mengkompile ulang di platform lain. Hasil dari mengkompile source code Java bukanlah kode mesin atau instruksi prosesor yang spesifik terhadap mesin tertentu, melainkan berupa bytecode yang berupa file berekstensi .class. Bytecode tersebut dapat langsung Anda eksekusi di tiap platform yang dengan menggunakan Java Virtual Machine (JVM) sebagai interpreter terhadap bytecode tersebut.
JVM sendiri adalah sebuah aplikasi yang berjalan di atas sebuah sistem operasi dan menerjemahkan bytecode program Java dan mengeksekusinya, sehingga secara konsep bisa dianggap sebagai sebuah interpreter. Proses pengeksekusian program Java dapat dilukiskan seperti di Gambar 1. Dengan cara ini, sebuah program Java yang telah dikompilasi akan dapat berjalan di platform mana saja, asalkan ada JVM di sana.
Kompiler dan interpreter untuk program Java berbentuk Java Development Kit (JDK) yang diproduksi oleh Sun Microsystems. JDK ini dapat didownload gratis dari situs java.sun.com. Interpreter untuk program Java sendiri sering juga disebut Java Runtime atau Java Virtual Machine. Interpreter Java, tanpa kompilernya, disebut Java Runtime Environment (JRE) dapat didownload juga di situs yang sama. Untuk mengembangkan program Java dibutuhkan JDK, sementara jika hanya ingin menjalankan bytecode Java cukup dengan JRE saja. Namun untuk mengeksekusi applet (sebuah bytecode Java juga) Anda biasanya tidak perlu lagi mendownload JRE karena browser yang Java-enabled telah memiliki JVM sendiri.

Library

Selain kompiler dan interpreter, bahasa Java sendiri memiliki library yang cukup besar yang dapat mempermudah Anda dalam membuat sebuah aplikasi dengan cepat. Library ini sudah mencakup untuk grafik, desain user interface, kriptografi, jaringan, suara, database, dan lain-lain.

OO

Java adalah bahasa pemrograman berorientasi objek. Pemrograman berorientasi objek secara gamblang adalah teknik untuk mengorganisir program dan dapat dilakukan dengan hampir semua bahasa pemrograman. Namun Java sendiri telah mengimplementasikan berbagai fasilitas agar seorang programer dapat mengoptimalkan teknik pemrograman berorientasi objek.
Sedikit perbandingan tambahan dengan bahasa C dan C++, Java banyak mewarisi konsep orientasi objek dari C++ namun dengan menghilangkan aspek-aspek kerumitan dalam bahasa C++ tanpa mengurangi kekuatannya. Hal ini mempermudah programer pemula untuk mempelajari Java namun mengurangi keleluasaan programer berpengalaman dalam mengutak-atik sebuah program. Di balik kemudahan yang ditawarkan Java, luasnya fasilitas library Java sendiri membuat seorang programer membutuhkan waktu yang tidak singkat untuk dapat menguasai penggunaan library-library tersebut.

Memulai Pemrograman Java

Untuk membuat program Java, seperti telah disebutkan sebelumnya, Anda membutuhkan JDK. Proses instalasi JDK tersebut sangat mudah dan tidak membutuhkan pengetahuan tertentu. Namun untuk menggunakannya Anda perlu melakukan beberapa penyesuaian dengan sistem operasi Anda. Umumnya yang perlu Anda lakukan adalah memasukkan path ke direktori JDK Anda ke setting path pada sistem operasi Anda. Misalkan direktori JDK Anda adalah C:\jdk1.4 maka pada Windows 98 Anda cukup menambahkan baris perintah SET PATH=C:\jdk1.4\bin pada file autoexec.bat Anda. Untuk Windows NT/2000/XP Anda cukup menambahkan direktori C:\jdk1.4\bin pada variabel path di System Environment. Caranya: klik kanan ikon My Computer, pilih Properties. Kemudian pilih tab Advanced. Lalu klik tombol Environment Variables, cari variabel path, kemudian tambahkan path direktori JDK Anda ke dalam variabel tersebut. Untuk Linux, tambahkan baris perintah SET CLASSPATH=(direktori jdk Anda) ke file profile Anda. Untuk mencoba JDK, ketikkan perintah java dan javac pada shell prompt (atau DOS Command Prompt). Jika perintah tersebut sudah dikenali maka program java atau javac akan menampilkan sintaks penggunaan. Untuk kemudahan dan berbagai fasilitas tambahan Anda dapat menggunakan Integrated Development Environment (IDE) untuk bahasa Java seperti Visual Café dari Symantec atau JBuilder dari Borland.
Urutan langkah-langkah yang harus Anda lakukan untuk membuat sebuah program Java sederhana adalah:
  1. Membuat source code program dengan editor teks apapun. Ingat, file tersebut harus berekstensi .java dan case sensitive.
  2. Mengkompile source code dengan perintah javac. Misalnya: javac HelloWorld.java. Jika berhasil, hasilnya adalah file bytecode berakhiran .class.
  3. Mengeksekusi bytecode dengan perintah java. Parameter dari perintah ini adalah nama file hasil kompilasi tanpa ekstensi .class. Contoh: java HelloWorld.

Source Code

Berikut kode untuk HelloWorld.java:
public class HelloWorld
{
    public static void main(String[] args) 
    {
        System.out.println("Apa Kabar Dunia?");
    }
}
Dan ini sebuah contoh lain, yaitu applet sederhana untuk menampilkan teks di applet. Sebutlah file ini bernama HelloWorldApplet.java:
import java.awt.Graphics;

public class HelloWorldApplet extends java.applet.Applet
{
    public void paint(Graphics g) 
    {
        g.drawString("Apa Kabar Dunia?", 5, 25);
    }
}
Secara gamblang dapat diperhatikan bahwa struktur kedua program sangat mirip, dan hanya berbeda dalam konteks eksekusi. Kedua program ini akan dibahas lebih lanjut setelah kita membahas cara mengkompile dan mengeksekusi program tersebut.
Perlu diingat bahwa bahasa Java bersifat case sensitive, sehingga Anda harus memperhatikan penggunaan huruf besar dan kecil. Selain itu penulisan source code program tidak harus memperhatikan bentuk tertentu, sehingga Anda bisa saja menuliskan semua baris source code tersebut dalam satu baris asal Anda tidak lupa membubuhkan tanda titik koma (;), atau menuliskan tiap kata dalam satu baris tersendiri. Namun dianjurkan Anda mengikuti layout seperti pada contoh agar program Anda mudah dibaca dan dimengerti.

Kompilasi

Setelah kedua file disave dengan nama HelloWorld.java dan HelloWorldApplet.java, kita akan mengkompile kedua program tersebut dengan perintah:
prompt> javac HelloWorld.java
prompt> javac HelloWorldApplet.java
Perlu diperhatikan bahwa direktori aktif Anda saat ini adalah direktori tempat Anda meletakkan file-file program tersebut. Anda tetap dapat mengkompile program Anda dari direktori berbeda dengan perintah:
prompt> javac (direktori program)/namafile.java
Setelah perintah ini selesai, Anda akan melihat bahwa telah tercipta dua buah file .class, yaitu bytecode hasil kompilasi source code kita.

Sintaks Program

Sekarang kita akan mencoba membahas elemen-elemen dalam kedua source code tersebut.
Pada awal Listing 2 kita menemukan perintah import. Pada tahap awal ini Anda perlu mengetahui bahwa pernyataan tersebut hanya berfungsi mempermudah penulisan metode atau dalam bahasa pemrograman lain disebut prosedur atau fungsi. Jadi Anda hanya perlu menulis Graphics sebagai pengganti java.awt.Graphics, karena kita telah mengimpor java.awt.Graphics.
Kemudian di masing-masing listing terdapat pernyataan public class. Pernyataan ini adalah pernyataan pembuka sebuah kelas. Kelas sendiri digunakan untuk menciptakan objek. Ingat bahwa Java berorientasi objek. Kata public di depannya berfungsi agar kelas tersebut dapat diakses oleh semua program lain. Untuk saat ini anggaplah objek sebagai suatu item yang dapat dimanipulasi oleh sebuah program. Dalam Listing 2 terdapat tambahan kata extends. Hal ini berarti kelas yang kita buat akan mewarisi sifat-sifat dari kelas yang kita extends. Dengan kata lain kita menjadikan kelas yang kita extends sebagai himpunan bagian dari kelas kita buat.
Kemudian kita menemukan baris pernyataan public static void main(String[] args) dan public void paint(Graphics g). Keduanya adalah pernyataan pembuka sebuah metode. Metode sendiri adalah kumpulan pernyataan untuk melakukan suatu tugas tertentu dalam kelas. Keduanya sebenarnya mempunyai fungsi yang sama namun dalam konteks yang berbeda. Dalam setiap aplikasi harus ada sebuah metode yang bernama main yang akan dieksekusi pertama kali saat program tersebut dieksekusi. Sementara dalam applet, metode yang pertama kali akan dieksekusi ketika applet diload adalah paint. Kata public di depannya mempunyai fungsi yang sama dengan kata public yang ada di depan baris permulaan kelas. Namun nantinya Anda akan menemukan juga bentuk lain seperti private dan protect yang akan kita bahas nanti.
Pada Listing 1 terdapat kata static pada pernyataan pembuka metode main. Hal ini berarti metode main tidak mengubah atau menggunakan objek yang diciptakan oleh kelas tersebut, sehingga dapat dikatakan berdiri sendiri dan tidak terikat dengan objek. Dalam metode main dalam aplikasi, parameternya adalah selalu String[] args, di mana args hanyalah sebuah nama dari objek array dari String. Array ini nantinya akan berisi parameter-parameter yang diberikan user sebagai argumen command line. Sementara Anda tidak perlu mengerti mengenai parameter tersebut, cukup diingat bahwa bentuk metode main harus selalu demikian.
Kemudian di dalam kedua metode pada kedua listing tersebut, kita menemukan sebuah pernyataan. Anda tentu dapat saja meletakkan lebih dari satu pernyataan dalam sebuah metode. Setiap pernyataan dalam sebuah metode dipisahkan oleh titik koma dan akan dieksekusi satu persatu. Kedua pernyataan pada listing ternyata memanggil sebuah metode lain yaitu metode println dan paint. Tentunya dapat Anda perhatikan bahwa untuk memanggil sebuah metode diperlukan tiga komponen yaitu:
  1. Objek yang ingin kita pakai. Dalam hal ini objek System.out dan Graphics g.
  2. Nama metode yang ingin kita pakai. Dalam hal ini println dan paint.
  3. Sepasang tanda kurung yang berisi informasi tambahan yang diperlukan oleh metode yang dipanggil, yaitu parameter.
Dalam Listing 1, pernyataan System.out.println("Apa Kabar Dunia?"); berarti carilah objek out dalam kelas System kemudian panggil metode println dari objek out dengan parameter berupa string "Apa Kabar Dunia?". Sedang dalam Listing 2, pernyataan g.drawString("Apa Kabar Dunia?", 5, 25); berarti carilah objek g kemudian panggil metode drawString pada objek g dengan parameter "Apa Kabar Dunia?”, 5, 25);.

Eksekusi

Setelah selesai membahas sintaks dasar Java dalam kedua listing, selanjutnya kita akan mencoba mengeksekusi kedua program ini. Untuk program pertama yang berupa aplikasi biasa, kita tinggal mengetikkan perintah java HelloWorld pada prompt dan pesan Apa Kabar Dunia? akan tampil di layar (atau mungkin di tempat lain, bergantung sistem operasi Anda). Sedangkan untuk applet kita mesti membuat sebuah file HTML sebagai pembungkus—atau pemanggilnya. Berikut diberikan contoh file HTML untuk membungkus applet yang kita buat.
<HTML>
  <HEAD>
    <TITLE>Coba Applet</TITLE>
  </HEAD>
  <BODY>
    <APPLET CODE="HelloWorldApplet.class" WIDTH=150 HEIGHT=25>
    </APPLET>
  </BODY>
</HTML>
Beri nama helloword.html dan simpanlah di direktori yang sama dengan lokasi file-file .java dan .class sebelumnya. Untuk mengeksekusi applet kita cukup membuka file HTML tersebut di browser yang Java-enabled atau mengetikkan perintah appletviewer namafile.html di prompt.

Penutup

Untuk saat ini Anda telah mempunyai gambaran tentang bagaimana proses pembuatan program Java secara sederhana dalam bentuk aplikasi biasa atau applet. Anda juga dapat mencoba mengembangkan program sederhana tersebut sesuai dengan keinginan Anda berdasarkan hal-hal yang sudah Anda ketahui. Konsep dasar yang sudah Anda dapatkan akan dikembangkan lebih lanjut dalam topik-topik tutorial selanjutnya. Selamat mencoba!