Monday, January 25, 2016

Apa itu DHCP dan Bagaimana DHCP Bekerja

DHCP adalah singkatan dari Dynamic Host Configuration Protocol

Protokol ini digunakan untuk mengkontrol konfigurasi network sebuah host melalui remote server. DHCP merupakan protokol yang sangat populer dan digunakan oleh banyak orang karna mampu mengurangi time-consume dibandingkan harus menggunakan metode konfigurasi manual, mungkin Anda bisa membayangkan tanpa DHCP pada sebuah jaringan berskala besar maka network administrator harus melakukan konfigurasi jaringan satu per satu di masing-masing host.

DHCP menggunakan UDP Port 67 dan 68. Dimana UDP port number 67 adalah destination port dari Server dan UDP port number 68 digunakan oleh Client.

Bagaimana DHCP Bekerja?
Kenapa sih kita harus memahami bagaimana cara DHCP bekerja? Sebenernya sederhana saja, memahami konsep bagaimana DHCP bekerja akan membantu Anda melakukan debugging dan troubleshoot di lapangan. Di lapangan akan ada suatu kondisi ketika host tidak mendapatkan IP dari DHCP-Server, maka disaat itulah pengetahuan akan hal ini berguna.

Metode kerja DHCP adalah client-server model, artinya ada sebuah server yang bertugas untuk melakukan assignment, mengkontrol kelompok IP tertentu lalu kemudian melakukan lease IP ke client yaitu host.

Proses pertukaran informasi yang dikenal oleh sebagian administrator adalah DORA.
  • Discover 
  • Offer 
  • Request 
  • Acknowledge

DHCP DiscoverSebuah proses dimana client melakukan sebuah broadcast ke network (local subnet) mereka untuk menemukan sebuah DHCP server. Broadcast message yang dilakukan menggunakan IP Address 255.255.255.255 sebagai destination IP Address dan source IP Address adalah 0.0.0.0.

DHCP Offering - Adalah sebuah message yang merupakan response dari DHCP discover yang dilakukan oleh DHCP server ke client. DHCP offer adalah sebuah proses dimana DHCP server mengirim sebuah unicast "offering", yaitu sebuah IP Address ke host/client. Apabila kita membedah paket yang dikirim dalam DHCP offer ini, maka akan terlihat bahwa paket ini berisi network configuration setting untuk host yang mengirim DHCP Discover message.

DHCP Request - Sebuah message yang dikirim oleh si host/client yang menandakan bahwa si host tersebut telah menerima offering atau network configuration pada proses DHCP offer. Hal ini sekaligus menandakan bahwa IP Address tersebut sudah dipinjam dan untuk sementara waktu tidak bisa lagi digunakan oleh orang lain sampai lease time habis.

DHCP Acknowledge - Adalah sebuah kondisi dimana DHCP server mengirim sebuah unicast message ke host/client. DHCP Acknowledge berisi pernyataan dari si DHCP server bahwa saat itu juga si client/host telah memiliki authorisasi dan wewenang menggunakan IP Address yang telah ditawarkan ketika proses DHCP offer dalam network mereka.

Urutan proses diatas DORA (Discover, Offering, Request, Acknowledge), merupakan urutan proses proses default bagaimana sebuah host/client mendapatkan IP Address dari DHCP server di dalam sebuah network.


Sebagai pengetahuan tambahan, perlu diketahui bahwa ada beberapa message lain dalam protokol DHCP. Message ini akan bekerja di beberapa kondisi seperti ketika IP Address sudah digunakan oleh host lain, dan lain sebagainya.

DHCP NAK (Negative Acknowledge) -  Message ini adalah kebalikan dari message DHCP ACK, biasanya message DHCP NAK akan dikirim oleh DHCP server ketika tidak mampu memenuhi DHCP Request message yang dikirim oleh host/client.

DHCP Decline - Message yang dikirim dari host/client ke DHCP server ketika host/client mengetahui bahwa IP Address yang diberikan telah digunakan oleh host/client lain.

DHCP Release - Message ini dikirim oleh host/client ketika ingin mengakhiri atau berhenti menggunakan IP Address yang dipinjamkan oleh DHCP Server.


Semoga bermanfaat.

Tuesday, January 19, 2016

