Sabtu, 07 Juli 2012

Tutorial Common Lisp Menggunakan GNU CLISP

Tutorial Common Lisp Menggunakan GNU CLISP Agro Rachmatullah (agro1986 [di] gmail.com) 11 Mei 2004 Pendahuluan Lisp adalah bahasa pemrograman yang sudah berumur lebih dari 40 tahun. Keunggulan Lisp terletak pada kemampuannya memanipulasi simbol dan hubungan antar simbol dengan mudah, sehingga bahasa ini cocok digunakan di bidang Artificial Intelligence (kecerdasan buatan) dan pengambilan keputusan. Walaupun begitu, bahasa ini juga dapat digunakan untuk memecahkan masalah-masalah lainnya. Selama perkembangannya, Lisp menghasilkan banyak varian dan merupakan cikal bakal berbagai bahasa lainnya (misalnya Logo dan Smalltalk). Pada 8 Desember 1994 ANSI (American National Standard Institute) berhasil menstandarisasi Lisp, yang diberi nama Common Lisp ANSI. Tutorial ini akan mengajarkan Common Lisp ANSI dengan menggunakan compiler/interpreter GNU CLISP. Untuk selanjutnya, jika tutorial ini menyebutkan "Lisp" maka yang dimaksud adalah "Common Lisp ANSI". Lisp menarik untuk dipelajari sebab Lisp jauh berbeda dibandingkan dengan bahasa pemrograman seperti Pascal dan C. Setelah banyak menggunakan Lisp, kita akan bisa melihat/menganalisa suatu masalah dari sudut pandang yang sebelumnya tidak pernah kita bayangkan. Paling tidak, Lisp dapat digunakan sebagai kalkulator yang handal (akan ditunjukkan pada tutorial ini). Menginstall dan Menjalankan GNU CLISP Tutorial ini akan memandu proses instalasi GNU CLISP 2.33 untuk Windows (yang kadang-kadang akan kita singkat CLISP). 1. Download GNU CLISP 2.33 dari http://webstudent.ugm.ac.id/~agro_r/files/clisp-2.33-win32.zip (Hanya 3.4 MB!). 2. Extract isinya ke folder tempat anda ingin menginstallnya. Semua isi file zip akan diextract ke sub-folder "clisp-2.33". Misalnya jika anda mengextractnya ke "C:\Program Files", semua file-filenya akan diletakkan ke "c:\Program Files\clisp-2.33". 3. Masuk ke folder "clisp-2.32". Jalankan file "install.bat". Pilih 'Y' untuk setiap pertanyaan yang diajukan. 4. Sayangnya, setup yang disediakan lupa melakukan satu hal, jadi anda harus melakukan satu langkah tambahan. Anda harus mengcopy file "lisp.exe" yang terletak di folder "clisp-2.33\base" ke folder "clisp-2.33". Sekarang CLISP dapat dijalankan lewat iconnya di desktop. Anda akan mendapatkan tampilan seperti berikut: Kita akan memasuki sebuah prompt dimana kita bisa mulai menuliskan program kita. CLISP merupakan lingkungan pemrograman yang bersifat read-eval-print. Artinya, begitu kita selesai memasukkan/mengetik form dalam CLISP, maka CLISP akan segera menjalankannya dan menuliskan hasilnya (dalam pembuatan program C atau Pascal, biasanya kita menggunakan siklus write-compile-run). Catatan: Anda bisa mendapatkan versi terbaru GNU CLISP di http://clisp.cons.org. List dan Atom Pada bagian ini kita akan mempelajari elemen-elemen dasar Lisp yaitu list dan atom. Contoh-contoh yang diberikan di bagian ini sebagian besar hanya untuk ilustrasi dan tidak dapat diketikkan ke dalam CLISP (akan menghasilkan error). Kita akan mulai menulis program pada bagian berikutnya, "Form". Hal pertama yang harus kita tahu adalah bahwa segala sesuatu yang dimulai dan diakhiri tanda kurung adalah sebuah list. Sebagai contoh, hal-hal berikut adalah list: (1 2 3 4 5) (w x y z) (rumah tanah kucing 123) Sebuah list bisa saja kosong maupun berisi list lain. Jadi yang berikut adalah merupakan list juga: () ((1 10 100)) ((x y) 3 4 (hitam merah)) (defun kurangi-satu (x) (- x 1)) List bisa berisi program ataupun data, dan karena kita bisa memasukkan list di dalam list, kita bisa mencampur data dan program pada berbagai tingkatan. Inilah salah satu kekuatan LISP bagi yang sudah menguasainya, namun merupakan sumber kebingungan bagi yang belum menguasainya. Bersiap-siaplah juga untuk menghadapi banyak kurung buka dan kurung tutup. Elemen-elemen yang berada di dalam list disebut atom. Jadi dalam list (1 2 3 tangan kanan) yang disebutkan di bawah merupakan atom: 1 2 3 tangan kanan Syarat utama dari atom adalah diawali dan diakhiri spasi (termasuk tab dan newline) atau kurung buka atau kurung tutup. Atom dapat terdiri dari karakter-karakter yang bukan pembatas atom. Perlu diketahui bahwa atom dapat berada di luar list. Inilah beberapa contoh atom lain: :monitor !**! - @hotmail.com 2*3+1 Lisp tidak case-sensitive, jadi ketiga atom di bawah adalah sama: saya SayA SAYA Lisp juga tidak mengenal operator, jadi 2*3+1 bukanlah suatu expresi matematika yang nilainya 7. Kalaupun digunakan spasi, maka 2 * 3 + 1 akan menjadi lima buah atom yang juga tidak bernilai 7. Perhatikan bahwa spasi yang banyak sama saja dengan sebuah spasi, jadi kedua list di bawah ini sama (memang terlihat rumit, tapi untuk sekarang tidak perlu dimengerti artinya): (defun faktorial (x) (if (eql x 0) 1 (* x (faktorial (- x 1))))) (defun faktorial(x)(if(eql x 0)1(* x(faktorial(- x 1))))) Tentunya penulisan yang pertama lebih mudah dibaca. Akan lebih baik lagi jika dituliskan sebagai berikut: (defun faktorial (x) (if (eql x 0) 1 (* x faktorial (- x 1))))) Form Form adalah sesuatu yang akan dievaluasi/dicari nilainya. Form dapat berupa atom (non-list) maupun list. Evaluasi form sangatlah sederhana jika yang terlibat adalah atom. Jika atom yang bersangkutan adalah angka (misalnya 100, -5, 3/4, 0.333), maka hasil evaluasinya adalah angka itu sendiri (disebut self-evaluating). Inilah beberapa contohnya (langsung saja anda coba pada CLISP): > 100 (ini adalah input) ] 100 (ini adalah outputnya) > 3/4 ] 3/4 > -2.71828 ] -2.71828 Kita bisa melihat bahwa Lisp memiliki beberapa tipe data angka. Yang pertama adalah integer, yang dapat menyimpan bilangan bulat sebesar atau sekecil apapun (hanya dibatasi oleh kapasitas memori yang ada). Tipe data lainnya adalah rational, yang berupa p/q dengan p dan q integer dan q lebih besar dari 1 (jika q = 1 maka bilangannya akan menjadi integer). Rational juga hanya dibatasi oleh memori yang tersedia. Tipe data ketiga adalah floating point, yang melambangkan angkanya menggunakan mantissa and eksponen. Floating point pasti dituliskan dengan tanda titik. Jadi 1 adalah integer sedangkan 1.0 adalah floating point. Pada tipe data floating point dapat terjadi underflow (jika nilai mutlak pecahannya terlalu kecil) maupun overflow (jika nilai mutlak angkanya terlalu besar). Inilah beberapa contohnya:

