Saturday 10 February 2018

A Beginners Guide To Address Resolution Protocols (ARP)

A Beginners Guide To Address Resolution Protocols (ARP)


Address Resolution Protocols deal with the way local IP addresses are resolved between computers on a network.

In its simplest form imagine you have a computer such as a laptop and you want to communicate with your Raspberry PI which is both connected as part of your local broadband connection.

You can generally see if the Raspberry PI is available on the network by pinging it. As soon as you ping the Raspberry PI or attempt any other connection with the Raspberry PI you will be kicking off the need for address resolution.

Think of it as a form of handshake.

The ARP compares the address and subnet masks of the host and the target computer. If these match then the address has effectively been resolved to the local network.

So how does this process actually work?

Your computer will have an ARP cache which is accessed first to try and resolve the address.

If the cache does not contain the information required to resolve the address then a request is sent to every machine on the network.

If a machine on the network doesn't have the IP address being searched for then it will just ignore the request but if the machine has a match then it will add the information for the calling computer to its own ARP cache. It will then send a response back to the original calling computer.

Upon receiving confirmation of the target computer's address the connection is made and so a ping or other network request can be processed.

The actual information the source computer is seeking from the destination computer is its MAC address or as it is sometimes termed the HW Address.

A Worked Example Using The Arp Command

To make this easier to understand you will need to have 2 computers attached to your network.

Make sure that both computers are switched on and are able to connect to the internet.

Now open a terminal window using Linux and type in the following command:

arp

The information displayed is the information currently stored in your computer's ARP cache.

The results may just show your machine, you may see nothing at all or the results may include the other computer's name if you have connected to it previously.

.The information provided by the arp command is as follows:
  • Address
  • HW Type
  • HW Address
  • Flags
  • Mask
  • IFace

If you have nothing displayed then don't worry because this will change shortly. If you can see the other computer then you will likely see that the HW address is set to (incomplete).

You need to know the name of the computer that you are connecting to. In my case, I am connecting to my Raspberry PI zero.

Within the terminal run the following command replacing the words raspberrypizero with the name of the computer you are connecting to.

ping raspberrypizero

What has happened is that the computer that you are using has looked in its ARP cache and realized it has no information or not enough information about the machine you are trying to ping. It has therefore sent out a request across the network asking all other machines on the network whether they are indeed the computer you are looking for.

Each computer on the network will look at the IP address and mask requested and all but the one that has that IP address will discard the request.

The computer that has the requested IP address and mask will shout out, "Hey that is me!!!!" and will send its HW address back to the requesting computer. This will then get added to the ARP cache of the calling computer.

Don't believe me? Run the arp command again.

arp

This time you should see the name of the computer you pinged and you will also see the HW address.

Show The IP Addresses Instead Of The Computer's Hostname

By default, the arp command will show the hostname of the items within the ARP cache but you can force it to display IP addresses using the following switch:

arp -n

Alternatively, you might wish to use the following switch which will display the output in a different way:

arp -a

The output from the above command will be something along the lines of this:

raspberrypi (172.16.15.254) at d4:ca:6d:0e:d6:19 [ether] on wlp2s0

This time you get the computer's name, the IP address, the HW address, the HW type and the network.

How To Delete Entries From The ARP Cache

The ARP cache doesn't hold on to its data for very long but if you are having issues connecting to a specific computer and you suspect it is because the address data held is incorrect you can delete an entry from the cache in the following way.

First, run the arp command to get the HW address of the entry you wish to remove.

Now run the following command:

arp -d HWADDR

Replace HWADDR with the HW Address for the entry you wish to remove.

Friday 9 September 2016

Desktop Environment KDE ~ Desktop Manager Pertama Untuk Linux



Desktop environment atau yang disebut KDE adalah sebuah desktop manager yang dijalankan dari Window Manager KWM, yang ditulis menggunakan bahasa Qt untuk melakukan render grafis.

KDE adalah software ?

