Belajar Jaringan - Belajar Pemrograman

Beranda Tentang Kontak

Senin, 01 Februari 2016

Cara Menginstall Bind9

Mandailing Natal - Cara Menginstall Bind9 - Software bind9 sering gunakan sebagai DNS server, baik jaringan local maupun jaringan umum seperti jaringan internet ataupun jaringan warnet.  Bind9 merupakan sebuah software, tak ubahnya software-software lain seperti squid, apache, dan software lainnya.



Untuk menginstall bind9 terlebih dahulu update packet-paket yang di butuhkan pada debian server maupun ubuntu servernya dengan perintah :
apt-get update 
Selain penggunaan perintah apt-get, bisa juga langsung menggunakan perintah aptitude update pada kedua operating system turunan debian, seperti ubuntu, kali linux, untuk menginstall bind9 menggunakan perintah aptitude dengan cara mengetikan perintah aptitude install bind9 pada konsol linux debian/ubuntu server. Jika update system paket telah selesai lanjutkan penginstallan bind9nya dengan perintah pada konsol linux.
apt-get install bind9 
Untuk mempercepat pekerjaan biasanya, apt-get update dan apt-get install bind9 dilakukan dalam sekali kerja(perintah) dengan menggunakan tanda && diantara apt-get update juga apt-get install bind9 seperti berikut ini
apt-get update && apt-get install bind9 -y 
Opsi -y artinya untuk menyetujui penginstallan paket secara otomomatis. Jika proses installasi bind9 telah selesai, lanjut kelangkah berikutnya dengan cara masuk ke directory /etc/bind,
cd /etc/bind
Backup file named.conf.local dengan nama lain misalnya menambahkan tulisan backup di belakang tulisan named.conf.local menjadi named.conf.local-backup, dengan maksud serta tujuan di backup file named.conf.local yaitu apabila terjadi error pada system atau bind9nya kita dapat mengambalikan konfigurasi named.conf.local pada configurasi bawaannya.

Selain untuk mengamankan file named.conf.local, tujuan dari backup ini tak lain, karena configurasi bawaan named.conf.local tidak kita gunakan pada configurasi bind9 ubuntu server, namun mengambil configurasi dari file named.conf.defaul-zones.

Cara membackup file di linux debian bisa menggunakan perintah mv seperti berikut:
mv named.conf.local named.conf.local-backup 

Cara menginstall bind9 selanjutnya, mengcopy file named.conf.default-zones kedalam file named.conf.local  atau membuat file named.conf.local baru, karena named.conf.local bawaan bind9 ubuntu debian server telah kita rename pada langkah sebelumnya, mengcopy named.conf.default-zones kedalam named.conf.local dengan perintah cp namafilelama namafilebaru misalny.

cp named.conf.default-zones named.conf.local

Hapus isi file named.conf.local yang tidak kita butuhkan, sisakan zone"localhost" dan zone"127.in-addr.arpa" yang nantinya juga akan kita ubah sesuai kebutuhan jadi seperti gambar named.conf.local


Tulisan localhost ganti dengan nama hostname (domain) yang di gunakan, misalnya domain yang di gunakan, dalam contoh ini : tkj.net

file:/etc/bind/db.local ubah jadi /etc/bind/db.namahostname dalam kasus berikut db.local saya buat jadi db.tkj begitu juga zone 127 ubah jadi ekor dari ip yang kita gunakan biar tidak membingungkan, jadi zone "12 .... "  serta file "/etc/bind/db.127 saya ubah jadi db.12, seperti terlihat pada gambar named.conf.local diatas.

Jika tampilan sudah seperti dalam gambar, silahkan simpan configurasi dengan perintah CTRL +X dan pilih Y kemudian Enter.

Copy file db.local yang asli ke file db.tkj agar db yang ada dalam configurasi named.conf.local sesuai dengan apa yang ada dalam folder/directory bind9 yang terletak di /etc/bind/

Copy juga file db.127 menjadi db.12 sama persis seperti yang di lakukan terhadap db local, cara copynya seperti berikut:

cp db.local db.tkj
cp db.127 db.12

Jika sudah di copy, kita ubah file db.tkj dengan perintah :

nano /etc/bind/db.tkj

Ganti semua tulisan berikut:

localhost. ganti jadi tkj.net.

127.0.0.1 Ip loopback (iplocalhost) ganti jadi ip interface yang kita gunakan, baik yang mengarah ke publik maupun local, terserah yang mana, misalnya saya menggunakan ip 192.168.0.252


Simpan configurasi, hasilnya seperti gambar db.tkj


Ubah file db.12 dengan perintah
nano /etc/bind/db.12 

Configurasinya mirip dengan db.tkj, hasilnya seperti gambar db.12  :


Jika file-file berikut di bawah sudah di configurasi, berarti selesai sudah cara install bind9 ubuntu servernya, tinggal langkah terakhir restart ubuntu server. Berikut langkah-langkah dalam menginstall bind9 sebagaimana telah kita kerjakan sebelumnya.
  • named.conf.local  di copy dari named.conf.default-zones dan di ubah isinya seperti diatas
  • db.local di copy jadi db.tkj dan di ubah isinya seperti diatas
  • db.127 di copy serta di ubah isinya seperti diatas
  • restart bind9 seperti perintah di bawah ini
/etc/init.d/bind9 restart
Kemudian ubah file /etc/resolv.conf ganti nameserver menjadi
nameserver 127.0.0.1
Test dnsnya dengan perintah
dig tkj.net


Agar dns bind9 dapat terkoneksi dengan internet, kita perlu mengubah satu file lagi, yaitu named.conf.options dengan mengubah code-code berikut perintahnya
nano named.conf.options

Kemudian ubah isi named.conf.options terlihat seperti bagian
// forwarders {
// 0.0.0.0;
// };

Hilangkan garis miring pada tulisan tersebut dan ganti angka 0.0.0.0 menjadi 8.8.8.8;

Lihat kebawah dan cari code ini
dnssec-validation auto; 
ubah menjadi
dnssec-validation yes; 
Simpan configurasi kemudian restart bind9, ip komputer ubuntu kita sudah siap digunakan jadi dns server di client windows maupun linux.

Mandailing Natal - Cara Menginstall Bind9 ubuntu server, dns bind9 digunakan jadi dns server client.

Jumat, 22 Januari 2016

Limit Download All Extensi

Jasa Setting Mikrotik Limit Download All Extensi - Limit Download all extensi mikrotik, diantara sekian hal dalam setting mikrotik, yang paling penting mungkin bagi sebagian orang adalah limit bandwidth, terlebih untuk beberapa extensi yang sering di gunakan.




