Chrome Pointer

Sabtu, 19 Oktober 2013

Membuat Program Lexical Analyzer (scanner) pada Pascal

Apa itu Lexical Analyzer / scanner?
Lexical Analyzer adalah bagian dari compiler bahasa pemrograman yang bertuas untuk menindaklanjuti listng program yang telah dibuat oleh user(programmer), lexycal analyzer ini menghasilkan token-token yang akan dilaporkan kepada parser (analisis sintaks) untuk di'cek kesempurnaan'nya..

Di sini saya akan berbagi contoh membuat lexical analyzer sederhana pada compiler bahasa pemrograman Pascal..

Pertama, kita buat program untuk di cek kebenarannya dan kita beri nama urut.pas
berikut adalah listing program'nya..

Program Urut_Bilangan;
Uses crt;
Var A, B, C : integer;
Begin {mulai program utama}
Writeln('Program Mengurut Bilangan');
Writeln(' ');
Writeln;
Write('Masukkan Nilai A: ');readln(A);
Write('Masukkan Nilai B: ');readln(B);
Write('Masukkan Nilai C: ');readln(C);
Writeln;
if (A<= B) and (A<= C) then
if (B<= C) then
Writeln(A,' ',B,' ',C)
else
Writeln(A,' ',C,' ',B)
else if (B<= A) and (B<= C) then
if (A<= C) then
Writeln(B,' ',A,' ',C)
else
Writeln(B,' ',C,' ',A)
else if (C<= A) and (C<= B) then
if (A<= B) then
Writeln(C,' ',A,' ',B)
else
Writeln(C,' ',B,' ',A);
readln;
End.

Kemudian, kita buat listing kata atau keyword yang bisa dideteksi oleh program scanner yang akan kita buat..
berikut ini adalah keyword'nya, kita buat di notepad dan beri nama keyword.txt

and
array
begin
case
const
div
do
downto
else
end
file
for
function
goto
if
in
label
mod
nil
not
of
or
packed
procedure
program
record
repeat
set
then
to
type
until
uses
var
while
with
abs
arctan
boolean
char
chr
cos
dispose
eof
eoln
exp
false
get
input
integer
ln
maxint
new
odd
ord
output
pack
page
pred
put
read
readln
real
reset
rewrite
round
sin
sqr
sqrt
succ
text
true
trunc
unpack
write
writeln
wincrt

string

Tambah'kan keyword yang lain jika anda rasa keyword di atas kurang lengkap..

Selanjutnya, kita buat program Scanner'nya..
Berikut adalah listing program'nya..

program scanner; { judul program}

uses crt;
var
prg_sumber,f_hasil:text;
karakter:Char;
kata,Nm_token:string;

procedure bacafile; { prosedur membaca file sumber }
begin
read(prg_sumber,karakter);
end;

procedure hasil; {prosedur utk menulis hasil setiap token}
begin
append(f_hasil); {menambah hasil scan ke file hasil}
writeln(f_hasil, kata : 15, ' : ', Nm_token);
writeln(kata : 15, ' : ', Nm_token); {mencetak hasil scan ke layar}
end;

function cekkeyword(s:string):string; {fungsi mengecek keyword atau bukan}
var
x : byte;
panjang : integer;
ftext : text;
data : string;

begin
panjang:= length(s); {konversi kata ke huruf kecil}
for x:=1 to panjang do
begin
if s[x]= upcase (s[x]) then
s[x] := s[x]
else
s[x]:= chr(ord(s[x])+32);
end;

assign(ftext,'keyword.txt');
reset(ftext);
while not eof(ftext) do {mencocokkan dgn tabel keyword}
begin
readln(ftext,data);
if s=data then Nm_token:='Identifier / Keyword';
end;
close(ftext);
end;

procedure periksa; {prosedur memeriksa setiap karakter file sumber}
begin
while not eof(prg_sumber) do {kerjakan sampai akhir file}
begin
bacafile;

if karakter = '{' then {mengabaikan/membuang komentar}
begin
repeat
begin
bacafile;
end;
until karakter = '}';
kata:='';
end;

