Tipe Data dan Operator Pada Delphi


Tipe Data
Tipe Data adalah suatu aturan dalam delphi untuk menentukan jenis dari sebuah variabel. 
Berikut dijelaskan secara singkat beberapa tipe data yang dikenal dalam borland Delphi.

# Tipe data Integer
Adalah bentuk tipe data untuk variabel yang mempunyai nilai bilangan bulat. Perhatikan tabel dibawah ini.
Tipe
Jangkauan
ShortInt
-128 s/d 127
SmallInt
-32768 s/d 32767
LongInt
-21474836448 s/d 21474836447
Int64
-2 x E+63 s/d 2 x E-63-1
Byte
0 s/d 255
Word
0 s/d 65535

 
# Tipe Data Real
Adalah bentuk tipe data untuk variabel yang mempunyai nilai pecahan desimal. Lihat tabel.

Tipe
Jangkauan
Real48
2.9 x E-39 s/d 1.7 x E+38
Single
1.5 x E-45 s/d 3.4 x E+38
Double
5.0 x E-324 s/d 1.7 x E+308
Extended
3.6 x E-4951 s/d 1.1 x E+4932
Comp
-2^63+1 s/d 2^63-1
Currency
-922337203685477.5808 s/d 922337203685477.5807

 
#Tipe Data Boolean
Adalah tipe data yang mempunyai nilai true dan false.

Tipe
Penyimpanan memori
Boolean
1
ByteBool
1
WordBool
2
LongBool
4

 
#Tipe Data String
Adalah bentuk tipe data yang menyimpan karakter atau tulisan.

Tipe
Jangkauan
ShortString
255 karakter
AnsiString
-2^31 karakter
WideString
-2^30 karakter

 
Operator 
Operator adalah bentuk-bentuk penugasan pada sebuah ekspresi program, sebagai contoh:
Diberikan sebuah ekspresi sebagai berikut "2+4" maka yang disebut operatornya adalah tanda (+).
Dibawah ini dijelaskan beberapa operator yang dikenal dalam Borland Delphi.

#Operator Aritmatik
Operator aritmatik adalah jenis operator yang berfungsi untuk melakukan operasi matematika.seperti perkalian, pembagian, penjumlahan, pengurangan, sisa bagi dan pembagian pada bilangan bulat.
Operator Aritmatik seperti  +,-,*,/,mod,div
Dimana 'div' adalah pembagian bilangan bulat. seperti contoh 7 div 2 = 3
dan mod adalah sisa hasil bagi. seperti contoh 7 mod 2 = 1

#Operator Pembanding
Adalah suatu bentuk operator yang berfungsi untuk membandingkan dua buah nilai. Hasil perbandingan dua buah nilai ini menghasilkan nilai true atau false.

Operator
Keterangan
contoh penggunaan
'>'
Lebih dari
4>2 hasilnya T. 4>4 hasilnya F
'>='
Lebih dari sama dengan
4>=2 hasilnya T. 4>=4 hasilnya T
'<'
Kurang dari
2<4 hasilnya T. 2<2 hasilnya F
'<='
Kurang dari sama dengan
2<=4 hasilnya T. 2<=2 hasilnya T
'='
sama dengan
2=4 hasilnya F. 2=2 hasilnya T
'<>'
Tidak sama dengan
2<>4 hasilnya T. 2<>2 hasilnya F

#Operator Logikal
Bentuk operator Logikal yaitu AND (pernyataan DAN), OR (pernyataan ATAU), dan NOT (pernyataan TIDAK). Ketiga operator ini merupakan bentuk dari operator logikal yang akan menghasilkan nilai true dan false saat digunakan.
sumber:http://andry-pein.blogspot.com

20 Tips Sukses Menjadi Programmer