Selasa, 03 Juli 2012

Keylogger merupakan sebuah perangkat baik perangkat keras atau perangkat lunak yang digunakan untuk memantau penekanan tombol keyboard. Sebuah keylogger biasanya akan menyimpan hasil pemantauan penekanan tombol keyboard tersebut ke dalam sebuah berkas log/catatan/rekaman. Beberapa keylogger tertentu bahkan dapat mengirimkan hasil rekamannya ke e-mail tertentu secara periodik. Keylogger dapat digunakan untuk kepentingan yang baik atau bahkan bisa digunakan untuk kepentingan yang jahat. Kepentingan yang baik antara lain untuk memantau produktivitas karyawan, untuk penegakan hukum dan pencarian bukti kejahatan. Kepentingan yang buruk antara lain pencurian data dan password. Keylogger yang berupa hardware besarnya seukuran baterai ukuran AA. Keylogger jenis ini dipasangkan pada ujung keyboard, sehingga mencegat data yang dialirkan darikeyboard ke CPU. Sementara itu, keylogger dalam bentuk perangkat lunak terpasang di dalam komputer dan bekerja secara tersembunyi. Cara sederhana untuk menghindari dampak adanya keylogger pada sistem operasi Microsoft Windows adalah dengan menggunakan fitur on-screen keyboard (osk.exe). keyshark hardware keylogger Banyak orang yang menggunakan internet untuk mengecek e-mail, login ke facebook, twitter, buku bank, berbelanja, dan mengirim informasi pribadi pada yang lain. Kebanyakan situs biasanya aman, namun ada juga yang berusaha mencuri data informasi pribadi seseorang langsung dari keyboard pengguna komputer. Keylogging adalah prosses perekaman huruf yang diketik oleh pengguna komputer tanpa sepengetahuan pengguna dan mengirim informasi tersebut ke tempat si pembuat program keylogging. Dengan melakukan ini, si pembuat program bisa mempelajari segala sesuatu yang diketik di komputer untuk digunakan bagi keperluan si pembuat program. Teknologi ini juga bisa merekam kegiatan pengguna komputer. Sebelum seseorang bisa mendeteksi apa yang diketik pada komputer tertentu, ia harus mempunyai akses ke keyboard komputer yang akan dibajaknya. Ini bisa dilakukan dengan dua hal: dengan software keylogging maupun hardware keylogging. Hardware keylogging biasanya merekam apa yang diketik oleh si pengguna di keyboard mereka dan menyimpannya dalam hardisk kecil sampai diambil langsung oleh si pembajak. Alat semacam ini bisa berbentuk bagian dari keyboard sehingga sulit untuk dideteksi. Lagipula, karena ini dalam bentuk hardware, maka anti virus sulit untuk mendeteksinya. Sedangkan software keylogging tidak memerlukan akses langsung ke komputer target yang hendak dibajak. Keylogger seperti ini bisa didownload tanpa pengetahuan si pengguna komputer. Setelah diinstal dalam komputer, kemudian program ini dapat merekam data yang diketik pada keyboard dan mengirimnya kepada si pembajak. Kemudian sipembajak bisa mengakses apapun yang diketik dikomputer yang dibajaknya. Meskipun keylogger seperti ini sulit untuk ditemukan langsung oleh pengguna komputer, tapi anti virus biasanya bisa mendeteksi program ini. Salah satu penggunaan yang paling sering dari program keylogging ini adalah pencurian data pribadi. Apabila sipembajak menggunakan software atau hardware semacam ini, maka ia bisa memanfaatkan informasi tersbut untuk kepentingan pribadinya. Misalnya ia bisa membeli barang-barang di internet dengan menggunakan kartu kredit korban. Oleh karena itu para pengguna komputer harus berhati-hati dan menjaga data pribadi mereka agar jangan sampai dimanfaatkan oleh orang lain tanpa sepengetahuan pemilih PC itu. Dengan mengetahui dan mengerti program yang dijalankan di komputer dan memiliki software anti-malware yang terupdate adalah cara yang mudah untuk melindungi data pribadi dari pencuri data. Beberapa orang tidak setuju dan menganggap ada beberapa manfaat dari keylogging. Orang tua bisa memonitor kegiatan anak-anaknya ketika menggunakan komputer. Ini juga bisa digunakan oleh perusahaan untuk memonitor penggunaan komputer oleh para karyawan. Bahkan keylogging ini juga bisa menyelamatkan data yang penting yang hilang karena putusnya aliran listrik/aktifitas ini juga bisa bermasalah dengan hak asasi pribadi. Oleh karena itu saran The Gaptek gunakanlah program ini dengan hati-hati agar tidak bertentangan dengan hukum yang berlaku khususnya di Undang-Undang ITE. 1.sumber:http://www.thegaptek.com/2012/06/mengenal-apa-itu-keylogger-dan.html