/ip firewall layer7-protocol
add name=layer7 regexp="^.*get.+\.(exe|rar|zip|7z|cab|asf|mov|wmv|mpg|mpeg|mkv|avi|flv|pdf|wav|rm|mp3|mp4|ram|rmvb|dat|daa|iso|nrg|bin|vcd|mp2|3gp|mpe|qt|raw|wma|ogg|doc|deb|tar|bzip|gzip|gzip2|0[0-9][0-9]).*$"

Untuk mempermudah limit terhadap bandwidth, maka di gunakanlah layer7 yang mana isinya adalah extensi-extensi yang paling sering di gunakan dalam berbagai macam jenis file, artinya mikrotik mencari kecocokan extensi apa yang di download user dengan apa yang ada didalam layer7. Jika mikrotik menemukan extensi yang sesuai, maka file dan koneksi download tersebut di tandai di mangle, sehingga langkah terakhir dapat di eksekusi di dalam queue, baik queue tree maupun simple.

Secara singkat layer7 mikrotik masih membutuhkan dukungan dari fitur mangle, untuk menandai paket yang sesuai dengan pattern yang ada pada layer7.

Jumat, 15 Januari 2016

Cara Install Mfsbsd Dengan Flashdisk

Cara Install Mfsbsd Dengan Flashdisk - cara mudah menginstall server proxy dengan mfsbsd, installasi bisa di lakukan via remote dari jarak jauh, syaratnya ya ada operator yang melakukan dan setting bios komputer yang di gunakan sebagai server proxy agar booting dari flashdisk.
MFsbsd Cara Install MFSBSD dengan flashdisk


Kemudian malakukan port-forwading ke ip proxy server, yang ipnya di berikan dhcp dari router mikrotik, so si operator cukup duduk manis dan menunggu installasi jarak jauh selesai, dan mencabut usb flashdisk dari komputer server.

Cara install mfsbsd dengan flashdisk, langkah pertama untuk installasi mfsbsd dari flahsdisk :
  1. Siapkan flashdisk minimal 1GB
  2. Download img mfsbsd dari webnya mfsbsd disini http://mfsbsd.vx.sk/files/images
  3. Download software sexy bernama win32diskimager disini -> http://sourceforge.net/projects/win32diskimager/
  4. Operator yang mampu setting bios agar komputer boot dari usb flashdisk.
Jika sudah di colokin usb flashdisknya ke komputer, komputernya di bootingkan, dan mikrotik di set dhcp server agar tuh komputer yang akan di install mfsbsd dapat ip otomatis yang bisa kita remote.

Nah bagaiman cara menginstallnya, ini dia yang gak kalah pentingnya, cara install mfsbsd dengan flahsdisk :

  • Setelah mfsbsd booting dan meminta login, lihat mikrotik ip dhcp pada leasesnya, remote ip tersebut dengan putty atau remote ip publik yang mana ip dari mfbsdnya sudah di forward ke publik.
  • Login : root   dan password : mfsroot
  • Lihat partisi harddisk dengan perintah 
gpart show

Nanti akan muncul seperti ini

gpart show
=>       34  976773101  ada0  GPT  (465G)
         34        128     1  freebsd-boot  (64k)
        162    8388608     2  freebsd-swap  (4.0G)
    8388770  968384365     3  freebsd-zfs  (461G)
  • Delete partisinya dengan perintah 
gpart delete -i 1 ada0
gpart delete -i 2 ada0
gpart delete -i 3 ada0
  • Kemudian hancurkan partisinya dengan perintah
gpart destroy ada0

Atau bisa pake perintah singkat
gpart destroy -F /dev/ada0 

  • Jika udah sampai disini langkah selanjutnya mount flashdisknya pake perintah yang ada di layar /consol mfsbsdnya, untuk melihat flashdisk perintahnya ls /dev/da* /dev/da0 tempat booting usbnya, dan /dev/da0a tempat file installasi, maka mountnya seperti berikut
mount /dev/da0a /cdrom

  • Kemudian lihat isi cd room, dengan perintah

ls /cdrom

nanti akan kelihatan isi cdrom seperti ini,

9.2-RELEASE-amd64       boot                    mfsroot.gz 

  • Install mfsbsdnya
zfsinstall -d ada0 -u /cdrom/9.2-RELEASE-amd64 -s 4G v28

Tulisan yang saya merahi, sesuaikan dengan hasil dari ls /cdrom

hasilnya nanti kira kira begini
Creating GUID partitions on ada0 ... done
Configuring ZFS bootcode on ada0 ... done
=> 34 976773101 ada0 GPT (465G)
34 128 1 freebsd-boot (64k)
162 8388608 2 freebsd-swap (4.0G)
8388770 968384365 3 freebsd-zfs (461G)

Creating ZFS pool tank on ada0p3 ... done
Creating tank root partition: ... done
Creating tank partitions: var tmp ... done
Setting bootfs for tank to tank/root ... done
NAME USED AVAIL REFER MOUNTPOINT
tank 408K 453G 31K none
tank/root 95K 453G 33K /mnt
tank/root/tmp 31K 453G 31K /mnt/tmp
tank/root/var 31K 453G 31K /mnt/var
Extracting FreeBSD distribution ... done
Writing /boot/loader.conf... done
Writing /etc/fstab...Writing /etc/rc.conf... done
Copying /boot/zfs/zpool.cache ... done

Installation complete.
The system will boot from ZFS with clean install on next reboot

You may make adjustments to the installed system using chroot:
chroot /mnt

Some adjustments may require a mounted devfs:
mount -t devfs devfs /mnt/dev

WARNING - Don't export ZFS pool "tank"!

  • Jalankan perintah chroot /mnt
chroot /mnt
  • Ubah password root
passwd root 

Set passwordnya sesuai keinginan kita.

  • Ketikkan ifconfig untuk melihat interface apa yang terkoneksi ke mikrotik
ifconfig 

Misalnya hasilnya terilihat berikut seperti ini :
alc0: flags=8843 metric 0 mtu 1500
options=c3198
ether 6c:f0:49:86:86:2f
inet 192.168.13.2 netmask 0xffffff00 broadcast 192.168.13.255
inet6 fe80::6ef0:49ff:fe86:862f%alc0 prefixlen 64 scopeid 0x1
nd6 options=29
media: Ethernet autoselect (100baseTX )
status: active
lo0: flags=8049 metric 0 mtu 16384
options=600003
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
inet 127.0.0.1 netmask 0xff000000
nd6 options=21

  • Ubah code berikut ini sesuikan yang saya tandai merah dengan kondisi jaringan dan lancard hasil dari ifconfig