Apakah anda ingin menjadi seorang programmer?? Atau anda memang sedang belajar tentang programming?? Berikut sedikit tips, bagaimana menjadi programmer yang sukses dan handal.

  1. Modal awal untuk belajar pemrograman adalah Motivasi. Kalau motivasi untuk belajar motivasi besar, Selamat! Anda adalah calon seorang programmer handal. Fokus selanjutnya adalah mengasah skill untuk belajar pemrograman. Terus pertahankan motivasi yang telah dimiliki. Jangan sampai motivasi ini pupus ketika menemui kegagalan.
  2. Jangan mudah menyerah. Memang belajar pemrograman adalah tidak mudah. Butuh perjuangan, kerja keras, serta pengalaman (jam terbang). Jangan mudah menyerah ketika banyak error yang muncul ketika membuat program.
  3. Jangan sekali-kali menganggap pemrograman itu adalah sepenuhnya pelajaran ‘Menghapal’. Memang betul, menghapal juga diperlukan yaitu ketika menghapalkan sintaks dan aturan penulisan dalam program. Tapi secara prinsip, pemrograman adalah pelajaran cara berpikir dan logika bagaimana menyelesaikan masalah.
  4. Jangan hanya menjadi tukang ketik. Ketika dosen memberikan contoh program di kelas atau ketika praktikum, jangan hanya memandang setiap barisan kode program tersebut sebagai angin lalu dan hanya Anda pindahkan ke kertas atau komputer. Kalau hanya demikian, sama halnya dengan belajar menjadi tukang ketik. Coba pahami setiap baris kode dan alur program yang dituliskan guru atau dosen Anda. Kalau sudah paham, coba tulis program menurut versi sendiri ke buku atau komputer. Apabila hal ini dilakukan, maka secara tidak sadar telah melatih logika berpikir dan belajar menuangkan logika berpikir ke dalam bentuk program.
  5. Untuk mendukung pembelajaran, coba cari orang yang mau mengajari. Ketika menemui masalah dalam belajar pemrograman. Bisa teman dekat, teman di internet atau bahkan guru dan dosen atau siapapun yang dekat dan memahami hal yang ditanyakan.
  6. Jangan mengandalkan tatap muka di kelas. Materi pemrograman sangatlah luas. Apa yang diberikan dosen ketika kuliah itu sangatlah kecil cakupannya dibandingkan keseluruhan ilmu pemrograman. Cobalah eksplorasi sendiri segala hal tentang pemrograman. Ada banyak referensi di internet yang membahas tentang tips dan trik serta teknik dalam pemrograman.
  7. Carilah komunitas yang fokus dengan pemrograman. Di internet ada banyak forum diskusi via web atau mailing list yang membahas tentang pemrograman. Ingat bahwa orang yang sering bergaul dengan penjual minyak wangi maka dia akan ikut menjadi wangi. So, kita adopsi hal ini, banyak-banyaklah bergaul dengan orang dalam komunitas yang sama-sama interest dengan pemrograman.
  8. Sangat disarankan memiliki komputer sendiri di rumah atau di kost. Seperti yang telah saya jelaskan di atas bahwa untuk menguasai pemrograman butuh pengalaman dan jam terbang yang banyak dalam membuat progam. Kalau tidak memiliki komputer sendiri, bagaimana bisa menambah jam terbangnya? Untuk belajar pemrograman tidaklah harus membutuhkan komputer dengan spesifikasi tinggi. Cukup komputer Pentium III saja itu sudah bisa, kecuali belajar program yang memang butuh spesifikasi besar misalnya programan berbasis visual. Oya, jangan sekali-kali mengandalkan jam praktikum di laboratorium karena waktu penggunaannya sangat-sangat terbatas. Anggap saja ketika beli komputer adalah sebagai investasi jangka panjang. Yakinlah suatu saat modal untuk membeli komputer itu akan balik kembali, atau malah akan memberikan return of investment yang jauh lebih besar.
  9. Jangan hanya mengandalkan catatan atau modul yang diberikan oleh dosen. Isi modul yang ditulis oleh dosen itu rata-rata masih sedikit kontennya. Berusahalah mencari referensi sendiri terkait dengan pemrograman. Toh saat ini sudah banyak buku-buku yang mengulas tentang pemrograman. Kalau ingin yang gratis, coba cari referensi di internet karena tersedia banyak free ebook yang bisa didownload.
  10. Sebagai pemrogrammer harus selalu ingat kepada yang maha kuasa, agar jangan lupa tetap menunaikan ibadah. Knowledge come from The Creator, semakin dekat anda dengan Tuhan, semakin berguna enjoy dalam melakukan pemrograman.
  11. Seorang programmer harus bisa mengatur (memprogram) diri nya – self programming. Dalam hal kepribadianya, contoh : kapan waktu makan, kapan waktu tidur, kapan waktu beribadah, dan kapan waktu untuk berkumpul dengan keluarga – tidak coding terus. Harus memprogram waktu dengan baik.
  12. Seorang programmer harus bisa menjaga kesehatan. Karena logika tidak bisa berjalan tanpa logistik, jadi makanan pun harus diperhatikan, teratur dan bergizi dengan begitu otak kita bisa berfikir secara jernih dan cerdas.
  13. Jangan hanya fokus untuk menguntungkan diri sendiri. Programer seperti itu adalah programmer yg egois. Karena suatu saat ia harus mengetahui bakat yg ia gunakan, haruslah berguna bagi orang lain.
  14. Layaknya seorang ilmuwan, programer juga harus terus mencari permasalahan dalam suatu program dan mencari pemecahan atas masalah tersebut.
  15. Mulailah belajar pemrograman dengan logika-logika dasar yang kuat. Seorang programmer harus selalu bisa mengatasi masalah dan memberikan solusi selama itu masih logic, kecuali yang magic-magic lupakan saja, contoh: memindahkan monas ke papua / memindahkan taman mini ke dalam saku.
  16. Jangan takut untuk gagal. Setiap programmer pasti pernah mengalami kesulitan / bahkan mengalami kegagalan dalam menyelesaikan suatu project. Maybe, itulah jalan menuju kesuksesan. Yang secara tidak langsung tanpa Anda sadari.
  17. Luangkan waktu sejenak untuk me-refresh otak, pikiran dan tenaga. Tak jarang programmer yang stres, terlalu memaksakan sistem kerja otak tanpa istirahat yang rutin, dikarenakan dikejar deadline.
  18. Jangan takut untuk “copy paste”. Tidak diharuskan seorang programmer menulis coding manual. Disamping untuk mempersingkat waktu, disini seorang programmer di tuntut untuk mengembangkan kreatifitas. Banyak atau bahkan hampir setiap programmer menggunakan berbagai macam template.
  19. Tapi juga jangan hanya asal copy paste. Rata-rata orang yang asal copy paste program itu tidak berusaha memahami program yang dia copy. Coba pahami dahulu program yang diperoleh terutama pada algoritmanya, kalau bisa tulis kembali program tersebut menurut versi Anda. Boleh sih copy paste, asal juga berusaha memahami makna program di dalamnya. Syukur-syukur kalau Anda memodifikasi kode programnya.
  20. Jangan lupa mengamalkannya. Karena ilmu tidak diamalkan bagaikan pohon tidak berbuah, berbagilah (ilmu tidak akan habis walau dibagi kepada seberapa banyak orang) bahkan dengan ilmu derajat kita akan terangkat.

