Cara menggunakan TRASLANTE pada Python

Cara menggunakan TRASLANTE pada Python

Gambar 1 : Cover Buku Python Network Programming Cookbook 2nd Edition

Chapter 1

Sockets, IPv4, and Simple Client/Server Programming

1. Tujuan :

Adapun materi dalam praktikum ini diantaranya :

  1. Mencetak nama dan alamat IPv4 Komputer
  2. Mengambil 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 dan mendapatkan batas waktu soket default
  7. Menangani socket error dengan baik
  8. Memodifikasi ukuran buffer
  9. Mengubah soket ke mode pemblokiran / non-pemblokiran
  10. Menggunakan kembali alamat soket
  11. Mencetak waktu terkini dari time server internet
  12. Membuat Program SNTP Client
  13. Membuat aplikasi client/ server TCP sederhana
  14. Membuat aplikasi client / server UDP sederhana

2. Pengenalan :

Dalam chapter ini akan diperkenalkan Python’s core networking library melalui beberapa percobaan. Python’s socket memiliki modul class-based dan instance-based utilities. Perbedaan diantara keduanya adalah class-based tidak membutuhkan socket object. Misalnya, ketika Anda ingin melakukan pencetakan IP Address komputer, Anda tidak perlu socket object. Anda hanya perlu memanggil class dari socket yang sudah tersedia. Berbeda dengan instance-based, jika Anda ingin mengirimkan data ke server, anda butuh membuat socket objeknya untuk melakukan operasi tersebut. Dalam praktikum ini kita akan melakukan percobaan untuk menulis aplikasi client/server sendiri dengan bahasa pemrograman python.

3. Prosedur Percobaan :

a. Mencetak Hostname dan IPv4 Address Komputer

Terkadang, Anda perlu menemukan beberapa informasi tentang komputer Anda dengan cepat misalnya, nama host, alamat IP, jumlah antarmuka jaringan, dan sebagainya. Beberapa hal ini dapat dengan mudah dilakukan dengan menggunakan bahsa pemrograman Python.

Anda perlu menginstall Python terlebih dahulu di komputer Anda sebelum mulai melakukan praktikum ini. Python dapat diinstall di windows maupun linux. Untuk Anda pengguna Windows, Anda dapat mendownload dari website Python : http://python.org/download/

Versi terakhir Python adalah Python 3.x yang rilis setelah Python 2.x meski masih banyak pengguna linux dan macOs yang menggunakan versi ini 2.0 secara default. Silahkan mendownload installer untuk operating system Anda dengan sesuai 32bit atau 64 bit.

Anda juga dapat melihat documentation untuk melakukan installasi python di komputer anda. Setelah terintall, anda dapat mencoba Python dengan membuka terminal dan mengetikkan “python” di terminal Anda. Selanjutkan akan muncul tampilan seperti berikut :

~$ python

Python 2.7.12 (default, Nov 19 2016, 06:48:10)

[GCC 5.4.0 20160609] on linux2

Type “help”, “copyright”, “credits” or “license” for more information.

>>>

Pada versi terakhir dari ubuntu sejak Ubuntu 14.04, Python 3 dapat dijalankan dengan perintah python3. Seperti berikut :

~$ python3

Python 3.5.2 (default, Nov 17 2016, 17:05:23)

[GCC 5.4.0 20160609] on linux

Type “help”, “copyright”, “credits” or

“license” for more information.

>>>

Sama halnya dengan versi lainya, Anda dapat memilih versi python yang ingin anda gunakan, misalnya untuk menjalankan Python 2, Anda dapat menjalankannya dengan perintah python2 seperti berikut :

~$ python2

Python 2.7.12 (default, Nov 19 2016, 06:48:10)

[GCC 5.4.0 20160609] on linux2

Type “help”, “copyright”, “credits” or “license” for more information.

>>>

Ada sedikit perubahan pada Python 3 yang membuat beberapa code pada Python 2 tidak compatible. Ketika Anda menulis program untuk aplikasi network, Sangat disarankan menggunakan Python 3 karena ada beberapa perubahan yang lebih baik dari versi sebelumnya.

Perlu diketahui bahwa, percobaan yang akan kita lakukan ditulis dengan bahasa pemrograman Python 3, dikarenakan beberapa network project dan module mengalami beberapa pembaruan dari Python 2.

Pertama kita perlu import Python socket library dengan perintah :

>>> import socket

Kemudian, kita panggil method gethostname() dari socket library dan menyimpan hasilnya dalam sebuah variabel seperti berikut

>>> host_name = socket.gethostname()

>>> print “Host name: %s” %host_name

Host name: llovizna

>>> print “IP address: %s”

%socket.gethostbyname(host_name)

IP address: 127.0.1.

Setiap aktivitas dapat dibungkus dalam sebuah function, print_machine_info(), yang dimana menggunakan dan tersedia di socket class method.

Kita dapat memanggil function dari Python __main__ block seperti biasa. Selama runtime, Python akan menetapkan nilai dari beberapa internal variabel sebagai __name__. Pada case ini, __name__ mengarah pada nama dari proses pemanggilan. Ketika kita menjalankan program di comman line, seperti yang ditampilkan pada perintah dibawah, nama functionnya adalah __main__. Tetapi bisa saja berbeda jika module yang kita import, mengambil dari script lain. Artinya ketika modul dipanggil dari command line, secara otomatis akan menjalankan function print_machine_info().

Listing Program 1.1, menampilkan informasi komputer Anda :

#!/usr/bin/env python

# 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 socket

def print_machine_info():

host_name = socket.gethostname()

ip_address = socket.gethostbyname(host_name)

print (“Host name: %s” %host_name)

print (“IP address: %s” %ip_address)

if __name__ == ‘__main__’:

print_machine_info()

Untuk menjalankan program ini, anda dapat menggunakan perintah seperti berikut di command line

$ python 1_1_local_machine_info.py

Di komputer anda, Akan muncul tampilan seperti berikut

Cara menggunakan TRASLANTE pada Python

Hostname adalah nama komputer yang telah anda daftarkan saat proses installasi. Output bisa saja berbeda berdasarkan konfigurasi system host Anda.

Bagaimana Cara Kerjanya :

Import socket melakukan import pada salah satu libarary dari Python’s core networking. Kemudian, kita menggunakan dua function gethostname() dan gethostbyname(host_name). Anda dapat mengetikkkan help(socket.gethostname) untuk melihat informasi terkait function tersebut di command line. Alternatif lainya adalah dengan membuka browser dan mengetikkan : http://docs.python.org/3/library/socket.html.

Anda dapat merujuk pada code berikut :

gethostname(…)

gethostname() -> string

Return the current host name.

gethostbyname(…)

gethostbyname(host) -> address

Return the IP address for a host

Fungsi pertama adalah fungsi tanpa parameter dan return localhost name. Fungsi kedua menggunakan single hostname parameter dan return IP address.