echo 'defaultrouter="192.168.3.1"' >> /etc/rc.conf     
echo 'gateway_enable="YES"' >> /etc/rc.conf
echo 'hostname="sevenstart"' >> /etc/rc.conf
echo 'ifconfig_alc0="inet 192.168.3.2 netmask 255.255.255.0"' >> /etc/rc.conf
echo 'sshd_enable="YES"' >> /etc/rc.conf
echo 'nameserver 192.168.3.1' >> /etc/resolv.conf

Selanjutnya set openssh biar bisa di remote nanti pake putty.

ee /etc/ssh/sshd_config 

Cari tulisan #Port 22 dan hilangkan tanda pagarnya,
cari tulisan #PermitRootLogin no ubah jadi PermitRootLogin Yes dan hilangkan tanda pagarnya juga
Simpan dengan menakan tombol ESC dan tekan huruf a di keyboard dua kali

  • Reboot Mfsbsdnya jangan lupa cabut flahdisk dari komputernya.

shutdown -r now 

Yihaa abis itu remote deh tuh box mfsbsdnya mau pake ip langsung kalo deket, atau dari luar jaringan pake ip publik. Karena langkah selanjutnya mungkin configurasi proxy atau configurasi server lainnya yang anda butuhkan..misalnya jika ingin melakukan update

portsnap fetch 
portsnap extract

Untuk mempermudah pencarian dari consol lakukan dulu updatedatabasenya

/usr/libexec/locate.updatedb

Install paket mfsbsdnya.
cd /usr/ports/ports-mgmt/pkg 
make
make install clean

Install paket-paket yang anda butuhkan lainnya misalnya :

pkg install openssl 
pkg install fakeroot
pkg install ccze
pkg install libxml2-2.9.1_1
pkg install gmake-3.82_2
pkg install automake
pkg install libltdl-2.4.2.418
pkg install perl5-5.16.3_11

Cara Install Mfsbsd Dengan Flashdisk. Selanjutnya yah terserah ente dahh... Mudah-mudahan Cara Install Mfsbsd Dengan Flashdisk bermanfaat.

Senin, 21 Desember 2015

Memahami Konsep OOP C++

Mandailing Natal - Memahami Konsep OOP C++ , sebagai pemula yang paling susah mungkin memahami konsep pemrograman berorientasi objek, seperti apa yang saya alami. OOP merupakan salah satu kelebihan dari bahasa pemrograman C++ di banding dengan bahasa pemrograman pendahulunya C, yang lebih fokus pada pemrograman terstruktur, dimana menyelesaikan masalah di lakukan secara bertahap dan memilah-milah masalah yang ada kedalam sub-sub masalah yang lebih kecil.


C++ yang di buat oleh Bjarne Stroustrup yang di kembangkan pada awal 1980an, di Bel Labs. Menyelesaikan masalah dengan membagi permasalahan terhadap beberapa class sesuai nama masalahnya, kemudian mengelompokkanya menjadi beberapa anak kelas yang menjadi objek dan merupakan abtraksi dari object-object fisik. Class-class tersebut berisikan member class, kemampuan member classnya, kemudian masalah di selesaikan dengan Class.

Class ini boleh di sebut mungkin sebuah blueprint, atau prototype yang mendefenisikan variable-variable dan method-methode yang di gunakannya untuk menyelesaikan masalah. Sedangkan object disini merupakan instansiasi dari kelas (nanti dapat kita lihat dalam contoh di bawah).


#include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;

//mendefenisikan class
class siswa {
    public:
//mendefenisikan fungsi namaSiswa
        void namaSiswa(string nama)
        {
            cout <<"Nama siswa "<<nama<<endl;
        }
//mendefenisikan fungsi kelasSiswa
        void kelasSiswa(string kelas)
        {
            cout <<"Kelas Siswa "<<kelas<<endl;
        }
//mendefenisikan fungsi jurusanSiswa
        void jurusanSiswa(string jurusan)
        {
            cout <<"Jurusan siswa "<<jurusan<<endl;
        }
};
   
int main(int argc, char** argv) {
    string nama, kelas, jurusan;

//instansiasi class siswa terhadap objek siswa
    siswa objsiswa;
    cout << "Isi Nama Kamu:";
    getline(cin, nama);
    cout << "isi kelas kamu: ";
    getline(cin, kelas);
   
    cout <<"Isi Jurusan";
    getline(cin, jurusan);
    cout <<"========================\n";
   
    objsiswa.namaSiswa(nama);
    objsiswa.kelasSiswa(kelas);
    objsiswa.jurusanSiswa(jurusan);
    return 0;
}
semoga tulisan singkat Memahami Konsep OOP C++ dapat bermanfaat. Karena saya juga masih belajar banyak, sehingga tidak bisa banyak menjelaskan tentang konsep oop pada C++.

Senin, 07 Desember 2015

Setting Mikrotik NisaNet Remote Jarak Jauh

Jasa Setting Mikrotik Remote Jarak Jauh - Setting Mikrotik NisaNet Remote Jarak Jauh, Jasa Setting Mikrotik nisanet menggunakan koneksi speedy 2 line yang masing-masing kemudian saya arahkan ke game dan browsing, pendapat saya pribadi teknik pemisahan browsing dan game dengan dua line speedy ini lebih efektif dan aman untuk koneksi game, terutama game point blank garena yang cukup populer di warnet-warnet.



Jasa setting mikrotik remote jarak jauh, Nisanet.

Remote saya lakukan dari Padangsidimpuan, ke kota tempat warnet nisanet ini berada, sedikit kerja sama yang baik antara saya dan pemiliknya. Misalnya seperti memindahkan kabel modem ke ether mikrotik, dan dan lainnya.

Tujuan pemisahan ini, untuk memperlancar koneksi terhadap game online, tanpa harus repot memikirkan pembagian bandwidth untuk browsing dan game. Tentu saja dengan kondisi yang sama juga kita bebas menggunakan line satunya untuk browsing streaming dan download tanpa harus takut terganggu client yang bermain game.

Teknik Jasa setting mikrotik remote jarak jauh, Nisanet. sebenernya sangat mudah, tinggal kita pisahkan ip publik berdasarkan port-port masing-masing game online, dan mendai paket berdasarkan ip tersebut di mangle, kemudian menyelesaikannya di bagian routing.

Senin, 30 November 2015

Pengertian Nat Dalam Router Mikrotik

Jasa setting mikrotik - Pengertian Nat Dalam Router Mikrotik - pengertian nat dalam router mikrotik, NAT yang kepanjangannya sering di sebut (Network Address Translation).Nat Dalam router mikrotik merupakan salah satu pitur yang harus tersedia hampir di seluruh router yang ada, baik itu router mikrotik maupun router linux  maupun router cisco. Nat di gunakan untuk mentranslasikan sebuah ip local atau lebih ke sebuah ip publik, yang tujuannya adalah agar ip local mampu mengakses internet dengan memanfaatkan sebuah ip publik.