sumber : http://kangaries.blogspot.com/

Mengenal IP Address, Subnet Mask, Default Gateway dan DNS

Salam bahagia teman-teman, semoga selalu dalam keadaan sehat. Pada kesempatan kali ini, aku akan berbagi pengetahuan terkait Apa itu IP Address, Subnet Mask, Default Gateway dan DNS. Ya mengingat kita selama ini mungkin cuma tau secara dasar kegunaannya, tanpa tahu konsep dari istilah tersebut secara teori. Jadi mari kita sama-sama belajar memahaminya.
IP ADDRESS
Alamat IP (Internet Protocol Address) atau sering disingkat IP adalah deretan angka biner antar 32-bit sampai 128-bit yang dipakai sebagai alamat identifikasi untuk tiap komputer host dalam jaringan Internet. Panjang dari angka ini adalah 32-bit (untuk IPv4) dan 128-bit (untuk IPv6) yang menunjukkan alamat dari komputer tersebut pada jaringan Internet berbasis TCP/IP. Internet Assigned Numbers Authority (IANA) yang mengelola alokasi alamat IP global.
Dalam pengertian lain, Internet Protocol (IP) Address dapat diartikan alamat numerik yang ditetapkan untuk sebuah komputer yang berpartisipasi dalam jaringan komputer yang memanfaatkan Internet Protocol untuk komunikasi antara node-nya.
IP Address
Walaupun alamat IP disimpan sebagai angka biner, mereka biasanya ditampilkan agar memudahkan manusia menggunakan notasi, seperti 208.77.188.166 (untuk IPv4), dan 2001: db8: 0:1234:0:567:1:1 (untuk IPv6). Internet Protocol juga memiliki tugas routing paket data antara jaringan, alamat IP dan menentukan lokasi dari node sumber dan node tujuan dalam topologi dari sistem routing. Untuk tujuan ini, beberapa bit pada alamat IP yang digunakan untuk menunjuk sebuah subnetwork. Jumlah bit ini ditunjukkan dalam notasi CIDR, yang ditambahkan ke alamat IP, misalnya: 208.77.188.166/24.
Pengiriman data dalam jaringan TCP/IP berdasarkan IP address komputer pengirim dan komputer penerima. ip address memiliki dua bagian, yaitu alamat jaringan (network address) dan alamat komputer lokal (host address) dalam sebuah jaringan.

Alamat jaringan digunakan oleh router untuk mencari jaringan tempat sebuah komputer lokal berada, semantara alamat komputer lokal digunakan untuk mengenali sebuah komputer pada jaringan lokal. Sistem pengalamatan IP ini terbagi menjadi dua, yakni:.