Basic Profiling & Performance Analysis Tools di Linux dan Cara Menggunakannya

Profiling Tools adalah sebuah tools yang biasanya digunakan untuk mendapatkan informasi terkait performace pada sebuah perangkat yang kita gunakan. Ketika implementasi dalam sebuah project, aktifitas profiling menjadi begitu penting karna data yang didapatkan dari aktifitas tersebut dapat digunakan untuk bahan pengambilan keputusan apakah hardware tsb gagal atau tidak, apakah akan terjadi ekspansi atau tidak dan lain sebagainya.

Ada beberapa macam basic profiling tools di linux dan yang kali ini akan saya bahas yaitu adalah basic tools yang paling sering digunakan oleh sysadmin, antara lain adalah sebagai berikut.
  • top
  • free
  • vmstat
  • iostat
  • sar

1) TOP COMMAND
Command ini adalah salah satu command yang paling sering digunakan untuk mendapatkan informasi load server yang kita miliki. Selain caranya yang sederhana, informasi yang kita dapatkan juga bisa dibilang termasuk lengkap. Dibawah ini contoh-contoh penggunaan command top.

Display Basic Info



Dengan menggunakan command # top seperti gambar diatas, maka akan muncul informasi seperti task, memory, cpu, swap, zombie process, dsb.















Display Specific User
Gunakan top dengan option -u dan akan menampilkan specific user detail.










Highlight Running Process
Gunakan 'z' option setelah menggunakan command top, maka output yang dihasilkan akan membantu kamu mengindentifikasi process mana yang sedang berjalan.














Display Path Process
Gunakan 'c' option setelah menggunakan command top, maka output yang dihasilkan akan membantu kamu mengindentifikasi path direktori dari setiap process yang berjalan.










Mengganti Delay Interval 'Screen Refresh Interval' di Top
Secara default, ketika menggunakan top screen akan menampilkan kondisi terbaru setiap 3 detik. Namun apabila Anda ingin menggantinya menjadi tiap 1 detik atau sesuai keinginan maka gunakan option 'd' atau 's' untuk mengubahnya.
















Kill Running Process
Untuk menghentikan sebuah process yang sedang berjalan dari top, gunakan option 'k' lalu isi dengan PID yang ingin Anda kill.














Sort By CPU Utilisation
Gunakan tombol shift + P untuk mendisplay process bedasarkan sorting CPU Utilisation.














Sort By Memory Utilisation
Gunakan tombol shift + m untuk mendisplay process bedasarkan sorting Memory Utilisation.















2) FREE COMMAND
Free command memberikan informasi terkait physical memory yang tersedia dan sedang digunakan, termasuk informasi swap memory dengan buffer yang digunakan oleh kernel OS.

Display Basic Info
Display informasi physical memory dan swap memory yang digunakan oleh OS dalam satuan KB.






Display Dalam Satuan Bytes
Gunakan option '-b' untuk menampilkan dalam satuan bytes.





Display Dalam Satuan Kilobytes
Gunakan option '-k' untuk menampilkan dalam satuan kilobytes.





Display Dalam Satuan Megabytes
Gunakan option '-m' untuk menampilkan dalam satuan megabytes.





Display Dalam Satuan Gigabytes
Gunakan option '-g' untuk menampilkan dalam satuan gigabytes.





Display Low & High Memory Statistic
Gunakan option '-l' untuk menampilkan low & high memory statistic.







3) VMSTAT COMMAND
Salah satu tools yang paling powerful digunakan ketika troubleshoot dan juga profiling adalah vmstat. Command vmstat, iostat, dan sar masuk kedalam package sysstat dan untuk menginstall package tersebut bisa gunakan yum seperti gambar di bawah ini.




Ketika menggunakan command vmstat, kita dapat menggunakan 2 argument. Pertama adalah delay, kedua adalah counter. Delay adalah value dari detik antara output informasi yang ditampilkan, sedangkan Counter adalah berapa kali Anda ingin menampilkan informasi dengan vmstat ini.

Sebagai catatan, vmstat akan menampilkan informasi dalam satuan bytes secara default. Apabila menggunakan option '-S' maka memungkinkan kita mengganti format output dalam satuan KB, MB, MiB dengan -S k, -S m, -S M, dsb.

Contoh penggunaan vmstat untuk profiling dan performance analysis ialah seperti dibawah ini.