Benar ungkapan kalimat diatas, bahwa KDE adalah software window manager, yang memanfaatkan lingkungan X Window pada Linux sehingga kita dapat melihat tampilan desktop yang menarik (User-Friendly). KDE merupakan desktop manager pertama untuk Linux yang dikembangkan oleh Matthias Ettrich pada tahun 1996. Selain bertujuan memudahkan penggunanya dalam menggunakan Linux, dalam perkembanganya KDE juga menyertakan program aplikasi multimedia, grafis, dan perkantoran.

Contoh program perkantoran yang disertakan, misalnya K Word (program pengolah kata), K Presentation (program pengolah presentasi), Kspreadsheet (program pengolah spreadsheet layaknya Excel pada Windows), dan Korganizer (program untuk mengelola jadwal dan waktu). Semua program perkantoran tersebut terintegrasi ke dalam paket aplikasi KOffice.

Contoh program multimedia, misalnya Amarok (program audio player), K3B (progam burning), Kwave (program edit suara), Dragon Player (program video player), Kmix(program sound mixer), dan masih banyak lagi.

Contoh program grafis, misalnya KFax (program fax viewer), Kolour Paint (program menggambar layaknya Paint pada Windows), KRuler (program pengatur screen), KSnap shot (program mengambil cuplikan layar), KPhoto Album (program koleksi album), dan masih banyak lagi.

Keindahan KDE sekarang ini tidak lepas dari jasa developer software khususnya Richard Moore yang tertarik dengan ide dari Matthias Ettrich. Dari tangan Richard More, KDE menjadi program desktop yang lengkap seperti sistem operasi Windows, dengan tambahan aplikasi untuk File Manager, Terminal Emulator, Help System, dan Display Configuration Tool serta aplikasi lain seperti pengaturan suara dan desktop theme.

KDE sekarang sudah mencapai versi 16.08.1 dengan tambahan kemampuan grafis yang semakin meningkat dan lebih halus dari versi-versi sebelumnya. KDE juga dilengkapi dengan Kaandlf Useful tips, yang selau hadir saat start up sejak KDE versi 1 sampai versi 16.08.1 sekarang.

KDE diaktifkan saat log in pertama kali ke sistem Linux. Sebagai tambahan, KDE desktop manager mempunyai tiga bagian utama yaitu: desktop, Kicker, dan Taskbar.

Referensi: Penerbit Andi, kofice.kde.org, https://www.kde.org/applications/graphics/

#Linux #KDE #Desktop

Thursday 8 September 2016

Menjalankan X Window (X11 atau XFree86)


Sebenarnya hampir pada semua distribusi Linux memungkinkan kita langsung bekerja pada lingkungan grafis. Akan tetapi, ada baiknya kita mengetahui command line untuk masuk ke dalam serever X apabila kita bekerja pada menu teks. Kamu dapat menggunakan perintah startx untuk mengaktifkan server X.

Sebelumnya, apa itu startx ?

startx adalah front end untuk xinit yang menyediakan antarmuka pengguna yang agak lebih bagus untuk menjalankan satu sesi X Window System.

Adapun langkah-langkahnya sebagai berikut:

1. Login terlebih dahulu dengan memasukan username dan password.

Gambar ini diambil dari: www.linuxshare13.com

2. Ketiakan perintah startx (tanpa argumen apapun).

Gambar ini diambil dari: www.linuxshare13.com

Kamu juga dapat menambahkan argumen khusus dan option sebelum menjalankan perintah satartx. Seperti yang ditunjukan pada contoh berikut:

~$Startx - - depth 16

Memulai sesi X pada kedalaman warna 16 bit.


~$Startx - - dpi 100

Memulai sesi X pada 100 dpi (dots per inch) resolusi.


~$Startx - - layout Multihead

Memulai sesi X dengan beberapa dukungan untuk ditampilkan.

Menurut pengalaman penulis, pendeteksian kartu grafis pada semua distro Linux terutama distro yang menjadi favorite penulis;Linux Mint 18' sudah sangat bagus dan stabil untuk berbagai PC yang berbasis Intel maupun AMD, bahkan yang onboard sekalipun. Sehingga kecil sekali kemungkinannya kegagalan masuk server X Window. Tapi jika Kamu menemukan kegagalan, Kamu dapat mengaktifkan sendiri secara manual dengan perintah "Xorg -confiure" (untuk X11) atau "xf86config" (untuk Xfree86).