1. Alamat IP versi 4 (IPv4)
Alamat IP versi 4 (IPv4) adalah sebuah jenis pengalamatan jaringan yang digunakan di dalam protokol jaringan TCP/IP yang menggunakan protokol IP versi 4. Panjang totalnya adalah 32-bit, dan secara teoritis dapat mengalamati hingga 4 miliar host komputer atau lebih tepatnya 4.294.967.296 host di seluruh dunia.
Jumlah host tersebut didapatkan dari 256 (didapatkan dari 8 bit) dipangkat 4 (karena terdapat 4 oktet) sehingga nilai maksimal dari alamt IP versi 4 tersebut adalah 255.255.255.255 dimana nilai dihitung dari nol. Sehingga nilai nilai host yang dapat ditampung adalah 256x256x256x256=4.294.967.296 host. Jadi bila host yang ada diseluruh dunia melebihi kuota tersebut maka dibuatlah IP versi 6 atau IPv6.

2. Alamat IP versi 6 (IPv6)
Berbeda dengan IPv4 yang hanya memiliki panjang 32-bit (jumlah total alamat yang dapat dicapainya mencapai 4,294,967,296 alamat), IPv6 memiliki panjang 128-bit. Meskipun total alamatnya mencapai 4 miliar, pada kenyataannya tidak sampai 4 miliar alamat karena ada beberapa limitasi, sehingga implementasinya saat ini hanya mencapai beberapa ratus juta saja.

IPv6, yang memiliki panjang 128-bit, memiliki total alamat yang mungkin hingga 2128=3,4 x 1038 alamat. Total alamat yang sangat besar ini bertujuan untuk menyediakan ruang alamat yang tidak akan habis (hingga beberapa masa ke depan), dan membentuk infrastruktur routing yang disusun secara hirarki, sehingga mengurangi kompleksitas proses routing dan tabel routing.
Default Gateway Router pict
Sama seperti halnya IPv4, IPv6 juga mengizinkan adanya DHCP Server sebagai pengatur alamat otomatis. Jika dalam IPv4 terdapat dynamic address dan static address, maka dalam IPv6, konfigurasi alamat dengan menggunakan DHCP Server dinamakan dengan stateful address configuration, sementara jika konfigurasi alamat IPv6 tanpa DHCP Server dinamakan dengan stateless address configuration.

Seperti halnya IPv4 yang menggunakan bit-bit pada tingkat tinggi (high-order bit) sebagai alamat jaringan. Sementara bit-bit pada tingkat rendah (low-order bit) sebagai alamat host, dalam IPv6 juga terjadi hal serupa. Dalam IPv6, bit-bit pada tingkat tinggi akan digunakan sebagai tanda pengenal jenis alamat IPv6, yang disebut dengan Format Prefix (FP). Dalam IPv6, tidak ada subnet mask, yang ada hanyalah Format Prefix. Pengalamatan IPv6 didefinisikan dalam RFC 2373.

SUBNET MASK
Subnet Mask merupakan istilah teknologi informasi dalam bahasa Inggris yang mengacu kepada angka biner 32 bit yang digunakan untuk membedakan network ID dengan host ID, menunjukkan letak suatu host, apakah berada di jaringan lokal atau jaringan luar.
Subnet Mask Class pict
RFC 950 mendefinisikan penggunaan sebuah subnet mask yang disebut juga sebagai sebuah address mask sebagai sebuah nilai 32-bit yang digunakan untuk membedakan network identifier dari host identifier di dalam sebuah alamat IP. Bit-bit subnet mask yang didefinisikan, adalah sebagai berikut:
•    Semua bit yang ditujukan agar digunakan oleh network identifier diset ke nilai 1.
•    Semua bit yang ditujukan agar digunakan oleh host identifier diset ke nilai 0.

Setiap host di dalam sebuah jaringan yang menggunakan TCP/IP membutuhkan sebuah subnet mask meskipun berada di dalam sebuah jaringan dengan satu segmen saja. Entah itu subnet mask default (yang digunakan ketika memakai network identifier berbasis kelas) ataupun subnet mask yang dikustomisasi (yang digunakan ketika membuat sebuah subnet atau supernet) harus dikonfigurasikan di dalam setiap node TCP/IP.

DEFAULT GATEWAY
Gateway adalah komputer yang memiliki minimal 2 buah network interface untuk menghubungkan 2 buah jaringan atau lebih. Di Internet, suatu alamat bisa ditempuh lewat gateway-gateway yang memberikan jalan/rute ke arah mana yang harus dilalui supaya paket data sampai ke tujuan.

