Jumat, 30 Desember 2011

Program penyimpanan data pelanggan dan barang dengan file bertipe Pascal.

Mungkin tepatnya sebuah tugas yang mau tidak mau harus dikerjakan ini, yang mengharuskan memelekkan mata ampe pagi, menghabiskan kopi ber'ton ton dan menghabiskan rokok bergudang gudang, demi terciptanya program sederhana yang acak kadut ini, tapi mungkin disini lah halte untuk berangkat ke masa depan yang lebih baik :D ...
(okek saya rasa cukup curhatnya,,,,, :D )

Mungkin bagi yang sedang belajar bahasa pemerograman pascal akan bertemu dengan data terstruktur pascal yang bernama file, file itu sendiri dibagi menjadi tiga jenis, yaitu file bertipe, tidak bertipe dan file text, disini saya tidak akan menulis tentang bagai mana semua struktur file itu, silahkan kawan sekalian tanya ke mbah google, pasti lebih cespleng disini saya cuman akan berbagi source code program menggunakan file...
berikut source code programnya...
Program Data_Pelanggan;
Uses Crt;
Type pelanggan = Record 
       ID      : Word; 
       Nama    : String[20];        
       biaya   : Real;
       nopol   : array[1..20] of char; 
       alamat  : string[20];
       tanggal : byte;
       bulan   : string;
     End;
Type Barang    = RECORD
     IdBar     : integer;
     NamaBar   : string[50];
     HargaBar  : real;
     banyak    : integer;
     End;

Var filepel  : File of pelanggan;
    filetemp : File of pelanggan;
    FileBar  : File of Barang;
    FileTemp2: File of Barang;
    Data2    : Barang;
    Data     : pelanggan;
    Pil,Ul   : Char;

const garis = '===========================================================';

Procedure Menu;
Begin 
  Clrscr; 
  Gotoxy(34,1);
  Write('MENU PILIHAN');
  Gotoxy(34,2);
  Write('============');
  Gotoxy(27,4);
  Write('1. Tambah Data Pelanggan');
  Gotoxy(27,5);
  Write('2. Edit Data Pelanggan');
  Gotoxy(27,6);
  Write('3. Hapus Data Pelanggan');
  Gotoxy(27,7);
  Write('4. Tampilkan Data Pelanggan');
  Gotoxy(27,8);
  Write('5. Tampil data pelanggan Berdasarkan ID');
  Gotoxy(27,9);
  Gotoxy(27,10);
  Gotoxy(34,11);
  Write('MENU DATA BARANG');
  Gotoxy(34,12);
  Write('================');
  Gotoxy(27,13);
  Write('6. Tambah Data Barang');
  Gotoxy(27,14);
  Write('7. Tampil Data Barang');
  Gotoxy(27,15);
  Write('8. Tampil Data Barang Berdasarkan ID');
  Gotoxy(27,17);
  Write('9. Keluar (Exit)');
  Gotoxy(27,19);
  Write('Pilihan [1..9]: ');Pil:=Readkey;
End;

Procedure Menu1;
Begin
  Clrscr; 
  Gotoxy(34,1);
  Write(' MENU UTAMA');
  Gotoxy(34,2);
  Write('============');
  Gotoxy(27,4);
  Write('1. Data Pelanggan');
  Gotoxy(27,5);
  Write('2. Data Barang');
  Gotoxy(27,7);
  Write('9. Keluar (Exit)');
  Gotoxy(32,12);
  Write('Pilihan [1..9]: ');Pil:=Readkey;
End;

Procedure BukaFile;
Begin 
  Assign(Filepel,'pel.TXT'); 
  {$I-}; 
  Reset(Filepel);
  {$I+};
End;

Procedure BukaFileBar;
Begin
  Assign(FileBar,'Bar.TXT');
  {$I-};
  Reset (FileBar);
  {$I+};
End;

Procedure TambahBarang;

Var Lagi  : Char;
    Ada   : Boolean;
    i,o,a : Integer;
    nomor : Word;
Begin
  Ul:='Y';
  Lagi:='Y';
  Clrscr;

  BukaFileBar;
  If IOResult<>0 Then
     Rewrite(FileBar);

  Repeat
    Clrscr;
    Ada:=False;
    i:=0;

    Gotoxy(30,1);
    Write('TAMBAH DATA BARANG');
    Gotoxy(30,2);
    Write('==================');
    Gotoxy(30,3);
    Write('No. ID Barang      : ');
    Readln(nomor);
    While (Ada=False) and (i<>Filesize(Filebar)) Do
          Begin
            seek (FileBar,i);
            Read (FileBar,Data2);
            if Data2.IdBar = nomor Then
               Ada := True
            Else
                Inc (i);
            End;
          IF (Ada=True) Then
          Begin
          Gotoxy(20,9);
          Write ('Nomor ID Barang ",nomor," ini Sudah Ada..!');
          end
           Else
           Begin
                Seek(FileBar,Filesize(FileBar));
                 Data2.IdBar := nomor;
                 Gotoxy(20,5);
                 Write('Nama Barang    : ');
                 Readln(Data2.NamaBar);
                 Gotoxy(20,6);
                 Write('Harga Barang   : $');
                 Readln(Data2.HargaBar);
                 Gotoxy(20,7);
                 write('Banyaknya      : ');
                 Readln(Data2.banyak);
                 Write(FileBar,Data2);
          End;
        Gotoxy(20,13);
        Write('Mau Tambah Data LAgi juragan [Y/T] : '); Lagi := upcase(ReadKey);
        until Lagi <> 'Y';
        Close (FileBar);
     End;

Procedure Tambah;
Var Lagi  : Char;
    Ada   : Boolean;
    i,o,a : Integer;
    nomor : Word;
