Senin, 20 Agustus 2012

Program Stack dengan LinkedList ( tipe integer )


End Program StackdglinkedList;
uses wincrt;
type
PLinkedList = ^TlinkedList;
TLinkedlist = record
info : integer;
next : PlinkedList;
end;


Procedure Push(Var s:Plinkedlist; x:integer);
var q : Plinkedlist;
Begin
new(q);q^.info:=x;q^.next:=s;s:=q;
End;

function Pop(Var s :PlinkedList):integer;
var t : PlinkedList;
Begin
if (s<>nil) then begin
t:=s; pop:=s^.info; s:=s^.next;dispose(t);
end;
End;

Procedure Display(s:PlinkedList);
Begin
while s<> nil do begin
write(s^.info:5); s:=s^.next;
end;
writeln;
End;

{Program utama}
var a :Plinkedlist; y:integer;
Begin
A:= nil;
push(A,7);Push(A,6);Push(A,1);
Display(A);
REadln;
y:=Pop(A);
writeln('Hasil pop:',y);
readln;
y:=Pop(A);
writeln('Hasil pop:',y);
readln;
y:=Pop(A);
writeln('Hasil pop:',y);
readln;
End.
Output : 1 6 7
Hasil pop : 1
Hasil pop : 6
Hasil pop : 7

3.Program stack
Program StackdglinkedList;
uses wincrt;

type
PLinkedList = ^TlinkedList;
TLinkedlist = record
info : integer;
next : PlinkedList;
end;


{menambah elemen baru pada stack}
Procedure Push(Var s:Plinkedlist; x:integer);
var q : Plinkedlist;
Begin
new(q);
q^.info:=x;
q^.next:=s;
s:=q;
End;

function Pop(Var s :PlinkedList):integer;
var t : PlinkedList;
Begin
if (s<>nil) then begin
t:=s; pop:=s^.info; s:=s^.next;dispose(t);
end;
End;

Procedure Display(s:PlinkedList);
Begin
while s<> nil do begin
write(s^.info:5); s:=s^.next;
end;
writeln;
End;

{Program utama}
var a :Plinkedlist; y:integer;
Begin
A:= nil;
push(A,2);Push(A,1);Push(A,7);Push(A,9);
Display(A);
REadln;
y:=Pop(A);
writeln('Hasil pop:',y);
readln;
y:=Pop(A);
writeln('Hasil pop:',y);
readln;
y:=Pop(A);
writeln('Hasil pop:',y);
readln;
y:=Pop(A);
writeln('Hasil pop:',y);
readln;


Output : 9 7 1 2
Hasil pop : 9
Hasil pop : 7
Hasil pop : 1
Hasil pop : 2


Program dengan STACK

 Program Stack dengan List ( tipe data character )

Program StackdglinkedList;
uses wincrt;

type
PLinkedList = ^TlinkedList;
TLinkedlist = record
info : char;
next : PlinkedList;
end;

{menambah elemen baru pada stack}
Procedure Push(Var s:Plinkedlist; x:char);
var q : Plinkedlist;
Begin
new(q);
q^.info:=x;
q^.next:=s;
s:=q;
End;

function Pop(Var s :PlinkedList):char;
var t : PlinkedList;
Begin
if (s<>nil) then begin
t:=s;
pop:=s^.info;
s:=s^.next;
dispose(t);
end;
End;

Procedure Display(s:PlinkedList);
Begin
while s<> nil do begin
write(s^.info:5); s:=s^.next;
end;
writeln;
End;
{Program utama}
var a :Plinkedlist; y:char;
Begin
A:= nil;
push(A,'p');Push(A,'a');Push(A,'r');Push(A,'t');
Display(A);
REadln;
y:=Pop(A);
writeln('Hasil pop:',y);
readln;
y:=Pop(A);
writeln('Hasil pop:',y);
readln;
y:=Pop(A);
writeln('Hasil pop:',y);
readln;
y:=pop(A);
writeln('Hasil pop:',y);
readln;
End.
Output :t r a p
Hasil pop : t
Hasil pop : r
Hasil pop : a
Hasil pop : p

Kamis, 10 Mei 2012

Program Gabungan Push dan Pop