Listing Active & Inactive Memory
Pada contoh dibawah terdapat 6 kolom yaitu procs, memory, swap, io, system, cpu. Namun ketika melakukan listing active & inactive memory maka field yang paling penting diperhatikan adalah bagian dibawah memory dan bagian dibawah swap. 

Gunakan options '-a' seperti gambar dibawah ini.





Execute vmstat ‘X’ seconds dan ‘N’ number of times
Sebagai contoh, kita ingin menampilkan informasi dengan vmstat setiap 2 detik dan akan otomatis berhenti ketika mencapai interval ke-5.

Gunakan command #vmstat 2 5 seperti gambar dibawah ini.







Display Timestamps
Command vmstat dengan parameter '-t' akan menampilkan timestamps di setiap line yang di print.






Display Variasi Counter
Gunakan paramater '-s' untuk menampilkan summary dari variasi event counter dan memory statistic.
























Disks Statistic
Gunakan options '-d' untuk menampilkan seluruh disks statistik.





















Display Statistik Dalam Satuan Megabytes
Command vmstat akan menampilkan informasi dalam satuan megabytes dengan parameter -S dan M (Uppercase & Megabytes). Sebagai catatan, option ini ada karna by default vmstat menampilkan informasi dalam satuan kilobytes.







4) IOSTAT COMMAND
Command iostat digunakan untuk menampilkan informasi CPU statistik dan juga informasi Input/Output dari device, partisi, NFS, dsb.

Display CPU and I/O Statistik
Command iostat tanpa argumen akan menampilkan informasi kernel apa yang digunakan, informasi statistik CPU dan I/O dari semua partisi.






Display Hanya CPU Statistik 
Gunakan options '-c' apabila hanya ingin menampilkan statistik CPU saja.





Display Hanya Disk I/O Statistik
Gunakan options '-d' apabila hanya ingin menampilkan statistik I/O dari seluruh partisi.





Display Statistik Disk I/O dari Single Device
Secara default iostat akan menampilkan informasi dari seluruh partisi, apabila ingin di filter gunakan options '-p' dan ditambah dengan device name. Sebagai contoh, dibawah ini hanya menampilkan statistik I/O dari device SDA.








Display LVM Statistik
Gunakan options '-N' untuk menampilkan statistik I/O dari device LVM.

Notes : Karna di server saya belum ada lvm maka yg tampil hanya statistik dari device sda.


5) SAR COMMAND
Command sar (system activity reporter) adalah salah satu multi-purpose analysis tools yang merupakan bagian dari sysstat package. SAR dapat bekerja dalam 2 mode, yaitu : pertama, bisa dikombinasikan dengan cronjob. Kedua, bisa juga digunakan untuk mendapatkan data instant dari state di system yang kita miliki.
Selain itu SAR dapat digunakan untuk mencollect informasi seperti :
  1. Collective CPU usage
  2. Individual CPU statistics
  3. Memory used & available
  4. Swap space used & available
  5. Overall I/O activity system
  6. Individual device I/O activity
  7. Context switch statistics
  8. Run queue & load average data
  9. Network statistics
Dibawah ini contoh penggunaannya.

Collective CPU usage
Contoh dibawah ini, akan menampilkan informasi dengan sar setiap 2 detik dan akan otomatis berhenti ketika mencapai interval ke-3.






Individual CPU statistics
Contoh dibawah ini, menampilkan informasi CPU dari seluruh core dan single core (misal core ke-0) setiap 2 detik dan akan otomatis berhenti di interval ke-3.
  1. Menampilkan seluruh core statistik. Gunakan parameter ALL(seluruh CPU core), lalu second (2), lalu interval (3).
  2. Menampilkan statisik core ke-1 (core ke-0 dalam array). Gunakan parameter 0 (Core ke-1), lalu second (2), lalu interval (3).

Memory Used & Memory Available Statistik
Gunakan options '-r' dan akan menampilkan statistik memory yang sedang digunakan saat ini. Biasanya informasi yang paling sering digunakan adalah dari kolom 'kbmemfree' dan 'kbmemuses'.






Swap Space Used & Swap Available Statistik
Gunakan options '-S' dan akan menampilkan statistik swap used dan swap available yang sedang digunakan saat ini. Biasanya informasi yang paling sering digunakan adalah dari kolom 'kbswpused' dan '%swpused'