Referensi: http://www.computerhope.com/unix/startx.htm, Penerbit Andi



Mengenal Window Manager ~ Kenapa Linux Lebih User-Friendly


Untuk dapat menentukan perbatasan antara aplikasi yang berjalan, minimise, maximise, mengubah ukuran jendela, dan sebagainya. Kita membutuhkan paket atau perangkat lunak sistem yang disebut window manager.

Window manager adalah perangkat lunak sistem yang mengontrol penempatan dan penampilan dari jendela dalam sistem windowing dan antarmuka pengguna grafis. Seperti yang di kutip dari situs http://www.xwinman.org (atau Kamu bisa melihat postingan sebelumnya yang menjelaskan hubungan antara X Window, Window Manager, Desktop) bahwa window manager adalah klien X yang mengendalikan penampilan dan perilaku frame (jendela) dimana berbagai aplikasi grafis diambil. Mereka menentukan perbatasan, Titlebar, ukuran, dan kemampuan untuk mengubah ukuran jendela, dan sering menyediakan fungsionalitas lain seperti darerah yang dicadangkan atau yang disebut Window Maker, atau kemampuan untuk jendela tab seperti Fluxbox. Bahkan window manager sudah dibundel dengan utilitas sederhana seperti menu untuk memulai program atau untuk mengkonfigurasi WM sendiri.

Beberapa window manager yang dikembangkan sebagai bagian dari lingkungan desktop yang lebih komprehenshiif, biasanya memungkinkan aplikasi lain yang disediakan untuk lebih berinteraksi satu sama lain, memberikan pengalaman yang lebih konsisten untuk pengguna, lengkap dengan fitur seperti ikon desktop, font, toolbar, wallpaper, atau widget desktop. Window manager lainnya malah dirancang untuk digunakan mandiri; memberikan kebebasan penuh kepada pengguna atas pilihan aplikasi lain yang digunakan. Hal ini memungkinkan pengguna untuk menciptakan lingkungan yang lebih ringan dan disesuaikan, seperti ikon desktop, toolbar, wallpaper, dll.

Setiap distro Linux biasanya sudah menyertakan window manager ke dalam paket distribusinya. Sebagai contoh Linux Mint 17 dengan paket window manager defaultnya Macro dan Compiz. Macro atau MATE adalah window manager yang sederhana, namun cepat dan stabil. Sedangkan Compiz merupakan window manager yang menggunakan hardware grafis 3D untuk menciptakan efek compositing pada desktop.

Perlu Kamu ketahui juga, meskipun pada dasarnya mereka menyertakan window manager yang menjadi defaultnya. Tidak menutup kemungkinan juga bahwa Kamu dapat mengubah perubahan tersebut. Dalam artian install window manager sendri, dan hal itu tidak tanpa instalasi X server terlebih dahulu.

Nah, dibawah ini Jenis dan Fitur Window Manager yang menggambarkan bagaimana jendela diambil dan diperbarui.


Jenis Window Manager

1. Compositing window manager

Compositing window manager adalah window manager yang menyediakan aplikasi dengan buffer off-screen (Buffer screen bagian dari memori komputer yang digunakan oleh aplikasi komputer untuk representasi dari konten yang akan ditampilkan pada layar komputer) untuk setiap jendela. Tidak hanya itu, Compositing window manager juga dapat melakukan pengolahan tambahan pada jendela buffer, dengan menerapkan efek 2D dan 3D animasi seperti blending, scaling, dll.

 Gambar ini diambil dari: www.linuxshare13.com

2. Stacking Window Manager

Stacking window manager adalah window manager yang menarik semua jendela dalam urutan tertentu, yang memungkinkan mereka untuk tumpang tindih, menggunakan teknik yang disebut algoritma pelukis.



 Gambar ini diambil dari: www.linuxshare13.com
 
3. Dinamis window manager
 

window manager yang dinamis adalah window manager stacking di mana jendela stacking didasarkan pada tata letak yang telah ditetapkan antara mana pengguna dapat beralih.