Sederhananya nat merupakan sebuah motode untuk menghubungkan satu komputer atau lebih ke internet menggunakan sebuah ip publik. Tujuan NAT di buat yakni untuk menghemat keterbatasan penggunakan ipv4 publik yang hampir habis, sehingga dengan fungsi nat sebuah ip publik dapat di translasikan ke beberapa buah ip private (ip lan). Dengan sebuah ip publik ini juga jaringan yang menggunakan ip private dapat berkomunikasi dengan dunia luar (jaringan internet). Terhubungnya koneksi internet antar masing-masing komputer dan router ini di sebut juga sebagai INTERNETWORKING

Sedangkan router sendiri, berfungsi untuk menghubungkan dua buah jaringan yang berbeda, yaitu menghubungkan jaringan private dan jaringan publik, terhubungnya jaringan private dan jaringan publik tak lepas dari kemampuan nat untuk mentranslasikan ip private ke dalam sebuah ip local.

Ip berapa saja sih yang masuk dalam ip public, untuk mengenal mana ip public, di bawah ini saya berikan tabel range dari ip private, semua ip di luar range ip private ini masuk dalam list ip public.


Ip private merupakan ip yang tidak bisa berkomunikasi dengan jaringan luar tanpa bantuan NAT dalam router. Begitu juga dengan ip publik, yaitu ip yang tidak akan bisa berkomunikasi dengan ip private.

Dalam gambar ip private diatas, dapat kita simpulkan nantinya mana saja kah yang termasuk dalam ip publik, dan ip private. Setiap yang tidak masuk dalam range ip list diatas di masukkan kedalam jenis ip publik.

Fungsi dari NAT dalam router mikrotik adalah:

  • Untuk menghemat ip publik, karena dengan sebuah ip publik dapat di gunakan untuk beberapa ip private (hampir tidak terbatas).
  • Meningkatkan fleksibilitas jaringan
  • Menghindari dan mengurasi duplikat ip address.
  • Mentranslasikan sebuah ip publik ke beberapa ip private.
  • Menghindari pengalamatan yang berulang ketika jaringan publik berubah.
Untuk Network Address Translation NAT  (Pengertian Nat Dalam Router Mikrotik)sendiri memiliki dua jenis yaitu: Nat dinamis dan nat Statis, Untuk mengenal nat statis dan nat dinamis nanti dalam postingan selanjutnya.

Memblok Ping Response Dengan Iptables

Jasa Setting Mikrotik - Jasa Setting Mikrotik Murah - Memblok Ping Response Dengan Iptables, Tidak hanya di mikrotik pitur bloking dan firewall yang ada, di router linux juga memiliki pitur atau fasilitas bloking paket, dengan memanfaatkan software firewall, dan yang paling terkenal sejauh ini yang saya tau software firewall bernama IPTABLES.



Memblok Ping Response Dengan Iptables - Pemanfaatan pitur bloking /firewall cukup mudah, namun tidak semudah juga yang di bayangkan, karena kita harus mengenali dan memahami protokol apa saja yang harus kita blok, misalnya kita ingin menutup access terhadap ping.

Ping ini yang harus kita kenali, protokol apa yang di gunakan oleh ping, dan berjalan di port berapa. Tidak hanya ping, paket-paket lainnya juga memiliki protokol masing-masing, dan juga memiliki port tersendiri.

Untuk contoh seperti saya sebut sebelumnya, paket ping harus kita kenali menggunakan protokol apa, protokol yang digunakan oleh ping adalah protokol icmp. Cara untuk memblokir access icmp (ping ) ke server linux di gunakan perintah :

IPTABLES -A INPUT -p ICMP s 0/0 -j DROP

Atau bisa juga menggunakan sedikit pitur untuk paket icmp yaitu --echo-request

IPTABLES -A INPUT -p ICMP 

Sabtu, 14 November 2015

Cara Install Squid Lusca

Mandailing Natal - Cara Install Squid Lusca - mungkin tulisan Cara Install Squid Lusca terlihat basi, namun saya yakin masih ada yang membutuhkannya selain saya. Meski mungkin jamannya squid https, tapi saya masih yakin juga masih banyak yang menggunakan squid lama dan lusca. Sedikit disini saya jadikan dokumentasi, setelah hampir seluruh tulisan saya hilang karena hosting yang tidak bertanggung jawab. Nah Cara Install Squid Lusca dia cara compile squid lusca di mesin MFSBSD.


Pertama di install paket yang mungkin di butuhkan, biasanya saya kalau menginstall menggunakan freebsd 9.0 menginstall paket paket berikut:

setenv PACKAGESITE "http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/ports/i386/packages-9.2-release/Latest/"
pkg_add -rv automake
pkg_add -rv autoconf
pkg_add -rv gmake
pkg_add -rv libtools

Kalau langkah diatas udah selesai, langsung deh di fetch /upload squidya kedalam tuh server, pake winscp boleh, pake fetch juga oke, silahkan.Saya gunakan pake petch aja disini untuk mendownload source squidnya, kita ambil aja dari webnya aacable yang di wordpress itu lho, kebetulan server saya mati karena yang jual entah kemana rimbanya,, padahal masih ada beberapa bulan lagi tuh. Server satunya lagi di gunain orang buat nge flood ya nasibnya apes, di terminated oleh penyedia server (maklum orang sibuk dan kurang pengalaman ya servernya gak terawat).

fetch http://wifismartzone.com/files/linux_related/lusca/LUSCA_HEAD-r14942.tar.gz
tar -zxvf LUSCA_HEAD-r14942.tar.gz
cd LUSCA_HEAD-r14942

Baru compile dengan perintah:

./configure --prefix=/usr --exec-prefix=/usr --bindir=/usr/sbin --sbindir=/usr/sbin --libexecdir=/usr/libexec/squid --sysconfdir=/usr/local/etc/squid --localstatedir=/var/log/squid --datadir=/usr/share/squid --enable-async-io=24 --with-aufs-threads=24 --with-pthreads --enable-storeio=aufs,coss,null --disable-linux-netfilter --enable-kqueue --enable-arp-acl --disable-linux-tproxy --disable-epoll --enable-removal-policies=heap --with-aio --with-dl --enable-snmp --enable-delay-pools --enable-htcp --enable-cache-digests --disable-unlinkd --enable-large-cache-files --with-large-files --enable-err-languages=English --enable-default-err-language=English --with-maxfd=65536