Overall I/O Activity System
Gunakan options '-b' dan akan menampilkan informasi I/O Statistik, field informasi yang akan ditampilkan antara lain.
  • tps – Transactions per second (termasuk keduanya read & write)
  • rtps – Read transactions per second
  • wtps – Write transactions per second
  • bread/s – Bytes read per second
  • bwrtn/s – Bytes written per second






Individual Device I/O Activity
Gunakan command '-d' untuk mengindentifikasi individual block devices (contoh : spesifik mounting point, LUN, partition, dsb).






Context Switch Statistics
Gunakan option '-w' dan akan menampilkan informasi total nomor process yang dibuat dalam 1 detik dan total nomor context switch per detik.






Run Queue & Load Average Data
Gunakan options '-q' dan akan menampilkan informasi running queue size dan load average data dalam 1 menit terakhir (ldavg-1), 5 menit (ldavg-5), dan 15 menit (ldavg-15).






Network Statistics Reports
Command sar dapat digunakan untuk menampilkan berbagai macam statistik informasi dari penggunaan network device di server kita. 
Format yang digunakan antara lain adalah seperti dibawah ini.



Keyword yang digunakan juga bervariasi, antara lain.
  • DEV – Displays network devices vital statistics for eth0, eth1, dsb.
  • EDEV – Display network device failure statistics
  • NFS – Displays NFS client activity
  • NFSD – Displays NFS server activity
  • SOCK – Displays sockets pada penggunaan IPv4
  • IP – Displays IPv4 network traffic
  • EIP – Displays IPv4 network errors
  • ICMP – Displays ICMPv4 network traffic
  • EICMP – Displays ICMPv4 network errors
  • TCP – Displays TCPv4 network traffic
  • ETCP – Displays TCPv4 network errors
  • UDP – Displays UDPv4 network traffic
  • SOCK6, IP6, EIP6, ICMP6, UDP6 are for IPv6
  • ALL – Displays semua informasi diatas.
Sebagai contoh yang paling sering digunakan adalah display informasi statistic dari interface network. Gunakan options '-n' dan keyword DEV.













Dan Alhamdullilah selesai juga! Lumayan panjang nulisnya sampe harus bersambung di hari ini dan kemudian di publish. Semoga bermanfaat buat yang membaca ya.

Monday, January 18, 2016

Pengertian Database, DBMS dan RDBMS

Ketika mengembangkan sebuah website yang bersifat dinamis sudah hampir dipastikan bahwa Anda akan membutuhkan sebuah database, terlepas dari apapun database yang digunakan kita harus mengerti apa itu database, dbms dan rdbms.

Apa itu Database?
Banyak definisi harfiah soal database dan orang awam pun dapat memahami bahwa database adalah sebuah tempat penyimpanan data. Database adalah sebuah tempat penyimpanan data dari kumpulan informasi di dalam komputer yang dihimpun secara sistematis sehingga dapat diolah oleh program komputer yang dapat menghasilkan sebuah data untuk tujuan tertentu.

Hasil olahan yang dihasilkan dari database biasanya bisa digunakan untuk mengambil sebuah keputusan penting bagi sebuah perusahaan, database juga bisa digunakan untuk menyimpan data history sebuah perusahaan dan masih banyak lagi fungsinya.

Apa itu DBMS?
Database adalah kumpulan basis data dan jumlahnya pasti sangat banyak dan membingungkan, karna hal inilah muncul konsep manajemen database modern. Pada era saat ini sangat banyak DBMS yang memudahkan user untuk mengelola database mereka, DBMS adalah sebuah tools perangkat lunak yang digunakan user untuk membuat, memanipulasi, mengontrol dan mengakses database yang mereka miliki secara cepat dan efisien. 

Ada begitu banyak DBMS yang populer digunakan di dunia saat ini mulai dari yang opensource, gratis, sampai yang license berbayar. Beberapa diantara DBMS yang terkenal antara lain.
  • Microsoft SQL Server
  • Oracle
  • Teradata
  • MySQL
  • PostgreSQL

Selain yang disebutkan diatas masih banyak lagi DBMS yang dapat digunakan untuk mengelola database yang Anda miliki.