Gambar ini diambil dari: www.linuxshare13.com


Fitur dan Fasilitas Window Manager

Autohide : Fasilitas autohide memungkinkan menghilang ketika pointer dipindahkan jauh dari tepi layar.

Borders: Borders adalah komponen dekorasi jendela yang disediakan oleh beberapa jendela manajer, yang muncul di sekitar jendela aktif.

Context Menu : Menu konten yang muncul ketika sebuah mouse diarahkan atau mengkilik pada menubar.

Desktop Wallpaper : Fasilitas desktop manager berfungsi untuk menampilkan gambar latar belakang (background) di jendela root.

Focus Stealing : Fasilitas ini hampir dimiliki window manager, yakni digunakan untuk mencari aplikasi, file atau bagian-bagian penting yang terpasang pada sistem.

Iconification : Biasanya secara otomatis icon notifikasi diseting untuk ditempatakan di bilah kanan atas atau bawah oleh window manager.

Window joined : Beberapa window manager menyerdiakan fasilitas semacam ini, dengan tujuan memudahkan pengguna dalam bekerja lebih dari satu aplikasi untuk satu waktu.

Keyboard Equivalents: Beberapa window manager menyediakan keyboard equivalents yang memungkinkan keyboard untuk meniru fungsi mouse.

Menubar : Hampir di semua window manager menyediakan fasilitas ini. Menubar berfungsi untuk memulai program atau aplikasi, dan mungkin berisi fasilitas tambahan seperti tombol start, taskbar, recent document dan system tray.

Panel Menu : Sama seperti menubar, tetapi muncul sebagai panel mengambang, bukan horizontal atau vertikal.

Mouse Focus : Menentukan komponen antarmuka pengguna grafis saat ini dipilih untuk menerima masukan sebagai pointer tersebut akan dipindahkan di sekitar layar.

Mouse Warping : Fasilitas yang diberikan oleh beberapa window manager yang secara otomatis menentukan posisi pointer ke pusat jendela aplikasi saat ini.

Bagaimana... ? Banyak dan bervariasi ya fasilitas yang diberikan Window Manger. 

Selebihnya, Kamu bisa cari referensi sendiri ya :-)
 
Suka artikel ini ?
Yuk ! Follow linuXShare13.com di Facebook, atau berlangganan gratis via email yang tersedia di bagaian bawah postingan artikel.

Referensi: https://wiki.archlinux.org/

Tuesday 6 September 2016

Apa Hubungan Antara X Window, Window Manager dan Desktop

 Gambar ini diambil dari: www.linuxshare13.com

Bagaimana X Window, Window Manager dan Desktop Bekerja ?

Seperti yang telah disebutkan pada postingan sebelumnya “Mengenal X Window~ Kenapa Linux Lebih User-Friendly”, X Window sebagai portal untuk memungkinnya akses tampilan grafis
desktop manager.

Dari sepanjang ayat yang tertulis diatas, mungkin sebagian dari Kamu belum cukup untuk mengerti apa maksudnya. Dan sedikit mengulang, X Window (atau X11 atau X) adalah sistem grafis dan windowing bagi sistem operasi UNIX dan sistem-operasi-mirip-UNIX (Linux) yang dikembangkan di Massachusetts Institute of Technology (MIT) sejak tahun 1984.
Dengan menggunakan X Window dan aplikasi Window Manager, sebuah komputer dengan sistem operasi UNIX atau Linux dapat memiliki sistem GUI (Graphical User Interface).

Coba kita tengok ke ayat yang di tebalkan dan digaris bawahi. Ini berarti, ketiga-nya saling berhubungan satu sama lain. Agar semuanya dapat terhubung dan saling berkomunikasi, X sendiri menerapkan model client-server untuk mencapai perangkat yang digunakan klien melalui jaringan yang disebut server. Server merupakan program tunggal, yang mengontrol layanan dari sistem X, baik itu dari grafis yang digunakan, keyboard, mouse, dan layanan perangkat lunak seperti font dan warna. Semua input dan output sebenarnya disalurkan melalui program ini.