Begin
  Ul:='Y'; 
  Lagi:='Y'; 
  Clrscr; 
 
  BukaFile; 
  If IOResult<>0 Then 
     Rewrite(Filepel);

  Repeat
    Clrscr;
    Ada:=False;
    i:=0;
    Gotoxy(30,1);
    Write('TAMBAH DATA PELANGGAN');
    Gotoxy(30,2);
    Write('=====================');
    Gotoxy(20,4);
    Write('No. ID Pelanggan  : ');Readln(nomor);
    While (Ada=False) And (i<>Filesize(Filepel)) Do
      Begin
        Seek(Filepel,i);
        Read(Filepel,Data);
        If Data.id=nomor Then
           Ada:=True
        Else
           Inc(i);
      End;
    If (Ada=True) Then
      Begin
Gotoxy(20,9);Write('Nomor ID Pelanggan "',nomor,'" Ini Sudah Ada!');
      End
    Else
      Begin
        Seek(Filepel,Filesize(Filepel));
        Data.id:=nomor;
        Gotoxy(20,5);
        Write('Nama Pelanggan     : ');
        Readln(Data.Nama);
        Gotoxy(20,6);
        Write('Biaya BEngkel      : $');
        Readln(Data.biaya);
        Gotoxy(20,7);
        Write('Alamat             : ');
        Readln(Data.alamat);
 Gotoxy(20,8);
        write('Tanggal Reg.       : ');
        Readln(Data.tanggal);
 Gotoxy(20,9);
        Write('Bulan Reg.         : ');
        Readln(Data.bulan);
        Gotoxy(20,10);
        write('Silahkan masukkan banyak No.Pol.: ');
        Readln(o);
        for a:=1 to o do
        begin
  Gotoxy(21,a+10);
         Write('No. Pol. Kendaraan ke- ',a,' : ');
         readln;
        end;
        
        Write(Filepel,Data);
      End;  
    Gotoxy(20,13);
    Write('Mau Tambah Data Lagi Juragan [Y/T]:');Lagi:=Upcase(Readkey);
  Until Lagi<>'Y'; 
  Close(Filepel); 
End;

Procedure Edit;
Var Lagi: Char;
    Ada : Boolean;
    i,o,a   : Integer;
    nomor: Word;
Begin
  Ul:='Y';
  Lagi:='Y';
  Clrscr;

  BukaFile;
  If IOResult<>0 Then
     Write('Data Masih Kosong Juragan...!')
  Else
    Begin
      Repeat
        Clrscr;
        Ada:=False;
        i:=0;
        Gotoxy(30,1);
        Write('EDIT DATA PELANGGAN');
        Gotoxy(30,2);
        Write('=====================');
        Gotoxy(20,4);Write('No. ID Pelanggan  : ');
        Readln(nomor);
        While (Ada=False) And (i<>Filesize(Filepel)) Do
          Begin
            Seek(Filepel,i);
            Read(Filepel,Data);
            If Data.id=nomor Then
               Begin
                 Ada:=True;
                 Gotoxy(20,5);
                 Write('Nama Pelanggan : ',Data.Nama);
                 Gotoxy(20,6);
                 Write('Biaya Bengkel  : $',Data.biaya:1:2);
                 Gotoxy(20,7);
                 Write('Alamat         : ',Data.alamat);
   Gotoxy(20,8);
                 write('Tanggal Reg.   : ',Data.tanggal);
                 Gotoxy(20,8);
                 Write('Bulan Reg.     : ',Data.bulan);
                 for a:=1 to FileSize(Filepel) do
          Gotoxy(21,11);
                 Write('No. Pol. Kendaraan ke- ',a,' : ',Data.nopol[a]);
                 end
            Else
               Inc(i); 
          End; 
        If (Ada=True) Then 
          Begin 
            Data.id:=nomor; 
            Gotoxy(20,12);
            Write('Nama Pelanggan : ');
            Readln(Data.Nama);
            Gotoxy(20,14);
            Write('Biaya BEngkel  : $');
            Readln(Data.biaya);
     Gotoxy(20,15);
            Write('Alamat         : ');
            Readln(Data.alamat);
            Gotoxy(20,16);
     write('Tanggal Reg.   : ');
            Readln(Data.tanggal);
            Seek(Filepel,i);
            Write(Filepel,Data);
          End
        Else
          Begin
            Gotoxy(20,16);Write('Nomor Mahasiswa "',nomor,'" Ini Tidak Ada Gan..!');
          End;
        Gotoxy(20,17);Write('Mau Edit Data Lagi [Y/T]: ');Lagi:=Upcase(Readkey);
      Until Lagi<>'Y';
    End;
  Close(Filepel);
End;

Procedure Hapus ;
Var
   a : word;
   i : integer;
   ketemu : boolean;
   lg : string;
begin
     clrscr;
     Assign(filetemp, 'temp.dat') ;
     {$I-} Reset(filetemp) ;
     {$I+} if ioresult<> 0 then Rewrite(filetemp) ;
     BukaFile;

     Rewrite(filetemp) ;
     Repeat
           clrscr;
           GotoXY(27,5) ; Write('    HAPUS DATA PELANGGAN');
           GotoXY(27,6) ; Write('=============================') ;
           GotoXY(27,7) ; Write('ID. Pelanggan yang akan dihapus  : ')  ; Readln(a) ;
           Data.id := a;
           i := 1;
           seek(filepel,0) ; ketemu := false ;
           while not eof(filepel) do
           begin
               seek(filepel,i-1); read (filepel, Data) ;
               if Data.id = a then
               begin
                    ketemu := true ;
               end
               else
               begin
                    seek(filetemp,filesize(filetemp));
                    write(filetemp,Data) ;
               end;
               inc(i);
           end;
           i := 1;
           rewrite(filepel) ;
           seek(filetemp,0) ;
           while not eof(filetemp) do
           begin
               seek(filetemp,i-1); read (filetemp, Data) ;

               seek(filepel,filesize(filepel));
               write(filepel,data) ;
               inc(i);
           end;

           if not ketemu then
           begin
                GotoXY(27,8) ; Write('Data ini tidak ada Juragan..!!')
           end
           else
           begin
                GotoXY(27,9) ; Write('Data ini sudah di hapus Juragan..')
           end;
           GotoXY(27,12); Write('Input Lagi [Y/T] : ')  ; lg := upcase (readkey);
     Until lg <> 'Y';
     close(filetemp) ;
     close(filepel) ;