uses crt;
const garis ='---------------------------------------';
pesan ='Senarai Berantai Masih Kosong';
type simpul = ^data;
data   = record
nama : string;
alamat : string;
berikut : simpul;
end;
var
awal,akhir : simpul;
pilih : char;
cacah : integer;
function MENU : char;
var P : char;
begin
clrscr;
gotoxy(30,3); write('DAFTAR MENU PILIHAN');
gotoxy(20,5); write('1. MASUKKAN ANTRIAN');
gotoxy(20,7); write('2. ANTRIAN MASUK');
gotoxy(20,9); write('3. MENGHAPUS ANTRIAN DI TENGAH');
gotoxy(20,11); write('4. MENCETAK ISI ANTRIAN');
gotoxy(20,13); write('5. SELESAI');
repeat
gotoxy(48,20); write('':10);
gotoxy(30,20); write('Pilih salah satu: ');
P := upcase(readkey);
until P in ['1'..'5'];
MENU := P;
end;
function SIMPUL_BARU : simpul;
var
B : simpul;
begin
new(B);
with B^ do
begin
write('Nama  : '); readln(nama);
write('No. Antrian: '); readln(alamat);
berikut := nil;
end;
SIMPUL_BARU := B;
end;
 procedure TAMBAH_AWAL (N : integer);
var
baru : simpul;
begin
if N <> 0 then
begin
writeln('MENAMBAH SIMPUL BARU DI AWAL SENARAI BERANTAI');
writeln(copy(garis,1,45));
end;
writeln;
baru := SIMPUL_BARU;
if awal=nil then
awal:= baru
else
akhir^.berikut := baru;
akhir := baru;
end;
procedure HAPUS_PERTAMA;
begin
if awal <> nil then
begin
awal := awal^.berikut;
writeln('SIMPUL PERTAMA TELAH TERHAPUS');
end
else
writeln(pesan);
writeln; writeln('TEKAN <RETURN> UNTUK KEMBALI KE MENU UTAMA');
repeat until keypressed
end;
procedure HAPUS_TENGAH;
var posisi,i : integer;
bantu,bantu1 : simpul;
begin
if cacah=0 then
begin
writeln(pesan); writeln;
writeln('TEKAN <RETURN> UNTUK KEMBALI KE MENU UTAMA');
repeat until keypressed
end

else
begin
writeln('MENGHAPUS SIMPUL YANG ADA DI TENGAH');
writeln(copy(garis,1,35)); writeln;
writeln('SENARAI BERANTAI SEKARANG BERISI :',cacah:2,' SIMPUL');
repeat

gotoxy(37,5); write('':5);

gotoxy(1,5); write('Akan menghapus simpul nomor berapa: ');

readln(posisi);

until posisi in [1..cacah];
begin

bantu := awal;

for i:=1 to posisi-2 do

bantu:= bantu^.berikut;

bantu1 := bantu^.berikut;

bantu^.berikut := bantu1^.berikut;

bantu1^.berikut := nil;

dispose(bantu1);

end;

end;
end;
procedure BACA_SENARAI;
var bantu : simpul;
i     : integer;
begin
writeln('MEMBACA ISI SENARAI BERANTAI');
writeln('TEKAN <RETURN> UNTUK KEMBALI KE MENU UTAMA');
writeln(copy(garis,1,42)); writeln;
bantu := awal;
if bantu=nil then
writeln(pesan)
else
while bantu <> nil do
begin
writeln('Nama  : ',bantu^.nama);
writeln('No. Antrian: ',bantu^.alamat);
bantu := bantu^.berikut;
end;
repeat until keypressed
end;
{PROGRAM UTAMA}
begin
cacah := 0;
awal := nil;
repeat
pilih := MENU;
clrscr;
case pilih of
'1' : TAMBAH_AWAL(1);
'2' : HAPUS_PERTAMA;
'3' : HAPUS_TENGAH;
'4' : BACA_SENARAI;
end;
if pilih in ['1'] then inc(cacah)
else if (pilih in ['2','3']) and (cacah <> 0) then
dec(cacah)
until pilih='5'
end.

Senin, 07 Mei 2012

Contoh Program Single Linked List Circular