Kebanyakan gateway menjalankan routing daemon (program yang mengupdate secara dinamis tabel routing). Karena itu gateway juga biasanya berfungsi sebagai router. Gateway/router bisa berbentuk Router Box seperti yang di produksi Cisco, 3COM, dll atau bisa juga berupa komputer yang menjalankan Network Operating System plus routing daemon. Misalkan PC yang dipasang Unix FreeBSD dan menjalankan program Routed atau Gated. Namun dalam pemakaian Natd, routing daemon tidak perlu dijalankan, jadi cukup dipasang gateway saja. Karena gateway/router mengatur lalu lintas paket data antar jaringan, maka di dalamnya bisa dipasang mekanisme pembatasan atau pengamanan (filtering) paket-paket data. Mekanisme ini disebut Firewall.
Default Gateway pict
Sebenarnya Firewall adalah suatu program yang dijalankan di gateway/router yang bertugas memeriksa setiap paket data yang lewat, kemudian membandingkannya dengan rule yang diterapkan dan akhirnya memutuskan apakah paket data tersebut boleh diteruskan atau ditolak. Tujuan dasarnya adalah sebagai security yang melindungi jaringan internal dari ancaman dari luar. Namun dalam tulisan ini Firewall digunakan sebagai basis untuk menjalankan Network Address Translation (NAT).

Dalam FreeBSD, program yang dijalankan sebagai Firewall adalah ipfw. Sebelum dapat menjalankan ipfw, kernel generic harus dimodifikasi supaya mendukung fungsi firewall. Ipfw mengatur lalu lintas paket data berdasarkan IP asal, IP tujuan, nomor port, dan jenis protocol. Untuk menjalankan NAT, option IPDIVERT harus diaktifkan dalam kernel.

Alamat ini digunakan untuk mengirim/menerima informasi yang harus diketahui oleh seluruh host yang ada pada suatu jaringan. Seperti diketahui, setiap paket IP memiliki header alamat tujuan berupa IP Address dari host yang akan dituju oleh paket tersebut. Dengan adanya alamat ini, maka hanya host tujuan saja yang memproses paket tersebut, sedangkan host lain akan mengabaikannya. Bagaimana jika suatu host ingin mengirim paket kepada seluruh host yang ada pada jaringannya? Tidak efisien jika ia harus membuat replikasi paket sebanyak jumlah host tujuan. Pemakaian bandwidth/jalur akan meningkat dan beban kerja host pengirim bertambah, padahal isi paket-paket tersebut sama. Oleh karena itu, dibuat konsep broadcast address. Host cukup mengirim ke alamat broadcast, maka seluruh host yang ada pada network akan menerima paket tersebut. Konsekuensinya, seluruh host pada jaringan yang sama harus memiliki broadcast address yang sama dan alamat tersebut tidak boleh digunakan sebagai nomor IP untuk host tertentu.

Jadi, sebenarnya setiap host memiliki 2 alamat untuk menerima paket: pertama adalah nomor IP yang bersifat unik dan kedua adalah broadcast address pada jaringan tempat host tersebut berada. Broadcast address diperoleh dengan membuat seluruh bit host pada nomor IP menjadi 1. Jadi, untuk host dengan IP address 167.205.9.35 atau 167.205.240.2, broadcast addressnya adalah 167.205.255.255 (2 segmen terakhir dari IP Address tersebut dibuat berharga 11111111.11111111, sehingga secara desimal terbaca 255.255). Jenis informasi yang dibroadcast biasanya adalah informasi routing.

DNS
DNS (Domain Name System) atau Sistem Penamaan Domain merupakan sebuah sistem yang menyimpan informasi tentang nama host maupun nama domain dalam bentuk basis data tersebar (distributed database) di dalam jaringan komputer, misalkan: Internet. DNS menyediakan alamat IP untuk setiap nama host dan mendata setiap server transmisi surat (mail exchange server) yang menerima surat elektronik (email) untuk setiap domain.
DNS Domain Name Server pict
DNS menyediakan servis yang cukup penting untuk Internet, bilamana perangkat keras komputer dan jaringan bekerja dengan alamat IP untuk mengerjakan tugas seperti pengalamatan dan penjaluran (routing), manusia pada umumnya lebih memilih untuk menggunakan nama host dan nama domain, contohnya adalah penunjukan sumber universal (URL) dan alamat e-mail. DNS menghubungkan kebutuhan ini.

Sekian dulu ilmu komputer dan internet yang dapat aku bagikan yang aku kumpulkan dari berbagai sumber, terkait Mengenal IP Address, Subnet Mask, Default Gateway dan DNS, semoga bermanfaat bagi teman-teman. Untuk ilmu dan pengetahuan menarik lainnya, silahkan stay on terus karena masih banyak wawasan yang bermanfaat lainnya.

EXAMPP