end;


Function RataBiaya(Tbiaya:Real;n:integer):Real;
Begin
  RataBiaya:=Tbiaya/n;
End;

Procedure TampilBarang;
Var i    : Integer;

Begin
clrscr;
  Ul:='Y';
  BukaFileBar;
  If IoResult <>  0 Then
     Writeln('Maaf Data Masih Kosong Juragan...! ')
  Else
    Begin
      Clrscr;
      Writeln('                   DATA BARANG                   ');
      Writeln;
      writeln(garis);
      Writeln(' NO   ID                NAMA    HARGA    Pcs ');
      writeln(garis);
      i:=0;
      While Not EoF(FileBar) Do
        Begin
          Inc(i);
          Read(FileBar,Data2);
          Writeln(i:3,Data2.idBar:6,Data2.NamaBar:20,Data2.hargaBar:8:2,Data2.banyak:10,Data.tanggal:8);
        End;
      writeln(garis);

      writeln(garis);
      Close(FileBar);
     End;

  Writeln;
  Write('Hajar Enter untuk melanjutkan...');Readkey;
End;

Procedure tampil_idBarang;
Var i    : Integer;
    a : integer;
    Lagi : Char;
Begin
  Ul:='Y';
  Lagi:='Y';
  Repeat
    Clrscr;
    Write('Silahkan masukkan ID Barang yang anda cari : ');Readln(a);
    BukaFileBar;
    If IoResult <>  0 Then
       Write('Maaf Data Masih Kosong Gan,,,! ')
    Else
      Begin
        Writeln(' NO   ID                NAMA    HARGA    Pcs ');
      writeln(garis);
      i:=0;
      While Not EoF(FileBar) Do
        Begin
          Read(FileBar,Data2);
          if Data2.idBar = a then
        Begin
          Inc(i);
          Writeln(i:3,Data2.idBar:6,Data2.NamaBar:20,Data2.hargaBar:1:2,Data2.banyak:10,Data.tanggal:8);
        End;
        end;
      writeln(garis);
      Close(FileBar);
     End;

    Writeln; 
    Write('Mau Lihat Data Lagi Gan [Y/T]: ');Lagi:=Upcase(Readkey); 
  Until Lagi<>'Y';
End; 

Procedure Tampil;
Var i    : Integer;
    Tbiaya : Real;
Begin
clrscr;
  Ul:='Y';
  Tbiaya:=0;
  BukaFile;
  If IoResult <>  0 Then
     Writeln('Maaf Data Masih Kosong Juragan...! ')
  Else
    Begin
      Clrscr;
      Writeln('                  DATA PELANGGAN                  ');
      Writeln;
      writeln(garis);
      Writeln(' NO   ID                NAMA    BIAYA      ALAMAT   T.REG. ');
      writeln(garis);
      i:=0;
      While Not EoF(Filepel) Do
        Begin
          Inc(i);
          Read(Filepel,Data);

          Writeln(i:3,Data.id:6,Data.Nama:20,Data.biaya:8:2,Data.alamat:10,Data.tanggal:8);
          Tbiaya:=Tbiaya+Data.biaya;
        End;
      writeln(garis);
      Writeln('Rata-Rata pendapatan sampai saat ini adalah: $',Ratabiaya(Tbiaya,i):1:2);
      writeln('Total Pendapatan sampai saat ini adalah    : $',Tbiaya:1:2);
      writeln(garis);
      Close(Filepel);
     End; 

  Writeln; 
  Write('Hajar Enter untuk melanjutkan...');Readkey;
End; 
 
Procedure tampil_id;
Var i    : Integer; 
    a : Byte; 
    Lagi : Char;
Begin
  Ul:='Y'; 
  Lagi:='Y'; 
  Repeat  
    Clrscr; 
    Write('Silahkan masukkan ID yang anda cari : ');Readln(a);
    BukaFile; 
    If IoResult <>  0 Then 
       Write('Maaf Data Masih Kosong Gan,,,! ')
    Else 
      Begin       
        Writeln('                    DATA PELANGGAN                  ');
        Writeln; 
        writeln(garis);
        Writeln(' NO   ID                NAMA    BIAYA      ALAMAT    T.REG');
        writeln(garis);
        i:=0;
        While Not EoF(Filepel) Do 
          Begin             
            Read(Filepel,Data); 
            If Data.id=a then 
               Begin
                 Inc(i); 

                 Writeln(i:3,Data.id:6,Data.Nama:20,Data.biaya:8:2,Data.alamat:10,Data.tanggal:10);
               End;
          End; 
        writeln(garis);
      Close(Filepel); 
     End; 
    Writeln; 
    Write('Mau Lihat Data Lagi Gan [Y/T]: ');Lagi:=Upcase(Readkey); 
  Until Lagi<>'Y'; 
End; 
 

Begin 
  Repeat
    Menu;
    case Pil of
    '1'  : Tambah;
    '2'  : Edit;
    '3'  : Hapus;
    '4'  : Tampil;
    '5'  : tampil_id;
    '6'  : TambahBarang;
    '7'  : tampilBarang;
    '8'  : tampil_idBarang;
    end;
  Until (Ul<>'Y') Or (Pil='9');