Program-program yang ingin mengakses layar disebut klien. Program-program ini memanggil fungsi dari perpustakaan X untuk melakukan input dan output dan begitu independen dari perangkat keras yang sebenarnya. Program ini dapat berjalan di komputer manapun pada jaringan, tidak hanya pada komputer yang sama sebagai layar. Salah satu perpustakaan X memungkinkan mereka; klien untuk membuka koneksi ke server.

Mungkin Kamu sempat di bingungkan lagi dengan satu paragraf diatas, kita ambil ayat pertama yang menjadi bagiannya, yaitu “Program-program yang ingin mengakses layar disebut klien” ? Jadi, maksudnya bahwa program-program ini yang diebut Window Manager. Window Manager adalah sebuah aplikasi yang dirinya merupakan klien X, dengan tanggung jawab untuk mengelola penampilan dan penempatan jendela pada layar.

X serever itu sendiri tidak memiliki peran dalam menentukan penampilan layar, atau pengguna yang diizinkan untuk melakukan sesuatu pada layar. Itu adalah tugas dari window manager. Sebagai contoh, beberapa window manager memungkinkan kita untuk klik dua kali pada jendela bar dan menggulung jendela ke dalam judul bar seperti window shade atau bisa juga disebut shading.
Mungkin ada beberapa window manager yang tidak memiliki fitur; menggulung jendela, klik dua kali pada jendela bar. Sebenarnya X tidak pernah pedui akan itu, karena pekerjaan X server hanya untuk memberikan dukungan tingkat rendah sehingga window manager dan aplikasi lainnya dapat jalan atau tidak. Itu tergantung mereka, karena mereka memilih.

Demikian pula window manager mengurus penampilan dan penempatan jendela; itu tidak menentukan apa yang terjadi di dalamnya. Jendela mungkin jendela terminal atau yang disebut xterm dimana pengguna menjalankan perintah standar UNIX, atau mungkin menjalankan aplikasi klien X seperti kalkulator, web browser, atau sesi Emacs. Ini beberapa aplikasi klien yang berjalan di jendela yang menentukan apa yang terjadi di dalam window.

Lalu yang dimaksud Desktop adalah ?

Kebanyakan orang saat ini menjalankan salah satu lingkungkan desktop, KDE atau GNOME. Desktop adalah software yang disebut KDE atau semacamnya, yang berfungsi menyediakan lingkungan grafis terintegrasi dimana semua aplikasi dan jendela memiliki tampilan umum, nuansa atau yang disebut user-friendly. Bisa dikatakan desktop lebih dalam menyediakan lingkungan grafis, dibanding window manager. Lingkungan desktop juga mencangkup manajemen sesi, untuk menyimpan dan memulihkan sesi pekerjaan Kamu. Tetapi jika Kamu melihat di bawah (Panel), Kamu masih akan menemukan X Window System mengelola layar, dan Kamu akan menemukan sebuah window manager duduk diantara X dan desktop. Coba lihat kedua contoh gambar window manager dan desktop agar mengerti apa yang dimaksud dengan yang tertulis diatas.

> G.Panel (Window Manger)

Gambar ini diambil dari: www.linuxshare13.com

> G.Word (Desktop)

 Gambar ini diambil dari: www.linuxshare13.com

Kamu bisa lihat bagaimana window manager menampakan dirinya, yang menampung segala manajemen sesi dari desktop, atau dalam hal ini window manager bisa digambarkan sebagai garis panjang atau Panel. Sedangkan desktop menampilkan aplikasi yang sedang digunakan dengan jendela atau tampilan yang lebih nuansa. Yang jadi pertanyaan kembali, bagaimana saya melihat X yang saat itu mengelola layar ?

Sebenarnya kita tidak akan bisa melihat bagaimana X menjalankan tugasnya, karena X tersembunyi dua tingkat ke bawah dari desktop. Diabwah ini merupakan konsep X Window atau ketiganya saling bekerja.

Gambar ini diambil dari: https://www.x.org/wiki/guide/concepts/