XAMPP Girlie We've released the new version of XAMPP 1.7.7, including:

  • Apache 2.2.21
  • MySQL 5.5.16
  • PHP 5.3.8
  • phpMyAdmin 3.4.5
  • FileZilla FTP Server 0.9.39
  • Tomcat 7.0.21 (with mod_proxy_ajp as connector)
Download older versions of XAMPP (even the "old" WAMPP) directly from SourceForge.
See also:
»FAQ - Vista problems«
Vista Note:
Because of missing or insufficient write permissions in "C:\Program Files", we recommend to use alternate folder for XAMPP ("C:\xampp" or "C:\meinverzeichnis\xampp").

Jump-off point

Download
XAMPP
XAMPP Add-Ons
XAMPP USB Lite
The Installation
Method A: Installation with the Installer
Method B: "Installation" without the Installer
I want to start XAMPP without setup
The Practice
Start, stop, test the XAMPP servers
Installing a particular server as as service
The XAMPP upgrades
A matter of security (A MUST READ!)
The XAMPP security console
The Uninstallation
Method A: The Installer version
Method B: The ZIP & 7zip versions
Basic Questions
Question 1: What is the "Lite" version of XAMPP?
Question 2: Where should I place my web content?
Question 3: Can I move the XAMPP installation?
Question 4: "automatic start pages" for the WWW directories?
Question 5: Where can I change the configuration?
READ ME
Where can I get more information (FAQs, etc.)?
What is where?

Download

* XAMPP

XAMPP for Windows exists in three different flavors:
Installer
Probably the most comfortable way to install XAMPP.
ZIP:
For purists: XAMPP as ordinary ZIP archive.
7zip:
For purists with low bandwidth: XAMPP as 7zip archive.
See also: »FAQ - virus warnings« Attention: If you extract the files, there can be false-positives virus warnings.
XAMPP for Windows 1.7.7, 20.9.2011

Version

Size

Content
XAMPP Windows 1.7.7 Apache 2.2.21, MySQL 5.5.16, PHP 5.3.8, OpenSSL 1.0.0e, phpMyAdmin 3.4.5, XAMPP Control Panel 2.5, Webalizer 2.23-04, Mercury Mail Transport System v4.72, FileZilla FTP Server 0.9.39, Tomcat 7.0.21 (with mod_proxy_ajp as connector)
For Windows 2000, XP, Vista, 7.
Installer 81 MB Installer
MD5 checksum: 4500884a3bd21343fc69fcef2f4577be
ZIP 149 MB ZIP archive
MD5 checksum: 19c858c350f79a19f049d85128367f0c
7zip 69 MB 7zip archive
MD5 checksum: f8c3ce82a34a408115de552c4686a098

* XAMPP Add-Ons

The following packages are extensions (add-ons) for the above XAMPP package. You don't need them for normal work.
XAMPP for Windows Add-Ons
Version Size Content
Tomcat Add-On Since XAMPP 1.7.4 part of the basic package.
Perl Add-On Since XAMPP 1.7.2 part of the basic package.

* XAMPP USB Lite

"XAMPP Lite" s an additional extra small XAMPP edition. Configured with relative paths you can use it on usb devices.
XAMPP portable
Version Size Content
XAMPP USB Lite 1.7.7 Apache 2.2.21, MySQL 5.5.16, PHP 5.3.8, phpMyAdmin 3.4.5, OpenSSL 1.0.0e, XAMPP Control Panel 2.5 (lite version)
For Windows 2000, XP, Vista, 7.
EXE 52 MB Self-extracting archiv
MD5 checksum: 7dc46ca4432c1f75f04975630515c136
7zip 42 MB 7ZIP archiv
MD5 checksum: 4d506c707fac3422b3cf05ce511f91b3
ZIP 107 MB ZIP archiv
MD5 checksum: 8751aa606d7a2951bff5064657b9fb94

The Installation

* Method A: Installation with the Installer

Using the installer version is the easiest way to install XAMPP.


After the installation is complete, you will find XAMPP under Start | Programs | XAMPP. You can use the XAMPP Control Panel to start/stop all server and also install/uninstall services.

The XAMPP control panel for start/stop Apache, MySQL, FilaZilla & Mercury or install these server as services.

* Method B: "Installation" without the Installer

Unzip the zip archives into the folder of your choice. XAMPP is extracting to the subdirectory "[Ziel]\xampp" below the selected target directory. Now start the file "setup_xampp.bat", to adjust the XAMPP configuration to your system.
If you choose a root directory "C:\" as target, you must not start "setup_xampp.bat".
Like with the installer version, you can now use the "XAMPP Control Panel" for additional tasks.

* I want to start XAMPP without setup