End.

Silahkan dicopas, jika rekan menggunakan editor turbo pascal, silahkan di coding ulang ampe mata copot.. hehe, (sebenernya bisa di akali :D )
Tapi bagi rekan yang menggukan platform linux, cukup copas di editor text dan meng'compailnya menggunakan fpc seperti di ubuntu, dan sintax pascal berjalan dimulti platform tampa harus edit-edit...

Kamis, 29 Desember 2011

Fungsi Library time.h pada C++

Ternyata memang benar, masalah membuat kita menjadi lebih baik.. :D
Sedikit mernemukan kesilitan saat mengerjakan tugas pemerograman terstruktur, sehingga harus bertanya pada sang Mbah programer, yaitu google.. heuheu, memang layak disebut mbah, karna ketepatannya dalam menjawab masalah (loh..! kok malah bahas si Mbah yach,,, heuheu) okek langsung saja berikut fungsi time.h untuk menghitung waktu mundur...

#include 
#include 

void antosan ( int detik )
{
  clock_t endwait;
  endwait = clock () + detik * CLOCKS_PER_SEC ;
  while (clock() < endwait) {}
}

int main ()
{
  int n;
  printf ("Mulai menghitung mundur juragan...\n");
  for (n=10; n>0; n--)
  {
    printf ("%d\n",n);
    antosan (1);
  }
  printf ("awasss meledak... tuuuutt!!!\n");
  return 0;
} 
Silahkan selebihnya anda explorasi sendiri.. :)

Senin, 26 Desember 2011

Operasi String Pada C++

Sebenarnya sebuah logika program sudah ada dalam otak manusia masing-masing, tinggal merangsang dan mengeluarkannya saja ( sotoy mode on :D), tapi ya tetap saya walau begitu, perlu banyak berlatih dan membiasakan diri, seperti coretan kecil ini, kata pepatah jadul (:D), ikatlah ilmu dengan menuliskannya, berpedoman dari pepatah itu jadilah postingan ini.. hehe, terlebih jika akan ujian gak perlu browsing kemana-mana untuk mencari contekan, jika soalnya kebetulan sama dan tidak diketahui oleh pengawas uas kalo bawa hp ke kelas.. hahaha....

Ini Program sederhana pengaplikasian string c++

#include  
#include  
#include  
 
void main() 
{ 
    char *str1="Naya",*str2="Kartika",*str3,*str4; 
    char *posisi,huruf='a'; 
    int panjang,hasil; 
 
    clrscr(); 
    printf("Nilai dari str1 : %s\n",str1); 
    printf("Nilai dari str2 : %s\n",str2); 
    panjang=strlen(str1); 
    printf("\nPanjang string str1 : %d\n",panjang);getch(); 
    strcpy(str3,str1); 
    printf("\nNilai dari str3 hasil copy dari str1 : %s\n",str3);getch(); 
    hasil=strcmp(str1,str2); 
    printf("\nHasil perbandingan %s vs %s : %d artinya \n",str1,str2,hasil); 
    if(hasil==0) 
    printf("Kedua string tersebut sama\n"); 
    else if(hasil>0) 
    printf("String %s > string %s \n",str1,str2); 
    else 
    printf("String %s < string %s \n",str1,str2); 
    getch(); 
 
    posisi=strchr(str1,huruf); 
 
    if(posisi) 
  printf("\nhuruf %c berada pada posisi %d di kata %s\n",huruf,posisi-str1,str1); 
    else 
  printf("\nHuruf %c Tidak ditemukan kata %s\n",huruf,str1);getch(); 
 
    posisi=strstr(str1,str2); 
 
    if(posisi) 
  printf("\nString %s berada pada posisi %d pada kata %s \n",str2,posisi-str1,str1); 
    else 
  printf("\nString %s Tidak ditemukan pada kata %s\n",str2,str1); 
    getch(); 
 
    strcpy(str4,str1); 
    printf("\nKata %s di-Upper-kan jadi %s \n",str1,strupr(str4));getch(); 
 
    strcpy(str4,str2); 
    printf("\nKata %s di-Lower-kan jadi %s \n",str2,strlwr(str4));getch(); 
} 

Senin, 19 Desember 2011

Mencari suatu data dari file (penyimpanan) di pascal

Mungkin yang sudah atau yang lagi belajar pascal akan dan pasti bertemu dengan yang namanya "file" dalam pemerograman pascal, baik itu file bertipe, tidak bertipe atau file text, berikut ini sedikit program mencari suatu data barang yang sebelumnya data barang sudah di inputkan oleh user, agar tidak lupa dan mudah diingat maka saya tulis saja disini.. :D


Program Berkas_data_barang;
uses crt;
type datbar = record
kobar  : integer;
nabar  : string;
harga  : longint;
end;
var
filedatbar : file of datbar;
data       : datbar;
pil, ul    : char;


Procedure bukafile;
begin
Assign (filedatbar,'datbar.TXT');
{$I-};
Reset (filedatbar);
{$I+};
End;

procedure tambah;
var
lagi : char;
ada  : boolean;
i    : integer;
nocr : word;
Begin
ul         := 'Y';
Lagi       := 'Y';
clrscr;

bukafile;
if IOResult <> 0 then
rewrite (filedatbar);