Semoga di lain waktu saya bisa menyempatkan untuk menjelaskan maksud dari gambar di atas :-)



 

Monday 5 September 2016

Mengenal X Window ~ Kenapa Sekarang Linux Lebih User-Frendly

Ketika mendengar ayat User-Friendly kita pasti akan merujuk ke satu sistem operasi, yang disebut Windows. Hal ini karena Windows menawarkan banyak fasilitas-fasilitas yang tentu memanjakan mereka para penggunanya, salah satunya dengan fasilitas antarmuka grafis (GUI). Fasitiltas ini kerap mejadi tampilan yang enak di pandang. Maka tidak heran jika mereka lebih memilih Windows dibanding sistem operasi lain. Dua atau empat tahun yang lalu, sistem operasi ini telah banyak dianut untuk dijadikan pedamping di segala aktifitas mereka, termasuk mereka yang bekerja untuk perkantoran, game, programmer, dan sebagainya. Tapi, apakah hanya Windows yang dapat menganut banyak penggunanya, terutama di Indonesia ?

Selama satu dekade ini kita telah dimudahan dengan sistem operasi komputer yang berbasis Windows. Tapi setelah adanya pemberlakuan dan penetapan UU HaKi yang berimbas pada pelanggaran dan pemberian sanksi hukum bagi para pengguna sistem operasi bajakan, Windows bersama variannya boleh jadi kurang diminati lagi saat ini.

Kamu tahu tidak ? Sejauh ini Linux sudah berkembang sangat pesat, dan telah banyak diminati oleh mereka yang mungkin pengguna Windows sebelumnya. Berita baiknya, bahwa GNU/Linux sekarang lebih User-Friendly dibandingkan Windows. Hal itu, tindak tanpa usaha mereka sebagai pengembang Linux. Kita patut bersyukur dan berterima kasih kepada Matthias Ettrich sebagai pengembang KDE (Desktop Manager) pertamanya di tahun 1996.

Berbicara User-Friendly, hal ini tidak lepas dari yang namanya X Window sebagai portal untuk memungkinkannya akses tampilan grafis desktop manager. Nah, Artikel ini akan membahas singkat tentang X Window pada Unix/Linux.

Apa itu X Window ?

Pengguna awam mungkin beranggapan bahwa Unix dan Linux itu semata-mata bekerja pada console dengan tampilan yang kurang menarik. Unix dan Linux pada perkembangannya memiliki tampilan yang menarik seperti Windows, dengan fasilitas antarmuka grafis (GUI) yang dinamakan X Window. Berdasarkan informasi yang diambil dari Wikipedia.org, X Window (atau X11 atau X) adalah sistem grafis dan windowing bagi sistem operasi UNIX dan sistem-operasi-mirip-UNIX (Linux) yang dikembangkan di Massachusetts Institute of Technology (MIT) sejak tahun 1984. Dengan menggunakan X Window dan aplikasi Window Manager, sebuah komputer dengan sistem operasi UNIX atau Linux dapat memiliki sistem GUI (Graphical User Interface) seperti KDE, Gnome, XFce, dll. Referensi lain yang dikutip dari situs http://www.linuxdevcenter.com, bahwa X atau X11 dikembangkan sebagai bagian dari Project Athena, upaya kerja sama antara MIT, IBM, dan Digital Equipment Corporation untuk mengembangkan jaringan terminal rekayasa heterogen yang dapat digunakan untuk tujuan pengajaran. Versi saat ini, X11, dirilis pada tahun 1987 dan sekarang sampai dengan X11 rilis 7, yang dikenal sebagai X11R7. Namun, untuk versi X Window yang digunakan pada platform Linux dengan nama XFree86 saat ini dengan versi XFree86 4.8.0 yang dirilis pad Desember 15, 2008.

Mungkin yang akan jadi pertanyaan Kamu adalah bedanya XFree86 dan X11/X.org itu ? Singkatnya, XFree86 merupakan X Window untuk distro-distro lawas (tua) seperti Redhat 9.0. Sedangkan X.org/X11, X Window yang dikembangkan untuk distro-distro baru seperti Ubuntu 10 atau keluarga Debian lainnya yang lebih baru. Meskipun, XFree86 merupakan X Window yang lama sekali, tetapi dari semua versinya sudah mendukung berbagai macam jenis kartu grafis dan memudahkan Kamu dalam melakuakn konfigurasi kartu grafis. Pastinya sudah User-Frendly... :-)
 