USES Crt;
TYPE Duma = ^data;
data = RECORD
nilai : char;
lagi : Duma;
end;
var jalan : duma;
kar,tom : char;
masuk : boolean;
{---------------------------------------------------------------------}
PROCEDURE Baca(jalan:duma);
var bantu:duma;
begin
bantu:=jalan;
while bantu<>nil do
begin
write(bantu^.nilai,' ');
bantu:=bantu^.lagi;
end;
writeln;
end;
{---------------------------------------------------------------------}
PROCEDURE Masdep(var jalan:duma;kar:char);
var baru:duma;
begin
new(baru);baru^.nilai:=kar;baru^.lagi:=nil;
if jalan=nil then jalan:=baru
else
begin
baru^.lagi:=jalan;
jalan:=baru;
end;
end;
{---------------------------------------------------------------------}
PROCEDURE bacamundur(jalan:duma);
var bantu,baru,lewat : duma;
begin
new(baru);baru^.lagi:=nil;
bantu:=jalan;
if bantu=nil then writeln('Link kosong !')
else
begin
repeat
new(lewat);{lewat^.lagi:=nil;}
lewat^.nilai:=bantu^.nilai;
lewat^.lagi:=baru;
baru:=lewat;
bantu:=bantu^.lagi;
until bantu=nil;
bantu:=baru;
while bantu^.lagi<>nil do
begin
writeln(bantu^.nilai);
bantu:=bantu^.lagi;
end;
end;
end;
{---------------------------------------------------------------------}
PROCEDURE hapus(jalan:duma;kar:char);
var bantu,baru,lewat : duma;
begin
new(baru);baru^.lagi:=nil;
bantu:=jalan;
if bantu=nil then writeln('Link kosong !')
else
begin
repeat
if bantu^.nilai<>kar then
begin
new(lewat);{lewat^.lagi:=nil;}
lewat^.nilai:=bantu^.nilai;
lewat^.lagi:=baru;
baru:=lewat;
end;
bantu:=bantu^.lagi;
until bantu=nil;
bantu:=baru;
while bantu^.lagi<>nil do
begin
writeln(bantu^.nilai);
bantu:=bantu^.lagi;
end;
end;
end;
{---------------------------------------------------------------------}
begin
clrscr;
new(jalan);
jalan^.lagi:=nil;
tom :='Y';
while upcase (tom)='Y' do
begin
repeat
masuk:=true;
write('Masukkan satu huruf, untuk berhenti [T]: ');
kar:=upcase(readkey);writeln(kar);
if kar='T' then masuk:=false;
if masuk=true then masdep(jalan,kar);
until kar='T';
writeln;
write('huruf yang akan dihapus adalah : ');kar:=upcase(readkey);
hapus(jalan,kar);
writeln;
write ('Lagi [Y/T] ? ');readln(tom);
readln;
end;
end.

Senin, 26 Maret 2012

STRUKTUR KENDALI ALIRAN