repeat
clrscr;
ada := false;
i := 0;
write ('No kode barang : '); readln (nocr);
while (ada = false) and (i<> filesize(filedatbar)) do
begin
seek (filedatbar,i);
read (filedatbar,data);
if data.kobar=nocr then
ada := true
else
inc (i);
end;
if (ada = true) then
begin
write ('Kode barang', nocr, 'ini sudah ada..!!');
end
else
begin
seek (filedatbar,filesize(filedatbar));
data.kobar := nocr;
write ('nama barang : '); readln (data.nabar);
write ('Silahkan masukan harga : '); readln (data.harga);
write (filedatbar,data);
end;
write ('tambah data lagi [Y/T] : '); lagi := Upcase (Readkey);
until lagi <> 'Y';
close (filedatbar);
end;

Procedure tampil;
var
i    : integer;
Begin
ul := 'Y';
bukafile;
if IoResult <> 0 Then
write ('Maaf Data masih kosong')
else
begin;
i := 0;
while not EOF (filedatbar) do
begin
Inc (i);
Read(filedatbar,data);
writeln ('Kode barangnya adalah : ', data.kobar);
writeln ('Nama barangnya adalah : ', data.nabar);
writeln ('Harga' , data.nabar ,' adalah     : Rp.', data.harga);
writeln (' ');
end;
close (filedatbar);
end;
end;

Procedure cari_barang;
var
i, ko : integer;
lagi     : char;
Begin
ul := 'Y';
lagi := 'Y';
Repeat
Write ('Silahkan Masukan Kode barang yang anda Cari : ');
readln (ko);
bukafile; {pemanggilan Prosedur buka file}
If IoResult <> 0 Then
write ('Maaf Mas Bro kode barang tidak ada..!')
else
begin
i := 0;
while not EOF (filedatbar) do
begin
read (filedatbar,data);
if data.kobar = ko then
begin
Inc (i);
writeln ('Kode barangnya adalah : ', data.kobar);
writeln ('Nama barangnya adalah : ', data.nabar);
writeln ('Harga' , data.nabar ,' adalah     : Rp.', data.harga);
writeln (' ')
end;

end;
close (filedatbar);
end;
writeln;
Write ('Mau mencari barang lagi.. ??? '); lagi :=upcase (readkey);
until lagi <> 'Y';
end;


Begin
clrscr;
repeat
writeln ('DAFTAR MENU PROGRAM');
writeln;
write ('1. Tambah data barang.');
writeln;
write ('2. Tampilkan semua data barang.');
writeln;
write ('3. Tampilkan data barang berdasarkan kode barang.');
writeln;
write ('4. Keluar.');
writeln;
Write ('Silahkan Masukan No. menu = '); readln (pil);
case pil of
'1'    : tambah;
'2'    : tampil;
'3'    : cari_barang;
end;
until (ul <> 'Y') or (pil='4');

end.

Selasa, 22 November 2011

Apa itu Header.

Pertama mendengar kata "header" pada saat belajar bahasa pemerograman c++, pada versi lama file header biasanya diakhiri dengan ekstensi ".h", dikampus disebutkan bahwa file yang seperti itu adalah header, tapi tidak di jelaskan apa header itu sendiri, karena rasa penasaran akhirnya eyang google memberikan pencerahan seperti ini.. :D

Di bidang jaringan komputer dan TI (teknologi informasi), header didefinisikan sebagai bagian dari data yang masuk di depan sesuatu yang lain. Hal ini biasanya diulang sebagai bagian standar dari proses lain. Sebuah header yang dapat dibuat dari berbagai bidang, masing-masing terdiri dari nilai itu sendiri. Empat umum menggunakan untuk header: 

1. Untuk dokumen - header adalah kombinasi dari teks dan gambar yang dapat dirancang untuk muncul di bagian atas halaman ketika ditampilkan atau dicetak

2. Untuk email - header adalah bagian dari pesan yang menggambarkan pengirim, penerima, tingkat pentingnya dan sebagainya 

3. Untuk file komputer - header dapat menjadi bidang yang datang sebelum isi dari file utama. Dalam skenario ini mungkin menggambarkan panjang konten dan karakteristik lainnya 

4. Untuk jaringan transmisi - header mendahului sepotong data atau sinyal kontrol. Ini berisi rincian tentang unit file atau transmisi seperti panjang dan apakah atau tidak file lain secara fisik atau logis terkait dengan itu.

Semoga bermanfaat.

Senin, 21 November 2011

Ubuntu 11.10 dengan tampilan yang lebih mewah..

Sebuah perubahan yang dihadirkan dalam ubuntu 11.10 terutama yang terasa bagi saya adalah tampilan yang begitu indah dan memukau, dengan panel dekstop sebelah kiri yang elegan, memberikan kesempurnaan dalam menarik perhatian mata, terutama yang sudah terkunci di lingkungan windows,  rekan rekan yang susah buat diajak pakai ubuntu, sehingga kalo ada tugas coding di kuliah gak bisa copas haha... karna kan dari file headernya juga berbeda, berikut sedikit review saya yang di dapat dari berbagai sumber, tentang fitur baru ubuntu 11.10, bagi yang akan menambahkan, monggo di tunggu.


Fitur-fitur menarik lainnya pada Ubuntu 11.10:

    * Peningkatan keindahan desktop; Ditenagai oleh Unity panel dan peluncurnya yang kini telah diporting ke GTK3.
    * Dua metode login; Anda dapat memilih menggunakan antar muka 3D atau 2D.
    * Layar login baru; Ubuntu 11.10 kini telah menggunakan LighDM, sebuah login manager yang ringan dan indah.
    * Fungsi kombinasi tombol Alt+Tab baru.
    * Empat belas wallpaper baru.
    * Ubuntu Software Center baru; Telah didesain ulang dengan antar muka yang lebih profesional.
    * Mozailla Firefox 7; Versi terbaru dari web browser populer dari Mozilla.
    * Mozailla Thunderbird 7; Pengelola email dari Mozilla yang kini telah menjadi default email client untuk Ubuntu 11.10.
    * Deja Dup; Perangkat pencadangan baru.
    * Dukungan Multiarch; Kompatibilitas yang lebih baik untuk arsitektur 32-bit pada sistem 64-bit.
    * Mendukung arsitektur ARM; Hanya untuk versi Server.
    * Dan berbagai fitur menarik lainnya.