Dibawah ini merupakan hasil screenshot yang diambil dari Linux Mint 18 Sarah dengan X Window X11R7 dan sedikit perombakan pada program Desktop Cinnamon

 Gambar ini diambil dari: www.linuxshare13.com

  Gambar ini diambil dari: www.linuxshare13.com

  Gambar ini diambil dari: www.linuxshare13.com 

Refrensi: Wikipedia.org, http://www.linuxdevcenter.com/pub/a/linux/2005/08/25/whatisXwindow.html,  http://forum.linux.or.id

Sunday 4 September 2016

Python Adalah Interpreter

Pagi ini rasanya akan sempurna bila disuguhi Kopi hitam panas dan artikel yang menjadi lanjutan dari “Cara Mengetahui VersiPython Yang Digunakan Linux”, yang disinggung banyak ayat tentang Interpreter dan sempat juga di janjikan penulis ke sobat baca saat itu. Biar makin tebal pengetahuan kamu akan Python, dibaca ya dan jangan malas membaca :-)

Mungkin kamu sudah sering melihat film-film yang ada kaitannya dengan Network atau Hacker, seperti di filmya Mister Robot. Menceritakan seorang ABG yang bekerja sebagai teknisi di sebuah perusahaan besar AllSafe dengan ketertarikannya menjadi seorang peretas atau Hacker. Di film itu, banyak adegan yang menunjukan bagaiamana peretasan dilakukan, salah satunya ketika Eliot menjalankan ektensi .py nya untuk melakukan Enkripsi terhadap server dari perusahaan E Corp. Dari adegan itu, mungkin kamu juga sempat tertarik dan terobsesi ingin menjadi seorang Hacker seperti Eliot :-D

Dengan sedikit bercerita, mugnkin akan membuat kamu lebih paham ya guys, dalam belajar bahasa Python tentunya :-)

Jadi, kaitannya dengan cerita diatas kita melihat bagian “ektensi .py nya”. Ektensi .py yang dimaksud adalah sebuah file yang di dalamnya berisikan kode-kode program yang di tulis, yang kemudian akan dieksekusi oleh Python Interpreter, sama seperti PHP, Perl, dan Ruby. Meskipun demikian, pada saat kode program dieksekusi, secara implisit Python sebenarnya melakukan kompilasi terhadap kode tersebut terlebih dahulu. Nah, hasil kompilasi ini berupa byte code (file .pyc). Coba tengok kembali ke film Mr Robot ketika Eliot hendak menjalankan program .py, diasana tidak sengaja kamera menampilkan “lupanamafile.pyc” yang tersimpan pada direktori aktifnya, yang merupakan hasil kompilasi yang dimaskud. File .pyc atau byte code inilah yang akan dieksekusi oleh Python Virtual Machine (PVM), bukan kode programnya. PVM itu sendiri adalah mesin runtime untuk Python, yang merupakan dari sistem Python, bukan software terpisah. Secara teknis, sistem Python secara keseluruhan disebut sebagai “Python Iterpreter”.

Sepertinya sudah terjawab janji saya pada postingan sebelumnya terkait PVM. :-)

Dalam Python, byte code disimpan di dalam memori komputer (RAM) dan akan langsung dibuang ketika eksekusi program berakhir. Hal inilah yang menyebabkan proses eksekusi program di dalam Python dapat berjalan dengan cepat. Coba deh, liat gambar dibawah ini biar lebih jelas.

Gambar ini diambil dari: learning-python.com

Perlu kamu ketahui juga, kompilasi diatas tidak dilakukan secara otomatis oleh sistem Python. Artinya, bahwa ada modul khusus untuk membuat kompilasi .py ke .pyc. Eliot juga melakukannya sendiri kok. Hehehe