If you extract XAMPP in a top level folder like "C:\" or "D:\", you can start most servers like Apache or MySQL directly without execution of the file "setup_xampp.bat".
Not using the setup script, or selecting relative paths in the setup script, is preferred if you are installing XAMPP on a usb drive. Because on each pc such a drive can have an other drive letter. You can switch from absolute to relative paths at any time with the setup script.

The Practice

* Start, stop, test the XAMPP servers

The universal control center is the "XAMPP Control Panel" (thanks www.nat32.com). It is started with:
\xampp\xampp-control.exe
As you know this from older XAMPP versions, you can also use some batchfiles to start/stop the servers:
Apache & MySQL start:
\xampp\xampp_start.exe
Apache & MySQL stop:
\xampp\xampp_stop.exe
Nur Apache start:
\xampp\apache_start.bat
Nur Apache stop:
\xampp\apache_stop.bat
Nur MySQL start:
\xampp\mysql_start.bat
Nur MySQL stop:
\xampp\mysql_stop.bat
Mercury Mailserver start:
\xampp\mercury_start.bat
Mercury Mailserver stop:
\xampp\mercury_stop.bat
FileZilla Server start:
\xampp\filezilla_start.bat
FileZilla Server stop:
\xampp\filezilla_stop.bat

Test

After starting of Apache (and MySQL), go to the address http://localhost/ or http://127.0.0.1/ in your browser and examine all of the XAMPP examples and tools.

* Installing a particular server as as service

Each server in XAMPP you can install also as Windows service:
Apache service install:
\xampp\apache\apache_installservice.bat
Apache service uninstall:
\xampp\apache\apache_uninstallservice.bat
MySQL service install:
\xampp\mysql\mysql_installservice.bat
MySQL service uninstall:
\xampp\mysql\mysql_uninstallservice.bat
FileZilla service (un)install:
\xampp\filezilla_setup.bat
Mercury:
No service installation available!

* The XAMPP upgrades

With a new XAMPP version, there is normally a upgrade package too. Additionally, we have sometimes small patches between the releases.
An upgrade is always problematically and there can be errors in the upgrade process. Because of this, you should always make a backup from your XAMPP folder before you upgrade it. werden.
We are trying to adjust your configuration files during the upgrade progress, if necessary. Especially if a new XAMPP have a lot of changes compared to the old one, we are providing no upgrade package for security reasons. Sorry.
As with the add-ons, install the upgrade directly into the XAMPP directory (e.g. "C:\xampp"). And you must also start the setup script "setup_xampp.bat".

A matter of security (A MUST READ!)

* The XAMPP security console

As mentioned at another place, XAMPP is not meant for production use but only for developers in a development environment. XAMPP is configured is to be as open as possible and to allow the web developer anything he/she wants. For development environments this is great but in a production environment it could be fatal.
Here a list of missing security in XAMPP:
  • The MySQL administrator (root) has no password.
  • The MySQL daemon is accessible via network.
  • phpMyAdmin is accessible via network.
  • The XAMPP demopage is accessible via network.
  • The default users of Mercury and FileZilla are known.
All points can be a huge security risk. Especially if XAMPP is accessible via network and people outside your LAN. It can also help to use a firewall or a (NAT-) router. In case of a router or firewall, your pc is normally not accessible via network. It is up to you to fix these problems. As a small help there is the "XAMPP Security console".
Please secure XAMPP before publishing anything online. A firewall or an external router are only sufficient for low levels of security. For slightly more security, you can run the "XAMPP Security console" and assign passwords.
If you want have your XAMPP accessible from the internet, you should go to the following URI which can fix some problems:
http://localhost/security/

With the security console you can set a password for the MySQL user "root" and phpMyAdmin. You can also enable a authentication for the XAMPP demopages.

This web based tool does not fix any additional security issues! Especially the FileZilla FTP server and the Mercury mail server you must secure yourself. If you don't need these servers, don't start them. A server which is not started, is very secure!

The Uninstallation

* Method A: The Installer version

If you installed XAMPP using the installer version, please use the Uninstaller! The Uninstaller will delete all XAMPP entries from your registry and it will uninstall some installed services included with XAMPP. We highly recommend that you use the Uninstall program for removing XAMPP installations from the Installer version.
Please backup all the data you want to keep before uninstalling XAMPP.

* Method B: The ZIP & 7zip versions

Shut down all XAMPP servers and exit all panels. If you installed any services, uninstall and shut them down too. Now simply delete the entire folder where XAMPP is installed. There are no registry entries and no environment variables to clean up... just simply good, clean code!

Basic Questions

* Question 1: What is the "Lite" version of XAMPP?