salam..

apa itu Telnet.

Sebuah kata yang terlontar dari salah satu taman di satu fakultas ilmu komputer universitas singaperbangsa karawang, yang entah apa arti yang tepat untuk menerjemahkan kata kata dia itu, tantangan ataukah hanya gurauan semata, hmmm, jadi sedikit curhat... :D

tapi pasti selalu ada hikmah dari setiap kejadian, tantangan yang mengarah dan memojokan itu yang membuat penasaran saya, dari namanya saja "telnet" benar-benar asing (maklumlah saya masih ingusan di dunia IT :D), setelah mencari di buku besar programer dan akhirnya tahu apa itu telnet, oke langsung aja, saya mengutip dari beberapa sumber di google.



PENGERTIAN TELNET
Telnet (Telecommunication network) adalah sebuah protokol jaringan yang digunakan di
koneksi Internet atau Local Area Network. TELNET dikembangkan pada 1969 dan
distandarisasi sebagai IETF STD 8, salah satu standar Internet pertama. TELNET
memiliki beberapa keterbatasan yang dianggap sebagai risiko keamanan.
Apa itu telnet
Telnet adalah aplikasi remote login Internet. Telnet digunakan untuk login
ke komputer lain di Internet dan mengakses berbagai macam pelayanan umum,
termasuk katalog perpustakaan dan berbagai macam database. Telnet
memungkinkan pengguna untuk duduk didepan
komputer yang terkoneksi ke internet dan mengakses komputer lain yang juga
terkoneksi ke internet. Dengan kata lain koneksi dapat terjadi ke mesin lain
di satu ruangan, satu kampus, bahkan setiap komputer di seluruh dunia.
Setelah terkoneksi, input yang diberikan pada keyboard akan mengontrol
langsung ke remote computer tadi. Akan dapat diakses pelayanan apapun yang
disediakan oleh remote machine dan hasilnya ditampilkan pada terminal lokal.
Dapat dijalankan session interaktif normal (login, eksekusi command), atau
dapat diakses berbagai service seperti: melihat catalog dari sebuah
perpustakaan, akses ke teks dari USA today, dan masih banyak lagi service
yang disediakan oleh masing-masing host pada di network.
TELNET menggunakan 2 program, yang satu adalah client (telnet) dan server
(telnetd). Yang terjadi adalah ada dua program yang berjalan, yaitu software client yang
dijalankan pada komputer yang meminta pelayanan tersebut dan software server yang dijalankan
oleh komputer yang menghasilkan pelayanan tadi
Tugas dari client adalah:
. Membuat koneksi network TCP (Transfer Control Protocol) dengan server.
. Menerima inputan dari user
. Menformat kembali inputan dari user kemudian mengubah dalam bentuk format
standard dan dikirim ke server.
. Menerima output dari server dalam format standard.
. Mengubah format output tadi untuk ditampilkan pada layar.
- Menginformasikan software jaringan bahwa komputer itu siap menerima
koneksi.
- Menunggu permintaan dalam bentuk format standard.
- Melaksanakan permintaan tersebut.
- Mengirim kembali hasil ke client dalam bentuk format standard.
- Menunggu permintaan selanjutnya..
Telnet menggunakan koneksi pada Port Destination=23. Untuk interaksi banyak
mesin maka dpat diganbarkan sebagai berikut :
Telnet adalah program yang memungkinkan komputer host Internet anda menjadi
terminal dari komputer host lain di Internet. Dengan ftp anda dapat membuka
koneksi hanya untuk mentransfer file. Telnet memungkinkan anda untuk login
sebagai pemakai pada komputer jarak jauh dan menjalankan program layanan Internet yang disediakan oleh komputer tersebut. Telnet menyediakan akses langsung ke beragam layanan di Internet.
Komputer host anda memang menyediakan beragam layanan, namun jika layanan
tersebut tidak ada, anda bisa menggunakannya melalui Telnet. Misalnya ketika masyarakat Internet
menulis interface untuk membantu pengguna lain, Telnet memungkinkan anda
mengakses host mereka dan menggunakan interface yang mereka buat. Demikian
juga ketika seorang membuat layanan yang bermanfaat, Telnet memungkinkan
anda mengakses sumber daya informasi yang berharga ini.
Cara pengunaan Telnet Cara penggunaan Telnet ini sangat mudah, anda ketik telnet diikuti dengan
alamat yang ingin anda hubungi bila menggunakan UNIX atau klik icon Telnet
di Windows kemudian pilih menu connect kemudian remote system.
Contoh :
1. Menggunakan UNIX
% telnet well.sf.ca.us
Trying 198.93.4.0...
Connected to well.sf.ca.us.
Escape character is '^]'.
Unix(r) System V Release 4.0 (well)
This is the WELL
Type newuser to sign up.
Type trouble if you are having trouble logging in.
Type guest to learn about the WELL.
If you already have a WELL account, type your username.
Login: |
Jika sudah tersambung berarti sudah berada di terminal pada komputer jarak
jauh tersebut dan bisa berinteraksi dengan program yang tersedia. Telnet
secara diam-diam ada di belakang layar saat anda berinteraksi dengan
komputer jarak jauh tersebut. Dalam kebanyakan kasus, perintah yang perlu
diketahui adalah perintah yang digunakan pada host jarak jauh. Host
kemungkinan menjalankan Unix, meskipun anda juga dapat menjumpai sistem
operasi lain pada server host seperti UMS atau Windows NT. Sebagian besar
sistem, terutama database, menawarkan menu. Apabila menu tidak tersedia,
maka lebih baik amati file bantu (help) yang tersedia. Dapat diketikan ?
atau help atau cukup h untuk mengamati apakah file bantu tersedia. Untuk
mengakhiri sesi Telnet ketik quit atau exit, pada beberapa sistem
menggunakan bye atau off. Bila menggunakan Windows tergantung program yang
digunakan misal WinTel, tinggal click pada Icon program yang bersangkutan
Contoh lain (dengan putty)
bisa menggunakan putty untuk telnet client yang bisa kamu download di
download.com
dan yara penggunaannya mudah
1. tinggal jalankan putty
2. masukan alamat server host
3. pilih telnet dengan default port 32
4. dan klik open
5. kemudian akan muncul halaman hitam dengan 1 cursor dan menu
bertuliskan login :
6. silahkan login dan anda akan masuk ke host yang di tuju
Contoh lain (command windows)
untuk contoh putty di windows command juga cukup mudah
1. masuk ke command windows (pilih start -> run -> ketikan cmd
kemudian enter)
2. di command window ketikan c:\telnet host_tujuan kemudian enter ,
contoh "c:\telnet 192.168.0.1"
3. kemudian ada tulisan : Welcome to Microsoft Telnet Client
Escape Character is 'CTRL+]'
You are about to send your password information to a remote computer
in Internet zone. This might not be safe. Do you want to send anyway(y/n):
4. pilih saja "n" dan tekan enter
5. setelah itu akan muncul menu login "loginlah dengan acount anda"
6. selesai