Modul yang dimaksud adalah py_compile. Semoga bisa dilanjutkan ya pembahasan terkait py_compile, dan mungkin dengan sedikit tutorial, Insya allah :-)

Jika kamu hendak mendistribusikan program, maka sebaiknya kamu mendistribusikannya dalam bentuk byte code (file .pyc). Pertanyaannya, kenapa harus .pyc, bukanya dengan .py sudah cukup ?

Dengan byte code, selain eksekusi berjalan lebih cepat (karena tidak perlu dikompilasi ulang), kode program kamu tentunya akan lebih aman dan tidak dapat dibaca oleh orang lain.
Coba lihat file .pyc saya ketika dibaca menggunakan perintah more.


 Gambar ini diambil dari: www.linuxshare13.com


Bagaimana ? sudah mengerti kan pembahasan Python Adalah Interpreter.

Jangan sungkan ya untuk berbagi. Silahkan klik share jika Artikel ini bermanfaat :-)

Referensi: Budi Raharjo Python Certified, Downey Allen B

Cara Mengetahui Versi Python Yang Digunakan Oleh Linux Kamu

Gambar ini diambil dari: www.sixfeetup.com

Di postingan sebelumnya Kamu sudah membaca ‘Python2 atau Python 3’, yang mungkin sempat juga membaca ayat yang sedikit menyinggung dengan judul diatas. Seperti yang telah disebutkan, Ubuntu 14.04 menyertakan Python 3 (3.4.0) ke dalam paket distribusinya. Nah, yang jadi pertanyaan, bagaimana saya bisa mengetahui versi Python yang digunakan oleh Linux saya ?

Perlu Kamu ketahui, bahwa kode-kode yang ditulis dalam bahasa Python dieksekusi melalui program Interpreter. Singkatnya, Interpreter itu sebuah sistem Python yang melakukan eksekusi terhadap byte code (file .pyc), yang disebut Python Virtual Machine (PVM). Lebih jelas tentang PVM bisa ditunggu artikel selanjutnya.

Sebenarnya mudah sekali untuk mengetahui versi Python yang digunakan oleh Linux Kamu. Tidak ada option apapun yang digabungkan untuk melakukan pemanggilan ini. Sabar ya... :-)

Dalam lingkungan Windows mungkin Kamu akan mengenal program IDLE, yaitu IDE (Integrated Development Environment) yang berjalan pada mode GUI, dan biasanya sudah disertakan dalam paket instalasi Python. Disana Kamu hanya perlu mengklik 2x pada ikon IDLE (Python GUI) untuk mendapatkan informasi Python yang digunkan termasuk versinya. Disana tertulis :

Python 2.7.9 (default, Dec 10 2014, 12:24:55)
[MSC v.1500 32 bit (Intel)] on win32
Type “copyright”, “credits” or “license()” for more information.
>>>


Informasi inilah yang akan sama ditampilkan di console Linux Kamu nanti. Yang menjadi pertanyaan kembali, bagaimana…. saya bisa mengetahui versi Python yang digunakan oleh Linux saya... ?

Sedikit menyinggung: Orang pintar mengatakan “Jangan hanya ingin melihat apa yang ingin Kamu lihat, membaca apa yang ingin Kamu baca. Tetapi pahami, dan hargai sesuatunya dengan hati”

Baiklah, tidak akan tega kalau melihat kawan baca menunggu lama, hanya karena ocehan tidak bermutu penulis. Jadi, untuk mendapatakan informasi yang sama seperti yang dilakukan dengan mengklik 2x pada terminal Windows, Kamu cukup menuliskan satu kata berikut pada prompt console Kamu.

~$ python

Tampilan:

Python 2.7.6 (default, Mar 22 2014, 12:24:55)
[GCC 4.8.2] on linux2
Type “help”, “copyright”, “credits” or “license()” for more information.
>>>


atau

 Gambar ini diambil dari: www.linuxshare13.com

Setelah perintah dijalankan, Python Interpreter akan memunculkan prompt dengan tanda “>>>” tepat tertulis dibawah informasi Python. Itu menandakan, Python Interpreter sudah siap melayani kamu seumur hidup :-)