Apa itu RDBMS?
Banyak yang bingung ketika ditanya apa itu RDBMS, RDBMS (Relationship Database Management System) adalah sebuah DBMS yang mendukung adanya hubungan relationship antara tabel. MySQL adalah salah satu RDBMS yang paling populer digunakan di seluruh dunia karna selain gratis MySQL juga stabil dan memiliki fitur yang lumayan lengkap.

Suatu database terdiri dari banyak tabel dan tabel ini terdiri dari banyak field yang merupakan kolomnya. Isi tiap baris dari tabel inilah merupakan data. Sedangkan untuk membuat data saling terhubung dan terintegrasi, maka satu tabel dengan tabel yang lainnya harus memiliki hubungan antara satu dengan yang lainnya. Setiap tabel mempunyai sebuah primary key, lalu primary key ini dihubungkan dengan tabel kedua dan menjadi foreign key di tabel kedua ini.

Dengan konsep seperti inilah data akan saling terhubung dan disebut relational, karna data dalam tabel yang satu terhubung dengan tabel yang lainnya.

Berbagai macam relasi dalam database, antara lain.
  • One-to-One
  • One-to-Many
  • Many-to-Many

Sekian tulisan dari saya, semoga bermanfaat.

Sunday, January 17, 2016

Perintah CMD (Command Prompt) yang Wajib Diketahui SysAdmin

Tulisan ini sebagai catatan aja, karna saya sendiri masih mendalami Windows dan bukan spesialis di OS Windows. Windows adalah Operating System paling populer di dunia dan saya yakin 98% dari Anda yang baca blog saya pasti pernah pake OS Windows. Dari awal kemunculannya OS Windows sudah mengalami perkembangannya sangat pesat dari tampilan awal berupa DOS hingga saat ini berupa GUI yang sangat memudahkan user ketika menggunakannya.

Meskipun begitu tetap saja CMD alias command prompt tidak bisa ditinggalkan begitu saja, terutama buat system administrator minimal harus tau command apa saja yg biasa digunakan di windows CMD.

Berikut dibawah ini command CMD yang biasa digunakan oleh system administrator.

CARA MEMBUKA CMD
Klik start atau win + R, lalu ketik cmd.