Ya habis dicompile jangan lupa di perintah berikutnya yaitu
make clean
make
make install
Jika udah sampai disini yah dah mau hampir selesai tuh tinggal buat confignya doang. Nah untuk confignya urus masing-masing ya,, malas saya naruhnya disini panjang soalnya, untuk tuning sedikit bisa di test di file /etc/sysctl.conf sekalian mengaktifkan forward nya, kalo proxy biasa sih gak perlu. Kecuali dia di gunakan sebagai router.
net.inet.ip.forwarding=1 
kern.ipc.somaxconn=8192
net.inet.tcp.delayed_ack=0
net.inet.tcp.sendspace=65536
net.inet.udp.recvspace=65536
net.inet.udp.maxdgram=57344
net.local.stream.recvspace=65536
net.local.stream.sendspace=65536
net.inet.icmp.icmplim=300
net.inet.icmp.icmplim_output=0
net.inet.tcp.delayed_ack=0
kern.maxfilesperproc=65536
kern.maxfiles=65536
net.inet.ip.portrange.last=65536
net.inet.ip.portrange.first=10000
kern.maxvnodes=250000

trus tambahin juga isi file /boot/loader.conf dengan:

vfs.zfs.write_limit_override=134217728

Dari mana munculnya angka 134217728 ?. Konon kata mereka yang jago-jago soal squid, dalam perhitungan setiap 1GB memory di nilai 64mb, nah jika memorynya proxy kita 4GB, dikalikan deh 4x64mb, begitu kira-kira untuk mendapatkan nilai angka pada vfs.zfs.write_limit_overrideNah yang tak kalah pentingnya yah itu creat partisi cachenya, begini caranya

zfs create -o compression=gzip-9 -o atime=off -o mountpoint=/cache1 -o quota=200G tank/cache1

chmod 777 /cache1
chown proxy:proxy /cache1
Perintah untuk melihat partisi yang kita buat
df -h
Build Squidnya dengan perintah
chmod 777 /var/spool/squid/logs/
chown proxy:proxy /var/spool/squid/logs/
mkdir /var/log/squid
chmod 777 /var/log/squid
chown proxy:proxy /var/log/squid
squid -z

Biar squidnya auto start letakin atau buat file squid.sh di /usr/local/etc/rc.d/ nih filenya

:https://drive.google.com/file/d/0B22RxTIB1AhuQVNnY1E1eENabGs/view

Kemudian ubah izin filenya biar bisa di eksekusi lho..
chmod x+ /usr/local/etc/rc.d 
Untuk tambahan matikan aja sendmail masukkan code berikut di dalam file /etc/rc.conf
squid_enable="YES" 
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
upgrade paket yang ada dengan perintah:
portsnap fetch 
portsnap extract
/usr/libexec/locate.updatedb
cd /usr/ports/ports-mgmt/pkg
make
make install clean

Jumat, 13 November 2015

Update FreeBSD Setenv Packagesite

Mandailing Natal, Jasa Setting Mikrotik - ini dokumentasi, setelah lama tidak menggunakan mfbsd ternyata bisa juga lupa-lupa ingat. Kejadian ini ketika menginstall mfbsd di sebuah warnet, yang jauh di ujung sumatera sana, Aceh. Mfbsd yang terinstall ternyata versi 9.0 yang di sediakan sendiri dan di masukkan sendiri oleh si empunya warnet, saya menginstallnya lewat terminal dari jauh.


Karena secara fisik saya tidak berkesempatan untuk langsung turun ke tempat. Untuk upgrade, saya coba pakai repository archive dari freebsd 9.2 dengan menggunakan perintah berikut ini.

Update repository mfsbsd

setenv PACKAGESITE "http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/ports/i386/packages-9.2-release/Latest/"
Kemudian installasi beberapa paket penting pendukung proxy, perl, automake,autoconf, gmake,libtools dengan perintah
pkg_add -rv automake
pkg_add -rv autoconf
pkg_add -rv gmake
pkg_add -rv libtools

Senin, 21 September 2015

Minimal Configurasi Squid3 TKJ SMK Teruna

Minimal Configurasi Squid3 TKJ SMK Teruna - Proxy adalah Sebuah komputer/ server yang di gunakan untuk merquest content dari internet maupun intranet, dan bertindak sebagai gateway client.


Proxy memiliki banyak kegunaan diantaranya adalah :
  1. Untuk mempercepat browsing karena melakukan chacing /penyimpanan content yang berulang-ulang, 
  2. Mengamankan jaringan private yang terhubung ke jaringan publik.
  3. Caching DNS, 
  4. Caching situs web, 
  5. dan caching pencarian komputer di dalam jaringan untuk sekelompok komputer yang menggunakan sumber daya jaringan yang sama.
1. Matikan service Squid yang berjalan dengan perintah :
/etc/init.d/squid3 stop
2. Backup Configurasi Squid3 sebelum di configurasi.
cp /etc/squid3/squid.conf /etc/squid3/squid.conf-backup
3. Edit Configurasi Squid
nano /etc/squid3/squid.conf
4. Cari http_port dan hilangkan tanda # nya & Tambahi tulisan transparent didepannya
http_port 3128 transparent 
cache_mem 16 mb
cache_dir ufs /var/spool/squid 500 16 256
cache_mgr admin@localhost

visible_hostname terunapsp.id
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off


acl situs url_regex -i "/etc/blokir.txt"
http_access deny situs
acl lan src 192.168.14.0/25
5. buat file regex sesuai path yang ada di configurasi proxy-caching
nano /etc/blokir.txt
ubah permisionnya
chmod 777 /etc/blokir.txt
ubah kepemilikan owner dan group dari file /etc/blokir.txt
chown proxy:proxy /etc/blokir.txt
Atau kalau mau lebih simple, sebenernya cukup buka squid.conf :

nano /etc/squid3/squid.conf
tambahi tulisan acl localhost 192.168.0.0/24

ip 192.168.0.0/24 merupakan network host, dari client proxynya, untuk tuning dan kebutuhan yang lebih kompleks, silahkan di google, sudah banyak yang menulisnya termasuk untuk cache kontent dinamis, dan https (baik intercept maupun TProxy ).

Kamis, 10 September 2015

Loadbalancing NTH Mikrotik 2 Line Smk Teruna Padangsidimpuan

Loadbalancing NTH Mikrotik 2 Line Smk Teruna Padangsidimpuan - Tulisan Loadbalancing NTH Mikrotik 2 Line Smk Teruna Padangsidimpuan dokumentasi saya lagi, sejak hosting blog jasa setting mikrotik hilang lari ntah kelaut mana pengelolanya. Loadbalancing adalah teknik menggabungkan beberapa source koneksi didalam satu router.