semoga bermanfaat, (terutama bagi orang yang seperti saya :D)









Minggu, 20 November 2011

tes tes tes...

ARGUMEN DAN METODE PENARIKAN KESIMPULAN

=> salah jika p benar q salah
<=> benar jika q ^ p bernilai sama

metode penarikan kesimpulan

Jika pintu kereta api ditutup, lalu lintas akan berhenti.
Jika lalu lintas berhenti, akan terjadi kemacetan lalu lintas.
Pintu kereta api ditutup.
Jadi, terdapat kemacetan lalu lintas.

Misal:
p : pintu kereta api ditutup
q : lalu lintas akan berhenti
r : terjadi kemacetan lalu lintas
Simbol untuk argument diatas adalah:
p⇒q
q⇒r
p
∴r
Proses pembuktian validitas argument diatas adalah sebagai berikut:
1. p ⇒ q Pr
2. q ⇒ r Pr
3. p Pr / ∴r
4. q 1,3 MP
5. r 2,4 MP


aturan penukaran

Susunlah bukti formal validitas argument berikut
( p ∨ q) ⇒ ( r ∧ s)
~r
∴~ q
Proses pembuktian validitas argument diatas adalah sebagai berikut:
1. ( p ∨ q) ⇒ ( r ∧ s) Pr
2. ~ r                          Pr / ∴~ q
3. ~ r ∨ ~ s                2, Add
4. ~ (r ∧ s)               3, de M
5. ~ (p ∨ q)                 1,4 MT
6. ~ p ∧ ~ q                  5, de M
7. ~ q ∧ ~ p                   6, Kom
8. ~ q  7, Simp


TURAN PEMBUKTIAN KONDISIONAL (Rule of Conditional Proof).

Penerapan aturan pembuktian kondisional, akan diperoleh argument
A ⇒ (B ⇒ C)
C ⇒ (D ∧ E)
A
B
/ ∴D
Proses pembuktian validitas argument diatas adalah sebagai berikut:
1. A ⇒ (B ⇒ C)                         Pr
2. C ⇒ (D ∧ E)                         Pr / ∴A ⇒(B ⇒D)
3. A   Pr / ∴ B ⇒D (CP)
4. B   Pr / ∴ D  (CP)
5. B ⇒ C  1,3 MP
6. C   4,5 MP
7. D ∧ E
8. D  7, Simp


ATURAN PEMBUKTIAN TIDAK LANGSUNG

Susunan pembuktian tidak langsung untuk memperlihatkan validitas argument berikut
P⇒Q  P
Q⇒R  ∴R

Jawab:
1. P ⇒ Q Pr
2. Q ⇒ R
3. P  Pr / ∴R
4. ~ R  IP
5. ~ Q  2,4 MT
6. ~P  1,5 MT
7. P ∧ ~P  3,6 Konj
Baris (7) adalah suatu kontradiksi



PEMBUKTIAN INVALIDITAS ARGUMEN (METODE PENETAPAN
NILAI KEBENARAN)