XAMPP Lite (means "light" as in "light-weight") is a smaller bundle of XAMPP components, which is recommended for quick work using only PHP and MySQL. Some servers or tools such as Mercury Mail and FileZilla FTP are missing in the Lite version.

* Question 2: Where should I place my web content?

Problems? See also:
»FAQ - XAMPP for Windows«
The main directory for all WWW documents is \xampp\htdocs. If you put a file "test.html" in this directory, you can access it with the URI "http://localhost/test.html".
And "test.php"? Just use "http://localhost/test.php". A simple testscript can be:
<?php
    echo 'Hallo world';
?>

A new subdirectory for your web? Just make a new directory (e.g. "new") inside the directory "\xampp\htdocs" (best without whitespaces and only ASCII), create a test file in this directory and access it with "http://localhost/new/test.php".

Further specifics:

HTML:
Executable: \xampp\htdocs Allowed endings: .html .htm => basic package
SSI:
Executable: \xampp\htdocs Allowed endings: .shtml => basic package
CGI:
Executable: \xampp\htdocs and \xampp\cgi-bin Allowed endings: .cgi => basic package
PHP:
Executable: \xampp\htdocs and \xampp\cgi-bin Allowed endings: .php => basic package
Perl:
Executable: \xampp\htdocs and \xampp\cgi-bin Allowed endings: .pl => basic package
Apache::ASP Perl:
Executable: \xampp\htdocs Allowed endings: .asp => basic package
JSP Java:
Executable: \xampp\tomcat\webapps\java (e.g.) Allowed endings: .jsp => Tomcat add-on
Servlets Java:
Executable: \xampp\tomcat\webapps\java (e.g.) Allowed endings: .html (u.a) => Tomcat add-on

* Question 3: Can I move the XAMPP installation?

Yes, that's possible with XAMPP. After moving of the XAMPP directory, jou must execute "setup_xampp.bat". The paths in the configuration files will be adjusted with this step. If you have installed any server as Windows service, you must first remove the Windows service, and after the moving you can install the service again. Warning: The configuration files from your own scripts, like for the software phpBB, are not adjusted. This task is up to you. But it's possible to write a "plug-in" the installer. With such a plug-in, the installer can adjust such files too..

* Question 4: "automatic start pages" for the WWW directories?

The standard filename for the Apache function "DirectoryIndex" is "index.html" or "index.php". Every time you are just browsing to a folder (e.g. "http://localhost/xampp/"), and Apache can find such a file, Apache is displaying this file instead of a directory listing.

* Question 5: Where can I change the configuration?

Almost all settings in XAMPP you can change with configuration files. Just open the file in a textedit and change the setting you want. Only FileZilla and Mercury should be configured with the application config tool. A list of the configuration files you can find in the table configuration files.

READ ME

* Where can I get more information (FAQs, etc.)?

Problems? See also: »FAQ - XAMPP for Windows« Still questions? See also: »Apache Friends Support Forum«

* What is where?

Configuration files

File (Directory) Usage
\xampp\apache\conf\httpd.conf The main configuration file for Apache. It's including other files from the subdirectory "extra".
\xampp\FileZillaFTP\FileZilla Server.xml The configuration file for the FileZilla FTP server. It's configured with the application "FileZilla Server Interface.exe" (button "Admin" in CP).
\xampp\MercuryMail\mercury.ini The configuration file for the Mercury SMTP server. It's configured with the application "mercury.exe" (button "Admin" in CP).
\mysql\bin\my.ini The configuration file for the MySQL Server.
\xampp\php\php.ini The configuration file for PHP.
\xampp\phpMyAdmin\config.inc.php The configuration file for phpMyAdmin.
\xampp\sendmail\sendmail.ini The configuration file for msmtp (sendmail compatible interface).
\xampp\webalizer\webalizer.conf The configuration file for the Webalizer.

Logfiles

File (Directory) Usage
\xampp\apache\logs\error.log The error log from Apache. Additional files can be in the same directory (if enabled).
\xampp\FileZillaFTP\Logs The logfiles from FileZilla FTP server (if enabled).
\xampp\MercuryMail\LOGS\ In subdirectories of this files are the logfiles from the several Mercury SMTP server modules.
\xampp\mysql\data\mysql.err The error log from MySQL. Additional files can be in the same directory (if enabled).
\xampp\sendmail\sendmail.log The logfile from msmtp (sendmail compatible interface).

common directories

File (Directory) Usage
\xampp\anonymous Download directory for anonymous FTP access.
\xampp\cgi-bin For the CGI scripts.
\xampp\htdocs There are the files from your homepage.
\xampp\MercuryMail\MAIL The mail postboxes.
\xampp\mysql\data The databases.
\xampp\webdav The directory for WebDAV access (if enabled).