1. If dengan satu peryataan if(kondisi) then (peryataan) 
2. If dengan 2 atau lebih peryataan if (kondisi) then
    Begin
                    Pernyataan1;
                    Pernyataan2;
    End.
    3. If dan Else
    If (kondisi) then
    Begin
                    Pernyataan1;
                    Pernyataan2;
    End.
    Else
    Begin
                    Pernyataan1;
                    Pernyataan2;
    End;

    Contoh soal :
                    Buat program sederhana dengan pernyataan if untuk menghitug luas dan keliling lingkaran.
    Jawab :
    Uses crt;
    Var
                    Luas, jejari, keliling : Real;
                    Const phi=3.14;
    Begin
                    Writeln (‘1. Luas Lingkaran 2. Keliling Lingkaran’);
    Readln (pilih);
    If pilih=1 then
    Begin
                    Write (‘Masukan jejari =  ‘);readln(jejari);
                    Luas :=phi*jejari*jejari;
    Writeln (‘Luas Lingkaran : ‘,Luas);
    End.

    Kamis, 16 Februari 2012

    Alternate Shell Safe Mode

        Virus biasanya tidak akan dapat aktif bila kita masuk ke safe mode. Itu biasanya! Pada perkembangannya, virus ternyata juga sudah mulai melebarkan sayapnya, mencekal (cegah dan tangkal ) beberapa penanganan safe mode dengan memasangkan pemicu filenya pada beberapa subkey registry. Dengan cara ini, virus akan tetap dijalankan dan mencegah pemakai untuk masuk ke modus SAFEmode! Lokasi subkey registry yang diserang adalah:

    HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SafeBoot

    Selasa, 14 Februari 2012

    Tab Startup msconfig

         Pada tab Startup, akan terlihat kolom Startup item, yang menunjukkan nama item yang akan dijalankan saat Windows diaktifkan. Juga kolom command, yang biasanya berisi program yang diaktifkan plus parameternya jika ada. Sedangkan kolom Location, menunjukkan lokasi subkey (syaraf) registry yang menyimpan setting data ini. Pada contoh terlihat, nama SMTray ternyata adalah milik program yang bernama SMTray.exe dan berada di folder d:\Program Files\Analog Devices\SoundMAX. Virus biasanya akan membuat suatu nilai di sini, agar file yang memicu pengaktif programnya dijalankan saat booting Windows terjadi sehingga penelitian di bagian ini amat penting untuk dilakukan. Celakanya lagi, virus-virus sekarang memasangkan nama itemnya dengan nama yang “berbau-bau” nama file sistem Windows. Hal ini untuk mengelabui pemakai yang memeriksanya. Misalnya, dengan nama windows.exe, svc0host.exe, rundlll.exe dan lain sebagainya. Di sini kejelian kitalah yang menentukan sukses tidaknya mengenali file virus. 

    Kamis, 09 Februari 2012

    Aktif dalam Safe Mode

           Ada subkey registry Windows yang berguna untuk menjalankan suatu program secara otomatis saat Windows dihidupkan. Jadi, jika kita ingin agar suatu file executable aktif saat Windows dihidupkan, maka kita harus menulisi subkey autorun ini dengan suatu nama value yang berisi data yang menyebutkan bahwa file X.EXE adalah file yang harus dieksekusi. X di sini mewakili sembarang nama file EXE. Tools standar milik Windows untuk memeriksa konfigurasi autorun adalah program System Configuration Utility atau lebih dikenal dengan nama msconfig karena file pengaktif program tersebut bernama msconfig.exe. Untuk memanggilnya, dilakukan via perintah Run dari menu Start. Klik Start - pilih Run dan ketikkan msconfig. Tekan Enter atau klik OK. Jendela System Configuration Utility akan muncul dan terlihat beberapa tab. Salah satunya tab Startup. Tab tersebut berguna untuk melihat program apa saja yang akan dijalankan oleh Windows pada saat Windows diaktifkan. Ini dia!
           Virus biasanya akan memblokir penggunaan program ini. Entah itu dengan mematikan pilihan Run atau memonitor caption (judul/nama) jendela program yang sedang aktif. Jika caption program yang sedang aktif adalah sama dengan caption yang telah ditargetkan oleh virus, secara otomatis virus akan segera menutupnya atau mungkin melakukan booting ulang. Sekarang sampeyan tahu sebabnya, bukan? Mengapa saat suatu virus aktif, dan kita memanggil msconfig, tiba-tiba jendela program msconfig menutup dengan sendirinya. Atau mungkin, tiba-tiba, komputer melakukan booting ulang.

    Virus dan Safe Mode

          Safe mode? Ya … Windows biasanya akan diperlengkapi dengan modus safe mode. Dimaksudkan agar pemakai dapat memperbaiki Windows jika terjadi suatu musibah. Windows safe mode sebetulnya tidak lebih dari Windows yang dijalankan dengan driver standar! Sehingga jika terjadi kerewelan pada driverdriver non-standar Windows yang membuat Windows modus standar gagal dijalankan, maka Windows modus standar dapat dipulihkan lagi dengan cara masuk ke modus safe mode. Pada saat dalam modus safe mode inilah, pemakai berkesempatan untuk melakukan eliminasi pada drive non-standar yang bermasalah tersebut. Dengan cara ini, Windows yang rusak akan menjadi normal kembali. Itu harapannya. Melihat fungsinya, tentu saja, modus safe mode ini, juga merupakan ancaman
    bagi kelangsungan hidup virus atau program-program yang suka membuat masalah. Oleh karena itu, modus safe mode ini juga merupakan target utama program virus. Artinya, virus akan berusaha memanipulasi modus safe mode atau bahkan menggagalkan fungsinya!


          Lakukan booting ulang komputer. Pada saat proses booting dimulai, tekanlah tombol F8 secara cepat dan berulangkali.  Sehingga muncul menu boot Windows. Pilihlah Safe Mode, maka proses akan berjalan hingga akhirnya menampilkan pilihan user yang harus digunakan untuk masuk ke Windows safe mode. Pada Windows XP, biasanya akan muncul account Administrator dan account yang kita punya. Pilihlah user Account yang biasa kita pakai. Setelah itu biasanya kita akan ditanya, apakah akan masuk ke modus Safe mode ataukah kita akan memakai fasilitas system restore Windows. Klik Yes, maka kita akan masuk ke mode Windows safe mode. Artinya, Windows akan aktif dengan perangkat apa adanya (standar minimalnya).

    Minggu, 29 Januari 2012

    Aktivasi System Restore

    Sebenarnya secara standar, system restore akan aktif dengan otomatis, setelah Windows berhasil diinstal. Aktifnya system restore membutuhkan minimal 200 MB pada setiap partisi. Jika ruang yang ada tidak mencukupi, maka secara otomatis pula system restore akan dinonaktifkan, sampai kapasitas ruang kembali mencukupi.
    Bagaimana bila ingin mengontrol (mengaktifkan atau mematikan) system restore?
    Proses kontrol ini dapat dilakukan secara manual, bila Anda inginkan. Caranya ikuti langkah berikut:
    1. Klik kanan pada My Computer, lalu pilih Properties.
    2. Pada jendela Properties, pilih halaman System Restore.
    3. Pada halaman ini, Anda dapat mematikan semua system restore pada partisi dengan memberikan tanda centang pada opsi Turn off system restore on all drives (di bagian paling atas). Atau secara manual mematikan system restore satu per satu pada masing-masing partisi. Caranya:
    a. Pilih partisi yang ada di kolom Available drives. Lalu tekan tombol Settings di sebelah kanan.
    b. Kemudian berikan tanda centang pada opsi turn off System Resore on this drive.
    c. Sebagai catatan: pada partisi di mana Windows diinstal hal ini tidak dapat dilakukan. Satu-satunya cara mematikan partisi ini adalah dengan mengikuti langkah ketiga di mana system restore pada semua partisi ikut dimatikan.

    Jumat, 20 Januari 2012

    Bagaimana virus menginfeksi exe.

    Virus Komputer
         Terkadang kita bingung bagaimana sich virus itu bisa menyebar di komputer kita dan menimbulkan berbagai kerusakan di software dan windows kita untuk itu kita perlu tahu cara virus tersebut bisa menginfeksi komputer kita agar kita dapat mengatasinya secara cepat sebelum masuk dan merusak kinerja komputer kita oleh karena saya menyediakan sebuah informasi bagi pembaca yang ingin tahu bagaimana virus menginfeksi exe. silahkan klik download

    Rabu, 11 Januari 2012

    Pengertian Game Komputer

           Game komputer merupakan permainan komputer yang dibuat dengan teknik, metode animasi dan imajinasi dari pembuatnya . Game sangat asik dimainkan jika dalam susana jenuh atau bosan, tapi apakah anda tau bahwa game bukan hanya sekedar permainan yang asik dimainkan saja tetapi game bisa juga dikatakan sebuah media yang mengenalkan anak-anak pada komputer dan elektronik serta media yang dapat membantu kecerdasan anak. 


    Penyebab komputer lambat dan cara mengatasi_Nya

    Ada beberapa penyebab komputer lambat yaitu :

    • Komputer lambat karena kekurangan Memory 
         Untuk itu coba cek kapasitas memory yang terpasang dikomputer anda, untuk komputer sekelas Intel Pentium 4 dengan OS Windows XP dan aplikasi standar sebaiknya upgrade-lah memory menjadi minimal 1 GB.  

    • Komputer lambat karena terlalu banyaknya program yang terinstall 
         Cobalah untuk menginstall bermacam-macam program didalam computer anda, padahal aplikasi tersebut tidak pernah terpakai hanya menambah beban pada computer. Dan usahkan untuk meng-uninstall/remove program yang tidak terpakai.