Contoh:
Buktikan bahwa argument berikut tidak valid.
P∨Q
Q∨R
∴P∨R
Jawab:
Langkah 1: Ubah argument diatas menjadi pernyataan kondisional yang
berkoresponden dengan argument diatas.
[ (P ∨ Q) ∧ (Q ∨ R) ] ⇒ (P ∨ R)
Langkah 2 : Beri nilai T pada premis-premis dan F pada konklusi
Bahan kuliah logika matematika
6
[ (P ∨ Q) ∧ (Q ∨ R) ] ⇒ (P ∨ R)
T
T
F
F
Langkah 3 : Turunkan nilai kebenaran dari setiap variabel yang ada pada argument
tersebut (pilih pernyataan yang hanya mempunyai satu kemungkinan). Dalam contoh
diatas kita bisa langsung memberi nilai pada variabel P dan R karena (P ∨ R) akan
bernilai salah hanya jika P salah dan R salah.
[ (P ∨ Q) ∧ (Q ∨ R) ] ⇒ (P ∨ R)
FT
TF
FFF
Langkah 4 : Dari hasil dari langkah (3), kita dapat menurunkan nilai kebenaran
untuk Q yaitu benar.
[ (P ∨ Q) ∧ (Q ∨ R) ] ⇒ (P ∨ R)
FT T            TTF              FFF
Langkah diatas menunjukan bahwa argument tersebut tidak valid.
Disisi lain metode ini juga dapat digunakan untuk menujukan argument yang valid.
Artinya, jika kita mengikuti langkah diatas ternyata pada akhirnya menimbulkan hal
yang bersifat kontradiksi, maka argument yang akan diselidiki tersebut valid.
Contoh:
P∨Q
~P
∴Q
Jawab:
Langkah 1:
Langkah 2:
[(P ∨ Q) ∧ ~ P ] ⇒ Q
T
T
F
[(P ∨ Q) ∧ ~ P ] ⇒ Q
T F T
F
Langkah 3:
[(P ∨ Q) ∧ ~ P ] ⇒ Q
T F TF
F
Langkah 4:
[(P ∨ Q) ∧ ~ P ] ⇒ Q
FTF TF
F
Timbul kontradiksi karena (P ∨ Q) yang bernilai benar tidak mungkin terjadi jika P
salah dan Q salah. Akibatnya, argument diatas valid.


KALIMAT BERKUANTOR


Contoh 2.8 :
1. ”Semua tanaman hijau membutuhkan air untuk tumbuh ”.
• Jika x adalah tanaman hijau, maka x membutuhkan air untuk
tumbuh
Tanaman hijau(x) ⇒ membutuhkan air untuk tumbuh(x)
• (∀x) (Tanaman hijau(x) ⇒ membutuhkan air untuk tumbuh(x))
• (∀x)(T(x) ⇒ A(x))



KALIMAT BERKUANTOR

(a). Semua pria mencintai wanita
Kalimat diatas sama artinya dengan
Untuk semua x, y , jika x adalah pria dan y adalah wanita, maka x mencintai y.
Misal: p(x) : x adalah pria
w(y) : y adalah wanita
r(x,y) : x mencintai y
maka simbol untuk pernyataan diatas adalah:
(∀x) (∀y) [( p(x) ∧ w(y) ) ⇒ r(x,y)]
(b). Semua wanita mencintai semua pria.
(∀x) (∀y) [( p(x) ∧ w(y) ) ⇒ r(y,x)]
(c). Beberapa pria mencintai beberapa wanita.
Kalimat diatas sama artinya dengan
Terdapatlah x dan y sedemikian sehingga x adalah pria dan y adalah wanita dan x
mencintai y.
Simbol pernyataan diatas adalah:
(∃x) (∃y) [ p(x) ∧ w(y) ∧ r(x,y)]
Bahan Kuliah Logika Matematika
Kun Siwi Trilestari, S.Kom
3
(d). Semua pria mencintai beberapa wanita
Kalimat diatas sama artinya dengan
Untuk setiap x, jika x adalah pria, maka terdapat y sedemikian sehingga y adalah
wanita dan x mencintai y.
Simbol pernyataan diatas adalah
(∀x) [ p(x) ⇒ (∃y) (w(y) ∧ r(x,y))]
(e). Beberapa pria mencintai semua wanita
Kalimat diatas sama artinya dengan
Terdapatlah x sedemikian sehingga x adalah pria dan untuk setiap y, jika y adalah
wanita, maka x mencintai y.
Simbol pernyataan diatas adalah
(∃x) [ p(x) ∧ (∀y) ( w(y) ⇒ r(x,y))]
Kalimat diatas juga mempunyai arti yang sama dengan kalimat
Untuk semua x, jika x adalah wanita, maka terdapatlah y sedemikian sehingga y
adalah pria dan y mencintai x.
yang mempunyai simbol
(∀x) [ w(x) ⇒ (∃y) (p(y) ∧ r(y,x))]

PEMBUKTIAN VALIDITAS ARGUMENT BERKUANTOR
Untuk menyusun bukti langsung validitas sebuah argument yang mengandung
kuantor dan fungsi proposisi, kita memerlukan aturan tambahan baru. Ada empat
aturan tambahan, yaitu:
1. Universal Instantion (UI)
(∀x) M(x)
∴M(a)
(a adalah lambang individual)
2. Universal Generalization (UG)
M(a)
∴(∀x) M(x)
3. Existential Generalization (EG)
M(a)
∴(∃x) M(x)
4. Existential Instantiation (EI)
(∃x) M(x)
∴M(y)
(y adalah konstanta individual selain ‘a’ yang tidak pernah
muncul dalam pembuktian)
Contoh 1:
Semua kucing adalah hewan menyusui.
Puppy adalah seekor kucing.
Jadi, Puppy adalah hewan menyusui.
Pembuktian dapat dilakukan dengan langkah berikut:
1. (∀x) (K(x) ⇒ H(x))
Pr
2. K(p) Pr / ∴H(p)
3. K(p) ⇒ H(p) 1, UI
4. H(p) 2,3 MP
Bahan Kuliah Logika Matematika
Kun Siwi Trilestari, S.Kom
2
Contoh 2:
Semua bilangan cacah adalah bilangan real.
Tak ada bilangan real yang habis dibagi nol.
Jadi, tak ada bilangan cacah yang habis dibagi nol.
Langkah pembuktian argument diatas adalah:
1. (∀x) (A(x) ⇒ B(x)) Pr
2. (∀x) (B(x) ⇒ ~ C(x)) Pr / ∴(∀x) (A(x) ⇒ ~C(x))
3. A(a) ⇒ B(a) UI
4. B(a) ⇒ ~ C(a) UI
5. A(a) ⇒ ~ C(a) 3,4 HS
6. (∀x) (A(x) ⇒ ~C(x)) 5 UG