Berikut 100+ kumpulan perintah CMD (Command Prompt) yang paling tidak perlu kita ketahui.

  1. Accessibility Controls = access.cpl
  2. Add Hardware Wizard = hdwwiz.cpl
  3. Add/Remove Programs = appwiz.cpl
  4. Administrative Tools = control admintools
  5. Automatic Updates = wuaucpl.cpl
  6. Bluetooth Transfer Wizard = fsquirt
  7. Calculator = calc
  8. Certificate Manager = certmgr.msc
  9. Character Map = charmap
  10. Check Disk Utility = chkdsk
  11. Clipboard Viewer = clipbrd
  12. Command Prompt = cmd
  13. Component Services = dcomcnfg
  14. Computer Management = compmgmt.msc
  15. Date/Time Properties = timedate.cpl
  16. DDE Share = ddeshare
  17. Device Manager = devmgmt.msc
  18. Direct X Control Panel (If Installed)* = directx.cpl
  19. Direct X Troubleshooter = dxdiag
  20. Disk Cleanup Utility = cleanmgr
  21. Disk Defragment = dfrg.msc
  22. Disk Management = diskmgmt.msc
  23. Disk Partition Manager = diskpart
  24. Display Properties = control desktop
  25. Display Properties = desk.cpl
  26. Display Properties (w/Appearance Tab Preselected) = control color
  27. Dr. Watson System Troubleshooting Utility = drwtsn32
  28. Driver Verifier Utility = verifier
  29. Event Viewer = eventvwr.msc
  30. File Signature Verification Tool = sigverif
  31. Findfast = findfast.cpl
  32. Folders Properties = control folders
  33. Fonts = control fonts
  34. Fonts Folder = fonts
  35. Free Cell Card Game = freecell
  36. Game Controllers = joy.cpl
  37. Group Policy Editor (XP Prof) = gpedit.msc
  38. Hearts Card Game = mshearts
  39. Iexpress Wizard = iexpress
  40. Indexing Service = ciadv.msc
  41. Internet Properties = inetcpl.cpl
  42. IP Configuration (Menampilkan konfigurasi koneksi) = ipconfig /all
  43. IP Configuration (Menampilkan konten DNS Cache) = ipconfig /displaydns
  44. IP Configuration (Mendelete DNS konten Cache) = ipconfig /flushdns
  45. IP Configuration (Pelepasan Semua Koneksi) = ipconfig /release
  46. IP Configuration (Memperbaharui Semua Koneksi) = ipconfig /renew
  47. IP Configuration (Refreshes DHCP & Re-Registers DNS) = ipconfig /registerdns
  48. IP Configuration (Menampilkan DHCP Class ID) = ipconfig /showclassid
  49. IP Configuration (Memodifikasi DHCP Class ID) = ipconfig /setclassid
  50. Java Control Panel (Jika diinstall) = jpicpl32.cpl
  51. Java Control Panel (Jika diinstall) = javaws
  52. Keyboard Properties = control keyboard
  53. Local Security Settings = secpol.msc
  54. Local Users and Groups = lusrmgr.msc
  55. Logs You Out Of Windows = logoff
  56. Microsoft Chat = winchat
  57. Minesweeper Game = winmine
  58. Mouse Properties = control mouse
  59. Mouse Properties = main.cpl
  60. Network Connections = control netconnections
  61. Network Connections = ncpa.cpl
  62. Network Setup Wizard = netsetup.cpl
  63. Notepad = notepad
  64. Nview Desktop Manager (If Installed) = nvtuicpl.cpl
  65. Object Packager = packager
  66. ODBC Data Source Administrator = odbccp32.cpl
  67. On Screen Keyboard = osk
  68. Opens AC3 Filter (If Installed) = ac3filter.cpl
  69. Password Properties = password.cpl
  70. Performance Monitor = perfmon
  71. Phone and Modem Options = telephon.cpl
  72. Power Configuration = powercfg.cpl
  73. Printers and Faxes = control printers
  74. Printers Folder = printers
  75. Private Character Editor = eudcedit
  76. Quicktime (If Installed) = QuickTime.cpl
  77. Regional Settings = intl.cpl
  78. Registry Editor = regedit
  79. Registry Editor = regedit32
  80. Remote Desktop = mstsc
  81. Removable Storage = ntmsmgr.msc
  82. Removable Storage Operator Requests = ntmsoprq.msc
  83. Resultant Set of Policy (XP Prof) = rsop.msc
  84. Scanners and Cameras = sticpl.cpl
  85. Scheduled Tasks = control schedtasks
  86. Security Center = wscui.cpl
  87. Services = services.msc
  88. Shared Folders = fsmgmt.msc
  89. Shuts Down Windows = shutdown
  90. Sounds and Audio = mmsys.cpl
  91. Spider Solitare Card Game = spider
  92. SQL Client Configuration = cliconfg
  93. System Configuration Editor = sysedit
  94. System Configuration Utility = msconfig
  95. System File Checker Utility (Segera scan)=>Perintah=>sfc /scannow
  96. System File Checker Utility (Pindai Sekali Pada Boot Berikutnya) =>Perintah=>sfc /scanonce
  97. System File Checker Utility (Scan seluruh Boot)=>Perintah=>sfc /scanboot
  98. System File Checker Utility (Kembali ke setting Default)=>Perintah=>sfc /revert
  99. System File Checker Utility (Purge File Cache) = sfc /purgecache
  100. System File Checker Utility (Set Cache Size untuk ukuran x) = sfc /cachesize=x
  101. System Properties = sysdm.cpl
  102. Task Manager = taskmgr
  103. Telnet Client = telnet
  104. User Account Management = nusrmgr.cpl
  105. Utility Manager = utilman
  106. Windows Firewall = firewall.cpl
  107. Windows Magnifier = magnify
  108. Windows Management Infrastructure = wmimgmt.msc
  109. Windows System Security Tool = syskey
  110. Windows Update Launches = wupdmgr
  111. Windows XP Tour Wizard = tourstart
  112. Wordpad = write


Saya bukan spesialis OS Windows dan memang tulisan ini sebagai catatan pribadi saja dan disadur dari blog lain yang sumbernya saya camtumkan.
Semoga bermanfaat.

sumber : https://jalantikus.com/tips/perintah-cmd-command-prompt/