Teknik loadbalancing sering kali di salah artikan, dengan menganggap bahwa dengan loadbalancing 2 buah koneksi dengan bandwidth yang berbeda akan terakumulasi menjadi satu kesatuan. Kalau di ibaratkan dalam hitungan matematikanya kesalahan itu kira kira begini:

2mbps + 1mbps = 3mbps

Pemikiran tersebut merupakan pemikiran dan pemahaman yang salah terhadap loadbalancing, teknik loadbalancing sendiri bukan menggabungkan bandwidth menjadi satu kesatuan, namun membagi beban keneksi terhadap beberapa source koneksi yang ada, kalau di matematika kan mungkin seperti berikut

2mbps + 1mbps = 1/2mbps +1/2mbps +1/2mbps +1/2mbps+1/2mbps+1/2mbps

Seperti itulah sebenernya konsep sederhana loadbalancing. membagi beban trafik ke beberapa source koneksi yang ada, sehingga terjadi keseimbangan penggunaan pada masing-masing source koneksi internet yang di gunakan, dalam arti paket di bagi rata, dan menghindari overload terhadap satu jalur koneksi.


Teknik loadbalancing Loadbalancing NTH Mikrotik 2 Line Smk Teruna Padangsidimpuan banyak jenisnya, pertama kali yang populer dengan konsep loadbalancing NTH, saya juga tidak tahu, mungkin tulisan yang di ambil dari forum mikrotik tentang loadbalancing dapat sedikit memberi pencerahan buat anda, apa itu nth berikut saya cuplik sebagian dari --> http://baratev.sourceforge.net/stuff/mt.nthloadbalance.txt

#######################################################
Konsep dan Terapan NTH utk Loadbalancing pada Mikrotik
#######################################################

I N T R O
---------

O-----------------------------------------------------------------------------------

nth (integer,integer: 0..15,integer{0,1}) - match a particular Nth packet received
by the rule. One of 16 available
counters can be used to count packets

Every - match every Every+1th packet. For example, if Every=1 then the rule matches
every 2nd packet
Counter - specifies which counter to use. A counter increments each time the rule
containing nth match matches
Packet - match on the given packet number. The value by obvious reasons must be
between 0 and Every. If this option is used for a given counter, then
there must be at least Every+1 rules with this option, covering all values
between 0 and Every inclusively.
O-----------------------------------------------------------------------------------

nth ada 3 bagian

bilang lah A,B,C
A = every
B = counter
C = packet

setelah gw baca lagi dan lagi dan lagi manual diatas

sampe sekarang gw gak ngerti2 dari ketiga bagian diatas.

jika pake 2 line load balance ada yang buat :
every 1 counter 1 packet 0 <-- line 1
every 1 counter 1 packet 1 <--- line 2

ada juga yang buat : 1,2,0 - 1,2,1


Pemahaman Saya Mengenai Nth:

Pada dasarnya koneksi yang masuk ke proses di router akan menjadi satu arus yang sama,
walaupun mereka datang dari interface yang berbeda. (well, this one is debatable)

Saat kita ingin menerapkan metode Nth, tentunya kita juga memberikan batasan ke router
untuk hanya mem-proses koneksi dari sumber tertentu saja (ex. dari IP lokal).

Nah, begitu router telah membuat semacam 'antrian' baru untuk batasan yang kita
berikan diatas, baru proses Nth dimulai.


#Every

Angka Every adalah jumlah kelompok yang ingin dihasilkan. Jadi bila kita ingin
membagi alur koneksi yang ada menjadi 4 kelompok yang nantinya akan di load balance
ke 4 koneksi yang ada, maka angka Every = 4.

Namun, setelah saya bandingkan manual yang ada di Mikrotik dengan penjelasan tentang
penerapan Nth di Linux, ada perbedaan disini.

Pada Mikrotik, angka Every harus dikurangkan 1, hingga bila mengikuti contoh diatas,
maka kita harus mengisikan Every = 3. Hal ini mungkin dikarenakan proses Nth di
Mikrotik akan menerapkan Every+1 (lihat manual) pada pengenalan koneksinya.

Jadi, kesimpulan sementara saya, bila kita ingin membagi 2 kelompok, maka :

- Pada Linux, Every = 4
- Pada Mikrotik, Every = 3


#Counter

Angka Counter dapat diisikan angka 0-15. Maksudnya adalah menentukan counter mana
yang akan kita pakai. Pada Mikrotik terdapat 16 Counter yang dapat dipakai, hal
ini juga sama dengan penerapan yang ada di Linux.

Setelah Diskusi dengan bro D3V4, ternyata penerapan counter cukup berpengaruh.
Jadi kesimpulan sementara, counter sebaiknya diset ke every+1 untuk Mikrotik


#Packet

Nah, kita sampe ke parameter terakhir. Parameter terakhir cukup menentukan.

Bila kita ingin membuat 4 kelompok, tentunya kita harus membuat 4 mangle rules.
Nah, pada rules tersebut, angka untuk Every dan Counter haruslah sama. Namun untuk
angka packet harus berubah.

Untuk 4 kelompok, berarti angka packet untuk 4 rules tersebut adalah 0,1,2 dan 3.
Angka tersebut ditentukan dari 0 ... (n-1).

Penerapan angka Packet untuk Linux dan Mikrotik sama.

Contoh

Mari kita ambil contoh untuk penerapan Nth untuk 4 koneksi. Maka Angka Nth untuk
masing2 rule di Mikrotik adalah (counter yg dipakai adalah 4) :

Rule 1 = 3,4,0
Rule 2 = 3,4,1
Rule 3 = 3,4,2
Rule 4 = 3,4,3


T E O R I
---------

tcp connections 3 way handshake

1. connection establishment
2. data transfer
3. connection termination

dengan tahapan sbb :
1. LISTEN
2. SYN-SENT
3. SYN-RECEIVED
4. ESTABLISHED
5. FIN-WAIT-1
6. FIN-WAIT-2
7. CLOSE-WAIT
8. CLOSING
9. LAST-ACK
10. TIME-WAIT
11. CLOSED

jika teori gw bener (CMIIW lagi ) proses mangle itu memotong di nomer 4

alias connection nya belum ketutup tapi udah request baru lagi (new connections state)
jadi dengan kata lain :

kenoksi masih kebuka udah ngerequest ke gateway yang lainnya ... jadi semua speedy
yang kita punay kebuka dan di gunakan.

jadi walaupun kedetek ip speedy 1 tetapi bebannya masih kebagi ke sebanyak n-th
yang kita punya.. ROUND ROBIN !


Nah Loadbalancing NTH Mikrotik 2 Line Smk Teruna Padangsidimpuan, loadbalancing nth yang saya gunakan di SMK Swasta Teruna Padangsidimpuan.