Senin, 25 Juni 2012

java

(ketik di notepa>save as di folder sony) import java.io.*; public class latih6{ public static void main(String Arg[])throws IOException{ String str; int jumlah,harga=0;double total,disc=0; BufferedReader Get=new BufferedReader(new InputStreamReader(System.in)); System.out.print("jumlah lembar copy:");str=Get.readLine(); jumlah=Integer.parseInt(str); if (jumlah>500) harga=90; else if(jumlah>250) harga=105; else if(jumlah>100) harga=125; else harga=150; total=harga*jumlah; System.out.println("harga :"+harga); if (jumlah>600)disc=0.1*total; System.out.println("discount :"+disc+"\n Total Harga Rp."+total); System.out.println("total bayar Rp."+(total-disc)); } } ketik run>cmd Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\Sony>set path=C:\Program Files\Java\jdk1.5.0_11\bin C:\Documents and Settings\Sony>javac latih6.javac javac: invalid flag: latih6.javac Usage: javac where possible options include: -g Generate all debugging info -g:none Generate no debugging info -g:{lines,vars,source} Generate only some debugging info -nowarn Generate no warnings -verbose Output messages about what the compiler is doing -deprecation Output source locations where deprecated APIs are u sed -classpath Specify where to find user class files -cp Specify where to find user class files -sourcepath Specify where to find input source files -bootclasspath Override location of bootstrap class files -extdirs Override location of installed extensions -endorseddirs Override location of endorsed standards path -d Specify where to place generated class files -encoding Specify character encoding used by source files -source Provide source compatibility with specified release -target Generate class files for specific VM version -version Version information -help Print a synopsis of standard options -X Print a synopsis of nonstandard options -J Pass directly to the runtime system C:\Documents and Settings\Sony>java latih6 jumlah lembar copy:34 harga :150 discount :0.0 Total Harga Rp.5100.0 total bayar Rp.5100.0 C:\Documents and Settings\Sony>