if karakter = char(39) then {mengecek tanda petik (`)}
begin
repeat
begin
kata := kata + karakter;
bacafile;
end;
until karakter = char(39) ;
kata := kata + karakter;
Nm_token := 'Konstanta';
hasil;
kata :='';
end;

if (karakter in['A'..'Z','a'..'z','_']) then {mengecek karakter/kata}
begin
repeat
begin
kata := kata + karakter;
bacafile;
end;
until (not(karakter in['A'..'Z','a'..'z','_']));
Nm_token:='Identifier / Variabel';
cekkeyword(kata);
hasil;
kata :='';
end;

if (karakter in['0'..'9']) then {mengecek angka}
begin
repeat
begin
kata := kata + karakter;
bacafile;
end;
until (not(karakter in['0'..'9']));
Nm_token := 'Konstanta / Integer';
hasil;
kata :='';
end;

if (karakter in['+','-','*','/',' ','^']) then
begin
repeat
begin
kata := kata+karakter;
bacafile;
end;
until (not(karakter in['+','-','*','/',' ','^']));
Nm_token :='Operator';

hasil;
kata:='';
end;

if (karakter in['(',')','[',']','^',':',';',',','?']) then
begin
kata:=karakter;
Nm_token :='Delimiter';
hasil;
kata:='';
end;
end;

end;

begin {=program utama=}
clrscr;
assign(prg_sumber,'urut.pas'); {menetapkan file sumber}
reset(prg_sumber); {membaca file sumber}
assign(f_hasil,'hasil.txt'); {menetapkan file hasil}
rewrite(f_hasil); {menghapus isi file hasil}
periksa; {menjalankan prosedur scan}
close(prg_sumber); {menutup file}
close(f_hasil);
readln;
end.

Save dan compile semua program'nya, dan simpan semua file yang telah dibuat ke dalam satu folder..

Jalankan Program'nya.. maka program scanner akan menampilkan listing token yang telah dibuat, listing token tersebut akan tersmpan pada file hasil.txt yang otomatis terbuat pada folder tempat menyimpan program scanner tersebut..

sumber code

Kamis, 10 Oktober 2013

Contoh Program Pascal Sangat Sederhana

Langsung aja di lihat, di copy-paste juga silahkan..
--------------------------------------------------

Program repeat;
uses crt;

var
 a: integer;

begin
 clrscr;
 a:=2;
 repeat
 write(a,’ ‘);
 a:=a+2;
 until a>11;
 readln;
end.

--------------------------------------------------

Program menampilkan_inputan;
uses crt;

var
 a: integer;

begin
 clrscr;
 write('Masukkan angka: ')
 readln(a);
 writeln('angka yang anda masukkan adalah :',a);
readln;
end.

--------------------------------------------------

Program penjumlahan;
uses crt;

var
 a:integer;
 b:integer;
 c:integer;

begin
 clrscr;
 write('Masukkan angka: ');
 readln(a);
 write('Masukkan angka penjumlah : ');
 readln(b);
 c:=a+b;
 writeln('Hasilnya = ',c);
 readln;
end.

--------------------------------------------------

Program perkalian;
uses crt;

var
 a:integer;
 b:integer;
 c:integer;

begin
 clrscr;
 write('Masukkan angka: ');
 readln(a);
 write('Masukkan angka pengali : ');
 readln(b);
 c:=a*b;
 writeln('Hasilnya = ',c);
 readln;
end.

--------------------------------------------------

Program pembagian;
uses crt;

var
 a:integer;
 b:integer;
 c:real;

begin
 clrscr;
 write('Masukkan angka: ');
 readln(a);
 write('Masukkan angka pembagi : ');
 readln(b);
 c:=a/b;
 writeln('Hasilnya = ',c);
 readln;
end.

--------------------------------------------------

Program pengurangan;
uses crt;

var
 a:integer;
 b:integer;
 c:integer;

begin
 clrscr;
 write('Masukkan angka: ');
 readln(a);
 write('Masukkan angka penjumlah : ');
 readln(b);
 c:=a-b;
 writeln('Hasilnya = ',c);
 readln;
end.

--------------------------------------------------

Selasa, 26 Februari 2013

MENAMPILKAN KOMENTAR YANG TELAH DISIMPAN PADA TABLE DATABASE


Buat terlebih dulu file koneksi.php dengan syntax seperti berikut..

=======================================================================

<?php
$server = 'localhost';
$username = 'root';
$password = 'admin';
$database = 'perpus';
mysql_connect ($server,$username,$password) or die ('Koneksi Gagal !');
mysql_select_db ($database) or die ('Database tidak bisa dibuka');
?>

=======================================================================

Dengan catatan


$conn=mysql_connect("localhost", "root", "admin");
"root" dan "admin" isi dengan username dan password pada saat anda login di phpMyAdmin anda,, saya menggunakan username 'root' dan password 'admin'


Kemudian buat halaman tampil.php dengan syntax seperti berikut..

=======================================================================

<?php
// ----- ambil isi dari file koneksi.php
require("koneksi.php");

// ----- menentukan nama tabel
$tablename="tb_contact_us";

// ----- perintah SQL dimasukkan ke dalam variable string
$sqlstr="select * from $tablename";

// ------ jalankan perintah SQL
$result = mysql_query ($sqlstr) or die ("Kesalahan pada perintah SQL!");

// ------ buat tampilan tabel
echo("<table width=500 border=1>");
echo("<tr><td >Nama</td><td>Email</td><td>Komentar</td></tr>");

// ------ ambil isi masing-masing record dari tabel mysql
while ($row = mysql_fetch_object ($result))
{

// ----- mengambil isi setiap kolom dari tabel mysql
$nama=$row->nama;
$email=$row->email;
$komentar=$row->komentar;

// ------ menampilkan di layar browser seperti mozila firefox
echo("<tr><td>$nama</td><td>$email</td><td>$komentar</td></tr>");
}
echo("</table>");

?>
=======================================================================

SELESAI.. Moga bermanfaat ya gan.. :D

MEMBUAT HALAMAN KOMENTAR PADA PHP DAN HUBUNGAN DENGAN DATABASE


Untuk membuat halaman komentar dengan kode php, kita harus membuat dulu database dan table di dalam database tersebut..
Kita buat dulu database dengan nama 'perpus'
Agar labih mudah, saya menggunakan phpMyAdmin pada AppServ..
Saya anggap anda sudah mengerti untuk membuat database pada AppServ.. :D
Kita buat table dengan nama 'tb_contact_us' dengan 3 field seperti gambar di bawah..



Kemudian kita buat halaman proses.php dengan syntax seperti berikut..
=================================================================

<html>
<head>
<title>Contact Us</title>
</head>
<body>

<?php
//melakukan koneksi ke database
$conn=mysql_connect("localhost", "root", "admin");
mysql_select_db("perpus");
 //membuat variabel untuk
//menyimpan data yang dikirim
$nama=$_REQUEST['nama'];
$email=$_REQUEST['email'];
$komentar=$_REQUEST['komentar'];
//membuat Query untuk menyimpan data
$sql="INSERT INTO tb_contact_us (nama, email, komentar) values ('$nama','$email','$komentar')";
//menyimpan data ke database
mysql_query($sql);
echo "<h2>Data Telah Disimpan</h2>";
?>
</body>
</html>

=================================================================

CATATAN: $conn=mysql_connect("localhost", "root", "admin");
isi dengan username dan password pada saat anda login di phpMyAdmin anda,, saya menggunakan username 'root' dan password 'admin'

SELESAI.. Semoga bermanfaat ya gan.. :D

Untuk cara menampilkan komentar yang sudah disimpan,, klik di sini

Kamis, 03 Januari 2013

KUNCI FOLDER TANPA SOFTWARE

Folder locker ini berguna untuk menyimpan file anda yang bersifat rahasia..
Langsung saja ke intinya..

Buka notepad, copy paste code di bawah :
===============================================================

@ECHO OFF
cybers-newbie kunci folder
if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto UNLOCK
if NOT EXIST Locker goto MDLOCKER
:CONFIRM
echo Mau Kunci Folder Locker ? (Y/N)
set/p "cho=>"
if %cho%==Y goto LOCK
if %cho%==y goto LOCK
if %cho%==n goto END
if %cho%==N goto END
echo Invalid choice.
goto CONFIRM
:LOCK
ren Locker "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
attrib +h +s "Control panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
echo Folder Terkunci
goto End
:UNLOCK
echo Masukkan Password: 
set/p "pass=>"
if NOT %pass%== cybers-newbie goto FAIL
attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" Locker
echo Folder Unlocked successfully
goto End
:FAIL
echo Invalid password
goto end
:MDLOCKER
md Locker
echo Folder telah dibuat
goto End
:End

===============================================================

code yang di bold dan di beri font oranye bisa diganti sesuai kepingin agan.. yang paling utama adalah kata "cybers-newbie" yang saya kasih font warna merah,, itu adalah password untuk locker nya..


Kalo udah selesai ngutak-ngatik code'nya,, lalu pilih FILE -> SAVE AS



Pilih all files, dan beri nama file dengan ekstensi ".bat" contoh : Kunci.bat

Buka file Kunci.bat nya

Akan muncul folder dengan nama Locker

Nah,,agan bisa taro file agan di dalam folder itu..

Klo udah selesai masukin file ke folder'nya,, double klik Kunci.bat nya dan tekan Y klo mau ngunci atau N kalo gak jadi..

Dan cara buka folder yang udah di lock itu,, double klik Kunci.bat,, dan masukkin password agan.. Trus enter..


Ok.. Selesai..

SEMOGA BERMANFAAT :)

AUTO LIKE STATUS FACEBOOK NO SPAM

Sebelumnya saya udah nge'posting autolike no spam..
Sekarang saya mau share autolike no spam yang berbeda..

Langsung aja ke web nya gan autolike, buat yang udah ngerti tutor nya gak usah di lihat lagi.. :)
Yang belum ngerti cara pake'nya,, lihat turnya dulu di bawah ya.. :)

Setelah masuk ke autolike mungkin ada yang bingung gimana cara pake'nya..
Langsung aja lihat tutor cara pake'nya di bawah..



Pilih desktop,, nanti akan redirect ke facebook..
Kemudian lihat URL yang ada di adress bar..
Contoh nya seperti ini:
http://www.facebook.com/#access_token=AAABqweasp6Ls0Bsawae5vz8Y2MswEKqqo6NNfAzoadswYHWwXHksdwBibrBM94rwzqweqewBIeAZDZD&expires_in=5174139
Copy dari mulai AAA (setelah access_token=) sampai ke ZDZD (sebelum tanda &)
Kemudian pastekan di bagian Text Box Acces Token pada halaman autolike.dozacrack.org :


Lalu klik submit Query..


Akan tampil halaman berikutnya..




Pada text box di atas akan tampil 293004095090296_1223142329440121

293004095090296 à adalah nomor User ID anda.
1223142329440121 à adalah Status ID anda.

Cara mendapatkan nomor User ID dan Status ID klik disini.

Setelah kotak tersebut diisi,, langkah terakhir adalah klik inject.. SELESAI..

maaf, cara ini udah gak berlaku lagi..

thanks to doza cracker..


CARA MENGETAHUI USER ID FACEBOOK DAN STATUS ID FACEBOOK


CARA MENDAPATKAN USERNAME BERUPA ANGKA
Masuk Ke profil, lihat address bar,,
contoh: http://www.facebook.com/userid
userid adalah username anda.. Nah yang dibutuhkan pada autolike di autolike.dozacrack.org adalah username berupa angka..

Cara mendapatkannya:
Masukkan link ini à https://graph.facebook.com/usernameanda
contoh:  https://graph.facebook.com/userid



Angka yang dilingkari adalah username angka milik anda..


CARA MENDAPATKAN STATUS ID

Klik bagian yang dilingkari..
Lihat address bar akan muncul : http://www.facebook.com/userid/posts/17845469898
17845469898 à adalah status id

SEMOGA MEMBANTU.. :)