/ip firewall mangle

add action=jump chain=prerouting connection-state=new jump-target=lb
add action=mark-connection chain=lb connection-state=new dst-port=80,8080 in-interface=WIFI new-connection-mark=1-CN nth=2,2 protocol=tcp
add action=mark-routing chain=lb connection-mark=1-CN in-interface=WIFI new-routing-mark=1 passthrough=no
add action=mark-connection chain=lb connection-state=new dst-port=80,8080 in-interface=WIFI new-connection-mark=2-CN nth=2,1 protocol=tcp
add action=mark-routing chain=lb connection-mark=2-CN in-interface=WIFI new-routing-mark=2 passthrough=no
add action=mark-connection chain=prerouting disabled=yes layer7-protocol=download new-connection-mark=lab-con src-address-list=IP
Semoga bermanfaat dan dapat memahami nthnya - Loadbalancing NTH Mikrotik 2 Line Smk Teruna Padangsidimpuan

Senin, 07 September 2015

Cara Membuat DDNS Afraid Ke Mikrotik

Jasa Setting Mikrotik - Cara Membuat DDNS Afraid Ke Mikrotik - Cara Membuat DDNS Afraid Ke Mikrotik - langkah pertama tentunya harus mendaftar dahulu di penyedia ddns gratisan, seperti afraid.org. Pada kasus ini saya buat di afraid Tempat daftar silahkan klik afraid.org 

Cara Membuat DDNS Afraid Ke Mikrotik - teknik ini juga bekerja untuk koneksi speedy yang dial di modem, seperti modem gpon. Bekerja dengan baik meskipun dial tetap di modem, dan jangan lupa untuk membuat port forwading di modem GPON, biar tetap bisa di remote mikrotiknya dari jauh.

Kalau udah di register, Klik menu registry

Klik salah satu domain, sebagai contoh saya pilih us.to


Isikan subdomain pada kotak yang saya tandai merah. misalnya saya buat pababinjai. Kemudian klik tombol Save


 Klik Menu Dynamic DSN di sebelah kanan 


Klik kanan pada Direct Url

Pilih Copy Link Location 


Paste Codenya yang speerti ini di notepad
http://freedns.afraid.org/dynamic/update.php?V3ByVzZ1VmJJaTVZTTBhcU5VS0I6ODQ1NjIxOA== 

Jika kode yang di copy https, hilangkan saja s nya pada tulisan http sehingga terlihat seperti diatas. Bukan url https

Paste kode di bawah ini juga di notepad yang sama,

# Update DNS on Freedns.afraid.org
:global host "freedns.afraid.org"
:global url "urlddns"

/tool fetch url=$url host=$host

Pada code diatas ini tulisan urlddns ganti dengan link yang kita ambil dari Afraid tadi,, tampilannya jadinya seperti ini ..

# Update DNS on Freedns.afraid.org
:global host "freedns.afraid.org"
:global url "http://freedns.afraid.org/dynamic/update.php?V3ByVzZ1VmJJaTVZTTBhcU5VS0I6ODQ1NjIxOA=="

/tool fetch url=$url host=$host

Nah code terakhir ini yang kita masukkan koe mikrotik di menu

Klik System -> Scripts
Klikt tanda + warna merah untuk menambahkan script.
Paste code yang tadi kita buat di notepad di source.
Namenya buat saja DDNS biar nanti kita buat schedulenya.


Klik OK untuk menyimpan.


Cara Membuat DDNS Afraid Ke Mikrotik - selesai

Minggu, 06 September 2015

Create Input data ke database dengan php

Mandailing Natal - Create Input data ke database dengan php - terasa aneh ya judulnya Create Input data ke database dengan php, lebih agak enak mungkin di dengar CRUD (cread read update delete) database pada pemrograman php, Create Input data ke database dengan php di buat aneh biar isinya berasa makin aneh.. kan gak masalah.. toh Create Input data ke database dengan php cuma belajar mendokumentasikan, kebetulan sebagai bahan tulisan juga. Selain CRUD bisa juga di sebut dengan INPUT LIHAT UBAH HAPUS data dengan php.


Creat Input data ke database dengan php - biarlah di sebut begitu saja. yang penting simple mudah dan tidak merepotkan. Atau mudahnya bolehlah di sebut juga cara Memasukkan Data kedalam mysql dengan php.

Nah soal input data kedalam database, tentunya kita harus mengerti dulu sedikit banyaknya soal HTML, ya bahasa markup yang terkenal itu lho, yah baiklah kalo tidak tau apa itu html, mandailing natal sebut aja kepanjangannya ya, HTML adalah Hypertext Markup Language. Bahasa markup yang di gunakan untuk melingkupi code dari bahasa php yang kita buat, ya pada dasarnya tampilan seluruh web mungkin boleh disebut di buat dengan bahasa html, dan css, plus java script, jquery dan lain-lainnya.  Kalo udah tau ya syukurlah,, saya juga tidak terlalu faham dengan cerita-cerita html dan saya tidak tertarik menceritakannya disini,, bisa tulisannya sampe minggu depan baru selesai kalau itu juga di ceritakan. Ok anggaplah anda telah mengerti itu apa html.

Pertama sekali sebelum membuat input data dari php ke mysql, baiknya di buat dulu database di webservernya, kebetulan pake appserv, kamu bisa buat tuh databasenya dari phpmyadmin appserv, lewat link berikut di browser kesayanganmu

http://localhost/phpmyadmin

Jika sudah, buat aja tampilannya seperti gambar berikut:

Nah gambar diatas artinya.
  • Buat database bernama teruna
  • buat tabel bernama data_siswa dengan field id_siswa, nisn_siswa, nama_siswa dan jangan lupa khusus untuk id_siswa activkan extra=auto_increment dan klik gambar kunci (PRIMARY KEY)
  • Klik simpan. 
Kemudian buat file koneksi.php di directory webserver yang kita mau, kebetulan disini di buat di folder/directory latihan, kemudian isikan file seperti berikut didalam koneksi.php

<?php
$host="localhost"; //alamat localhost
$user="root"; //user phpmyadmin
$password="12345"; //pass phpmyadmin
$db="teruna"; //nama database
$koneksi=mysql_connect($host,$user,$password) or die (mysql_error());
mysql_select_db($db, $koneksi) or die (mysql_error());
?>

Simpan file diatas dengan nama koneksi.php simpan di folder www appserv (webserver yang di gunakan) buka dari browser file yang disimpan tadi, ada error atau tidak. Kalau ada error silahkan di chek codenya dengan benar dan di sesuaikan dengan configurasi phpmyadmin dan mysql yang kita gunakan.