Rabu, 16 Mei 2012

contoh bahasa c volume kubus =s*s*s #include #include main() { int s,v=0; clrscr(); printf("menhitung volume kubus\n--------------------"); printf("\n masukkan sisi kubus:"); scanf("%d",&s); v=s*s*s; printf("nilai volume kubus:%d",v); } contoh bahasa c++ membuat volume kubus =s*s*s #include"iostream.h" #include"conio.h" void main() { int s,v=0; clrscr(); cout<<"menghitung volume kubus\n--------------"; cout<<"memasukkan sisi kubus:"; cin>>s; v=s*s*s; cout<<"nilai volume kubus:"<

Selasa, 08 Mei 2012

#memngkonversi bilangan* uses crt; var bilangan:integer; function decTOBin(desimal:integer):string; var hasilbagi, sisa : integer; bin:char; bilBiner:string; begin hasilBagi := desimal div 2; bilBiner :=''; {syarat prulangan :selama hasil bagi lebih besar sama dengan 1} while (hasilBagi >=1) do begin sisa :=desimal mod 2; if(sisa =0)then bin :='0' else if (sisa=1) then bin :='1'; {menggabung sisa pada setiap perulangan untuk membentuk digit biner} bilBiner := bin + bilBiner; desimal:=hasilBagi; hasilBagi := desimal div 2; end; deCTOBin :='1'+bilBiner; end; BEGIN bilangan :=200; write('bilangan binernya :', deCTOBin(bilangan)); readln; end. #program penjualan* uses crt; var b:string; h,y,u,by,tb:real; lagi:char; begin writeln('toko"laris manis" '); writeln ('__________'); tb:=0; lagi := 'y'; while lagi= 'y' do begin write ('barang :');readln(b); write ('harga:'); readln(h); write ('unit:'); readln(u); by:= h*u; writeln('bayar :',by:0:0); writeln ('coba lagi (y/t); ');readln(lagi); writeln; writeln; tb:= tb+by; end; writeln('total bayar :',tb:0:0); end.

Senin, 07 Mei 2012

blog

Setelah anda mengetahui cara membuat efek Kembang Api pada Blog dan beberapa waktu yang lalu kami juga pernah Share cara memasang 15 Animasi super keren dan membuat Spoiler pada blog maka kali ini kami akan menunjukkan pada anda cara memasang Animasi Meteor Jatuh.

Haaahhhh…Meteor??? Yaahh benar sekali, anda dapat mempercantik tampilan blog anda dengan memasang animasi Meteor Jatuh. Dengan adanya efek ini, diharapkan tampilan blog anda kelihatan lebih canggih dan menarik. Berikut ini cara membuatnya :
  • Silakan anda Login terlebih dahulu ke dalam Blogger
  • Kemudian klik menu Rancangan -> Add Widget (HTML/JavaScript)
  • Kemudian masukkan kode dibawah ini


  • Jika sudah, silakan Simpan dan lihatlah hasilnya.
Saat efek Meteor ini berjalan di blog anda, akan terdapat menu Close yang muncul di bagian sebelah kanan bawah. Itu artinya, anda dapat menutup atau mematikan efek Meteor ini jika sudah tidak diinginkan.

Senin, 13 Februari 2012

program hitung_diskon_harga;
uses crt;

var harga, diskon, total : real;


begin clrscr;

writeln ('MENGHITUNG DISKON DAN TOTAL HARGA BELANJA');
Selamat datang di blog alpin, Terima kasih telah berkunjung di blog kami.. Semoga anda senang!!