Chapter 1 — Python Network Programming Cookbook Second Edition (Translate Indonesia) | Menampilkan Waktu Terkini dengan NTP Server

Chalid Ade Rahman
3 min readMar 29, 2019

--

Chapter 1

Sockets, IPv4, and Simple Client/Server Programming

1. Tujuan :

Adapun materi dalam praktikum ini diantaranya :

  1. Mencetak hostname dan alamat IPv4 Komputer
  2. Mendapatkan alamat IP dari remote mechine
  3. Mengonversi alamat IPv4 ke dalam format lainya
  4. Menemukan nama layanan, diberi port dan protokol
  5. Mengubah integer ke dan dari host ke urutan byte jaringan
  6. Mengatur socket timeout dari settingan default
  7. Menangani Error Socket Handling
  8. Memodifikasi ukuran buffer
  9. Mengubah soket ke mode pemblokiran / non-pemblokiran
  10. Menggunakan kembali alamat soket
  11. Mencetak waktu terkini dari NTP Server
  12. Membuat Program SNTP Client
  13. Membuat aplikasi client/ server TCP sederhana
  14. Membuat aplikasi client / server UDP sederhana

2. Percobaan

Menampilkan Waktu Terkini dengan NTP Server

Banyak program yang membutuhkan keakurasian waktu, seperti perintah make pada UNIX. Waktu pada komputer anda bisa saja berbeda sehingga dibutuhkan singkronisasi dengan waktu server lainya dalam jaringan Anda.

Persiapan

Salah satu cara mensingkronkan waktu komputer anda adalah dengan menggunakan salah satu waktu server dari internet. Anda dapat menulis dalam bahasa Python untuk client dalam menyelesaikan masalah tersebut. Salah satu caranya adalah menggunakan, ntplib. Dengan ini, komunikasi antara client/server dapat bejalan baik dengan menggunakan Network Time Protokol (NTP). Jika ntplib belum terinstall di komputer Anda, anda dapat menginstallnya dari Pypi dengan perintah pip atau easy_install:

$ pip install ntplib

Jika pip belum terinstall di komputer anda, Langkah pertama adalah mengintallnya sebelum mengjalankan perintah diatas. Di Debian Linux biasanya Ubuntu, Menginstall pip dapat dilakukan dengan cara berikut :

$ sudo apt install python-pip

Perlu dicatata bahwa Jika Anda menggunakan Python 3, maka anda perlu menginstallnya secara terpisah. Artinya kedua pip tersebut dijalankan secara terpisah. Begitu juga jika Anda menggunakan Python 2. Biasanya untuk menginstall Python 3 dilakukan dengan cara berikut :

$ sudo apt-get install python3-pip

Begitu juga, ntplib juga butuh di install di python3-pip secara terpisah seperti berikut :

$ pip3 install ntplib

Cara bagus juga jika Anda ingin mengupgrade pip versi lama. Jika masih menggunakan versi lama, hal ini dapat diselesaikan dengan cara mengikuti perintah berikut :

$ pip install — upgrade pip

Atau

$ pip3 install — upgrade pip

Jika anda menggunakan Python 2 dan Python 3 maka keduanya harus terinstal bersamaan di komputer anda.

Bagaimana Cara Melakukannya

Kita akan membuat NTPClient yang kemudian memanggilnya dengan metod request() dan di lewatkan ke alamat dari NTP Server.

Listing 1.11. Menampilkan waktu sekarang dari waktu server internet.

#!/usr/bin/env python

# Python Network Programming Cookbook, Second Edition — Chapter — 1

# This program is optimized for Python 2.7.12 and Python 3.5.2.

# It may run on any other version with/without modifications.

import ntplib

from time import ctime

def print_time():

ntp_client = ntplib.NTPClient()

response = ntp_client.request(‘pool.ntp.org’)

print (ctime(response.tx_time))

if __name__ == ‘__main__’:

print_time()

Pada setiap komputer, cara ini akan menampilkan keluaran seperti berikut :

$ python 1_11_print_machine_time.py

Fri Jun 2 16:01:35 2017

Bagaimana Cara Kerjanya

NTP Client telah dibuat dan permintaan NTP sudah dikirim ke internet NTP Server, pool.nntp.org. Fungsi chtime() ini digunakan untuk menampilkan respons dari NTP server.

--

--

Chalid Ade Rahman
Chalid Ade Rahman

Written by Chalid Ade Rahman

PHP Programmer | PT Electronic Data Interchange Indonesia | Question : chalidade@gmail.com

No responses yet