Bingung ya apa... kalo bingung ya wajar... www.mandailingantal.com juga pertama sekali mengenal php itu bingung juga.. karena kebingungang itulah makanya kita belajar bersama, sekalianlah buat saya berbagi sedikit dari sedikit yang saya tau.

$host="localhost"

Fungsinya itu variable yang mendeklarasikan server atau ip dari server databasenya, localhost boleh juga di ganti dengan ip loopback, yaitu angka 127.0.0.1 (ditulis angka 127.0.0.1) sebagai pengganti tulisan localhost.

$user="root";

Fungsinya variable $user="root", untuk mendeklarasikan user phpmyadmin yang di localhost

$password="12345";

fungsinya untuk mendeklarasikan password phpmyadmin dari webserver kita, kalau tidak pernah men-set password untuk phpmyadminnya ya kosongkan aja, kebetulan appserv saat di install diset passwordnya 12345 makanya variable $password="12345";

Kalau pake Xampp biasanya di kosongin aja, tergantung kamu deh.. sesuai webservernya aja ya..

$db="teruna";

fungsinya variabel $db="teruna", ya mendeklarasikan database apa yang ada di phpmyadmin kita, yang akan kita gunakan sebagai database penampung tabel database yang akan kita set nanti di input data yang kita buat, atau kita tampilkan ke browser apa isinya.

$koneksi=mysql_connect($host,$user,$password) or die (mysql_error());

$koneksi=mysql_connect($host,$user,$password) or die (mysql_error()) artinya koneksikan dong phpnya dengan mysql.. makanya mysql_connect dia, memerintahkan php untuk mengkoneksikan diri ke mysql dengan informasi user, password dan host yang kita set di variable atasnya

mysql_select_db($db,$koneksi);

nih artinya pilih database dengan informasi di variable $db;

Selanjutnya apa?

ya buat form inputnya dong pake html, makanya saya bilang sebelumnya harus mengerti sedikit soal html, biarpun tidak mengerti cobalah fahami sedikit kode html berikut:

<html>
    <head>
        <title>Input Data Siswa</title>
    </head>
<body>
<h1>Input data </h1>
<form action="tambah_data.php" method="POST">
<table>
    <tr>
        <td> Nisn </td>
        <td><input type="text" name="nisn_siswa" /> </td>
    </tr>
    <tr>
        <td> Nama </td>
        <td><input type="text" name="nama_siswa" /> </td>
    </tr>
    <tr>
        <td><input type="submit" name="ok" value="Tambah"></td>
    </tr>
</form>
</body>
</html>
simpan dengan nama input_data.php simpan di wwwnya appserv. Kemudian buat file baru bernama tambah_data.php

<?php
include('koneksi.php'); //fungsinya untuk memanggil halaman koneksi yang kita buat sebelumnya
$nisn=$_POST['nisn_siswa']; //memproses file yang dikirim dari browser ke php berdasar variable nisn_siswa
$nama=$_POST['nama_siswa']; //memproses file yang di kirim berdasar file html pada variabel nama_siswa

mysql_query("INSERT INTO data_siswa VALUES('','$nisn','$nama')");
echo "Sukses Tambah Data"; //pesan sukses/gagal tambah data
?>

simpan di folder yang sama dengan  koneksi.php, input_data.php, tambah_data.php  Kode inilah yang memproses inputan /ketikan di html dan mengirimkannya kedalam database.

Dengan kode sesingkat diatas, sebenernya kita sudah bisa memasukkan data kedalam database, namun masih banyak kekurangnanya. Mungkin kita tidak ingin ada data kosong didalam database, kita bisa menerapkan fungsi isset untuk memvalidasi apakah variable sudah terisi atau belum. Nah dengan fungsi ini kita harus mengerti sedikit lagi bahasa pemrograman php yaitu bagian kondisi if.

Logikanya untuk memvalidasi data diatas apakah variabel sudah terisi atau belum misalnya seperti ini. Apakah tombol Tambah sudah di klik atau Enter, jika sudah di klik maka input data kedalam database, jika variable nisn_siswa dan nama_siswa di tidak disi di form htmlnya, maka keluarkan pesan error yang mewajibkan user harus mengisinya.

Kalau menggunakan sedikit validasi sederhana yang menampilkan pesan error ketika form kosong, dan pesan sukses memasukkan kedatabase ketika form sudah terisi bisa menggunakan code seperti ini :

<?php
if(isset($_POST['ok']))
{
include('koneksi.php'); //fungsinya untuk memanggil halaman koneksi yang kita buat sebelumnya
$nisn=$_POST['nisn_siswa']; //memproses file yang dikirim dari browser ke php berdasar variable nisn_siswa
$nama=$_POST['nama_siswa']; //memproses file yang di kirim berdasar file html pada variabel nama_siswa
if(empty($nisn) || empty($nama)){
echo " Form tidak boleh ada yang kosong";
}
else
{
mysql_query("INSERT INTO data_siswa VALUES('','$nisn','$nama')");
echo "Sukses Tambah Data"; //pesan sukses/gagal tambah data

}
}
?>

Cara membaca kode diatas :

Jika tombol tambah /pastikan tombol tambah disentuh (kenapa dipasikan disentuh ?). Maka ingatlah satu hal bahwa, kondisi if else secara default memiliki nilai true (benar). Maknanya adalah jika tombol Tambah di sentuh, di enter, maka buka file koneksi.php kemudian tampung inputan yang di html kedalam variabel $nisn dan $nama, kemudian chek apakah viariabel $nisn dan $nama dikosongkan atau tidak, jika kosong keluarkan pesan Form tidak boleh ada yang kosong . Namun jika sebaliknya, simpan inputan yang di ketik di html kedalam database.

Perhatikan urusan nilai VALUES pada mysql_query yaitu bagian (' ','$nisn','$nama')");

Sebelum tulisan $nisn, ada tuh tanda kutip dua kali ' '  atau boleh di ganti dengan tulisan NULL. 
Pada bagian yang di warnai merah, harus di sesuaikan urutannya dengan kolom yang ada di tabel_siswa.  yaitu kolom ke berapa yang menampung nisn dan kolom ke berapa yang menampung nama, jangan terbalik seperti ini (' '. '$nama','$nisn) urusan ini sudah salah karena kolom database kita, di kolom pertama adalah id_siswa kolom kedua nisn_siswa dan kolom ketiga nama_siswa.

Mudah-mudahan tulisan ini bermanfaat, di lain kesempatan posting yang akan di buat, cara menampilkan isi database dengan php

Belajar Setting Mikrotik - Belajar Pemrograman Java - Belajar Pemrograman Pascal Belajar PHP OOP

Cari Blog Ini

Arsip Blog

Diberdayakan oleh Blogger.

Postingan Populer