Pengenalan Library

 

Pengenalan Library

Dalam pengembangan program atau aplikasi, kita tidak akan lepas dari peran package atau library. Sebagaimana yang sudah dijelaskan dalam materi-materi sebelumnya, package adalah sebuah direktori yang berisi satu atau lebih modul yang terkait dan saling berhubungan, sedangkan library adalah koleksi dari banyaknya modul dan paket yang saling terkait dan dapat digunakan berulang kali. 

Pada materi ini, kita akan mempelajari berbagai library yang telah dikembangkan oleh banyak pengembang dan dapat digunakan kembali oleh kita. Jumlah library Python sangat banyak yang terbagi menjadi Python Standard Library dan Python External Library.

Python Standard Library adalah jenis library yang telah terinstal secara otomatis ketika kita melakukan instalasi Python. Anda tidak perlu melakukan instalasi kembali jika ingin menggunakannya. Beberapa contoh Python Standard Library adalah “os”, “datetime”, “re”, serta lainnya yang dapat Anda baca lebih lengkap pada laman berikut.

Python External Library adalah kumpulan kode yang telah dikembangkan oleh orang lain atau komunitas dan disediakan dalam bentuk paket atau modul yang dapat diimpor. Jenis library ini mengharuskan Anda untuk melakukan instalasi agar dapat digunakan. External library ini dikembangkan oleh individu atau organisasi di luar tim inti pengembang Python. 

Untuk melakukan instalasi library eksternal, Anda dapat melakukan beberapa cara, seperti menggunakan PIP dan conda.


PIP

PIP adalah package manager resmi dari Python yang dapat digunakan untuk mengunduh, menginstal, menghapus, dan mengelola package Python dari Python Package Index (PyPI) dan repositori lainnya. PyPI merupakan repositori online yang menyediakan ribuan package dari Python dan siap digunakan oleh para pengembang.

Selain mengelola paket, Anda juga bisa membuat lingkungan virtual dalam Python menggunakan PIP. Hanya saja, pip cenderung difokuskan untuk mengelola instalasi paket dibanding lingkungan virtual. Lingkungan virtual memungkinkan kita untuk membuat sebuah lingkungan terisolasi yang terpisah satu sama lain. Kita akan bahas lebih dalam terkait lingkungan virtual pada materi conda.

Kabar baiknya, pip biasanya telah terpasang secara otomatis jika Anda menggunakan Python 2 untuk versi 2.7.9 ke atas atau Python 3 untuk versi 3.4 ke atas. Maka dari itu, silakan periksa bahwa pip telah terpasang dengan menjalankan perintah berikut.

pip --version

Jika layar tidak memunculkan error seperti gambar berikut, pip telah terinstal di lokal komputer Anda.

dos:70c11ffeb4571eeb281ac489fd6f6df420230823201753.jpeg

Jika lokal komputer Anda belum memiliki pip, Anda bisa mengikuti langkah-langkah berikut.

  1. Unduh file berikut: https://bootstrap.pypa.io/get-pip.py
  2. Buka terminal dan buka folder tempat Anda menyimpan file yang telah diunduh. Kemudian jalankan perintah berikut.
    python get-pip.py

Sekarang, Anda telah menyiapkan pip sebagai package manager yang mendukung instalasi package dan library Python. Untuk melakukan instalasi, Anda bisa mengikuti perintah berikut.

pip install <nama-package>

Ganti <nama-package> dengan nama package atau library yang ingin Anda unduh. Untuk menghapus package, Anda bisa mengikuti perintah berikut.

pip uninstall <nama-package>

Silakan ganti <nama-package> dengan package atau library yang ingin Anda hapus.

Contohnya, jika ingin membuat lingkungan virtual menggunakan pip, Anda harus menginstal package pipenv berikut.

pip install pipenv

Anda bisa membaca lebih detail terkait pipenv pada laman ini.


Conda

Selain pip yang termasuk package manager resmi dari Python, ada juga conda yang merupakan package manager dan environment manager untuk Python. Conda memungkinkan kita untuk membuat dan mengelola lingkungan (environment) terisolasi atau terpisah satu sama lain. Dengan terisolasinya setiap lingkungan tersebut, kita diuntungkan untuk mencegah konflik yang terjadi antar proyek. 

Contohnya ketika Anda memiliki proyek machine learning dengan versi Python yang digunakan adalah Python 3.9. Di sisi lain, Anda memiliki proyek web development A dengan versi Python yang digunakan adalah Python 3.8. Ada pula proyek web development B dengan versi Python yang digunakan sama-sama menggunakan Python versi 3.8.

dos:91f2ea515a8428d4622ea58c49b5a09920230823201753.jpeg

Dengan adanya lingkungan yang terisolasi, Anda bisa menyesuaikan semua library, modul, hingga versi Python sesuai dengan kebutuhan masing-masing proyek. Conda sendiri dapat diinstal melalui Anaconda dan Miniconda. Anaconda merupakan sistem distribusi perangkat lunak yang di dalamnya mencakup Conda. Ketika menginstal Anaconda, Anda pun dapat menggunakan beberapa library dan plugin tambahan melalui Anaconda tersebut. Miniconda adalah versi ringan dari Anaconda. Miniconda hanya berisi conda dan beberapa package dasar yang diperlukan untuk menjalankannya.

Conda sendiri hadir dalam dua bentuk utama: “conda” sebagai package dan environment manager serta “conda-forge”, yakni sebuah repositori berisi ribuan paket yang disediakan oleh komunitas Conda.

Kelebihan Conda adalah sifat tidak terbatasnya pada bahasa pemrograman Python. Conda juga mendukung paket-paket dalam bahasa pemrograman lain, seperti R.

Kali ini, kita akan menginstal conda melalui sistem terdistribusi Anaconda, silakan ikuti langkah-langkah berikut.

  1. Kunjungi laman berikut: https://www.anaconda.com/download.
  2. Silakan scroll ke bawah dan Anda akan menjumpai “Anaconda Installer” yang tersedia untuk tiga sistem operasi, yakni Windows, Linux, dan Mac. Silakan unduh Anaconda sesuai dengan sistem operasi Anda.
  3. Setelah mengunduh, lakukan instalasi dengan menjalankan file installer yang telah Anda unduh.
  4. Akan muncul tampilan berikut, lalu pilih “Next”.
    dos:5b141d310ac02c99ca1bd6efecbe6bf620230823202151.png
  1. Anda akan diarahkan pada License Agreement. Pilih “I Agree”.
    dos:f0dc1bfc3732f124e2b8c47351f3895b20230823202207.png
  1. Lalu Anda diharuskan untuk memilih tipe instalasi. Pilih “Just Me” untuk saat ini, kemudian klik “Next”.
    dos:e1011797f891289d46768d4faf2c209020230823202228.png
  1. Selanjutnya, Anda perlu menentukan lokasi instalasi. Silakan sesuaikan dengan kebutuhan Anda. Saat ini biarkan default saja dan pilih “Next”.
    dos:1200dc10fe41e65e1433e1bd3005faa220230823202310.png
  2. Anda akan diarahkan ke menu opsi “Advanced Installation”. Anda bisa membiarkan secara default atau jika ingin mengatur Anaconda3 sebagai default Python, Anda bisa mencentangnya. Setelah selesai, klik Install.
    dos:e44a8f11ce5bcad8cb33b2c47243797620230823202323.png
  1. Proses instalasi akan berjalan. Jika sudah selesai, klik Finish.

Terakhir, Anda memeriksa bahwa conda telah terinstal. Silakan buka “Anaconda Prompt” dengan klik windows button atau sistem pencarian sesuai sistem operasi Anda dan ketik “Anaconda Prompt”.

Pada terminal tersebut, jalankan kode berikut.

conda -V

Anda akan melihat versi conda yang telah terinstal, seperti pada gambar berikut.

dos:b51d9078bcadc5a2231ddc80a94ddc7c20230823202352.png

Anda juga bisa membuka Anaconda Navigator dengan klik windows button atau sistem pencarian lainnya yang sesuai dengan sistem operasi dan ketik “Anaconda Navigator”.

Berikut adalah tampilan dari Anaconda Navigator.

dos:086a85e27e4570a0f8c799fb7181780420230823201754.jpeg

Anda bisa mempelajari Conda lebih lanjut pada laman berikut: https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html

Selanjutnya, mari kita pelajari beberapa library populer yang dapat digunakan oleh Anda.

Library Text Processing

Pertama adalah sekumpulan library yang bertujuan untuk melakukan pemrosesan teks dan menyederhanakan serta mempercepat tugas-tugas pemrosesan teks.

  1. String
    String adalah salah satu modul bawaan Python yang tidak perlu dideklarasikan. Pada modul string ada fungsi-fungsi yang dapat dioperasikan pada variabel bertipe string seperti di bawah.
    1. upper(): Ubah setiap huruf dalam string menjadi huruf kapital. 
    2. lower(): Ubah setiap huruf dalam string menjadi huruf kecil.
    3. split(): Pisahkan teks berdasarkan delimiter (karakter pemisah).
    4. title(): Jadikan setiap awal kata kapital.
    5. zfill(): Tambahkan nol di awal string sebanyak nilai yang ada pada parameter.

      Contoh penerapan modul string adalah berikut.
      dos:4d58174682a923145cf7d4f51004cfcd20230823202609.png
  1. Regex
    Regex atau regular expression adalah sebuah cara untuk mencari teks berdasarkan pola tertentu. Umpamanya, ketika ingin mencari sebuah kata dalam kamus, misalnya arti dari kata parsing, kita akan mencari kata tersebut di halaman yang memiliki kata dengan awalan p, lalu pa. Regex bekerja dengan konsep yang sama.

    Pada regex, kita mencari sebuah kata atau kumpulan kata dengan memberikan pola yang diinginkan. Contoh umum regex adalah pada email. Kita dapat menggunakan regex untuk mengecek bahwa karakter @ ada pada email atau tidak.

    Contoh di bawah menunjukkan penggunaan regex. Pada variabel pattern di bawah, ^a berarti kita ingin mencari teks dengan awalan 'a', dan s$ berarti kita ingin mencari string berakhiran 's'.
    Perlu diperhatikan bahwa beberapa modul perlu diimpor terlebih dahulu untuk bisa digunakan. Pada contoh di atas, kita melakukan “import re” untuk mengimpor modul regex pada Python.

Library Matematika

Selanjutnya adalah library math yang termasuk salah satu modul bawaan Python dan menyediakan berbagai fungsi dan konstanta matematika. Anda hanya perlu melakukan impor untuk modul math. Berikut contoh penerapannya. 

Pada contoh di atas, hal pertama yang dilakukan adalah melakukan impor modul math untuk menyediakan berbagai fungsi dan konstanta matematika. Di bawahnya, kita mencoba melakukan operasi akar dari bilangan 25 yang hasilnya adalah 5. Kemudian, kita mencoba mendapatkan nilai pi dalam modul math yang bernilai “3.141592653589793”.

Library Parser

Library parser pada Python menyediakan fasilitas untuk menguraikan kode Python menjadi struktur data yang dapat diproses dan dianalisis. Anda dapat menggunakan Getopt atau ArgParse

Argument parser bermanfaat jika kita ingin membuat program atau skrip kecil yang langsung menerima parameter pada saat pemanggilan program. Hal ini biasa digunakan dalam pemanggilan aplikasi atau skrip di CLI/terminal *nix-based, misalnya Linux dan MacOS. Contoh perintah dimaksud adalah berikut.

python panggildicoding.py -o

Contoh tindakan menambahkan Argument yang bersifat opsional/tidak wajib dengan menggunakan ArgParse adalah berikut.

  1. import argparse
  2.  
  3. parser = argparse.ArgumentParser()
  4. parser.add_argument('-o', '--output', action='store_true', help="tampilkan output")
  5. args = parser.parse_args()
  6.  
  7. if args.output:
  8.    print("Halo, ini merupakan sebuah output dari panggildicoding.py")

Jadi, pada saat dijalankan, ada beberapa hal yang perlu diperhatikan, yaitu berikut.

  • Berkas panggildicoding.py dapat menerima parameter -o atau --output.
  • Jika kita memanggil berkas tanpa parameter -o, berkas tidak akan menampilkan apa pun.
  • Jika kita memanggil dengan -o atau --output, berkas akan menampilkan Halo, ini merupakan sebuah output dari panggildicoding.py.
  • Jika kita memanggil --help, tampil help dengan penjelasan "tampilkan output".
    dos:45e3292bdc386b41b95c2e8018f4f0e320230823203337.png

Kita juga bisa membuat argumennya bersifat wajib. Modifikasi berkas panggildicoding.py menjadi seperti berikut.

  1. import argparse
  2.  
  3. parser = argparse.ArgumentParser()
  4. parser.add_argument('-n', '--nama', required=True, help="Masukkan Nama Anda")
  5. args = parser.parse_args()
  6.  
  7. print("Terima kasih telah menggunakan panggildicoding.py, "+args.nama)

Jadi, pada saat dijalankan, ada beberapa hal yang menjadi perhatian seperti berikut.

  • Berkas panggildicoding.py harus dipanggil dengan parameter -n atau --nama.
  • Jika kita memanggil berkas tanpa parameter -n, berkas akan meminta parameter n atau nama.
  • Jika kita memanggil dengan -n NAMAKITA atau --nama NAMAKITA, berkas akan menampilkan Terima kasih telah menggunakan panggildicoding.py NAMAKITA.
  • Jika kita memanggil --help, tampil help dengan penjelasan "Masukkan Nama Anda".
    dos:39c2a3f0dfd50b1dce885c2268cb136220230823203221.jpeg 

Anda dapat menyuplai lebih dari satu argumen dengan menambahkan parser.add_argument sejumlah yang Anda inginkan. 

Ayo berlatih melengkapi script sebelumnya agar mampu menampilkan hasil berikut.

dos:c14fceacf0cf7aafb887adb6b322adb020230823203220.jpeg

Ketentuan skrip sebagai berikut.

  • Berkas panggildicoding.py harus dipanggil dengan parameter n/nama dan t/tanggallahir.
  • Format tanggal lahir adalah dd-mm-yyyy.
  • Jika kita memanggil berkas tanpa parameter, berkas akan menolak.

Jika usia pemanggil saat ini kurang dari 30 tahun, tambahkan panggilan kakak, selain itu gunakan panggilan bapak sebelum NAMAKITA.

Library Pengolahan Data

Library pengolahan data bertujuan untuk membantu dalam manipulasi, analisis, dan pemrosesan data. Library ini menyediakan berbagai fungsi dan metode yang memudahkan pengguna untuk melakukan operasi pengolahan data dengan lebih efisien dan cepat.

Tujuan dari library ini untuk menyederhanakan tugas-tugas kompleks yang berkaitan dengan pengolahan data sehingga Anda tidak perlu mengimplementasikan semuanya dari awal. Berikut adalah beberapa library populer yang digunakan untuk pengolahan data.

  1. Pandas
    Pandas adalah library populer yang digunakan untuk pengelolaan dan analisis data. Library ini menyediakan struktur data dan alat untuk membantu pengguna dalam melakukan manipulasi, pembersihan, transformasi, dan analisis data dengan mudah dan efisien.

    Meskipun pandas sudah terinstal secara otomatis pada beberapa IDE dan versi Python, perlu diingat bahwa pandas bukan merupakan library bawaan Python. Oleh karena itu, Anda harus menginstal library ini terlebih dahulu sebelum dapat menggunakannya. Silakan buka command prompt dan jalankan kode berikut.
    pip install pandas
    Atau jika Anda ingin menggunakan conda, silakan jalankan kode berikut untuk menginstalnya.
    conda install pandas
    Berikut adalah contoh implementasi pandas.
    dos:8b867c4f84dd4fed7a24f72ccfbb0bee20230823203848.pngPada contoh di atas, kita membuat DataFrame dari dictionary dan menampilkannya ke layar. DataFrame merupakan struktur data utama dalam pandas yang mirip seperti tabel atau spreadsheet. DataFrame merupakan struktur dua dimensi yang menyimpan data dalam bentuk baris dan kolom.
  1. NumPy
    Library NumPy adalah package fundamental yang sering digunakan untuk scientific computing pada Python. Library ini menyediakan objek array multidimensi, berbagai jenis objek lainnya, seperti masked array dan matrix, dan sebagainya.

    NumPy termasuk library eksternal, meskipun NumPy juga sudah terinstal secara otomatis pada beberapa IDE dan versi Python, perlu diingat bahwa NumPy bukan termasuk library bawaan Python. Oleh karena itu, Anda harus menginstal library ini terlebih dahulu sebelum dapat menggunakannya.

    Silakan buka command prompt dan jalankan kode berikut.
    pip install numpy
    Anda juga bisa menggunakan conda untuk menginstal NumPy, berikut sintaksnya.
    conda install numpy
    Berikut adalah contoh penggunaan NumPy.
    Pada kode di atas, kita mengimpor library "numpy" terlebih dahulu untuk mengambil fungsi-fungsi atau kode yang berada pada library tersebut. Selanjutnya, mengubah nested list menjadi array dengan menggunakan fungsi “.array()”.
  1. Matplotlib
    Selanjutnya adalah matplotlibyang merupakan library untuk melakukan visualisasi data. Matplotlib termasuk jenis library eksternal sehingga Anda perlu melakukan instalasi matplotlib terlebih dahulu. Silakan jalankan kode berikut.
    python -m pip install -U matplotlib
    Anda bisa juga jalankan kode berikut jika ingin menggunakan conda.
    conda install matplotlib
    Berikut adalah contoh penerapan matplotlib.
    1. import matplotlib.pyplot as plt
    2.  
    3. # Data
    4. x = [1, 2, 3, 4, 5]
    5. y = [2, 4, 6, 8, 10]
    6.  
    7. # Membuat plot garis
    8. plt.plot(x, y)
    9.  
    10. # Menambahkan judul dan label sumbu
    11. plt.title("Contoh Plot Garis")
    12. plt.xlabel("Sumbu X")
    13. plt.ylabel("Sumbu Y")
    14.  
    15. # Menampilkan plot
    16. plt.show()
    Pada kode di atas, kita akan membuat visualisasi berdasarkan data dari variabel x dan y. Hal pertama yang dilakukan adalah mengimpor library dengan menggunakan sintaks “import matplotlib.pyplot as plt".

    Selanjutnya, ini adalah contoh sehingga kita perlu membuat variabel sebagai data yang akan digunakan. Di sini kita membuat variabel x dan y sebagai data yang akan divisualisasi.

    Untuk membuat visualisasinya, kita menggunakan sintaks “plt.plot(x, y)” dengan argumennya adalah variabel x dan y. Lalu, kita menambahkan informasi tambahan seperti title, xlabel, dan ylabel. Terakhir, kita menampilkan visualisasi tersebut dengan sintaks “plt.show()”.

    Berikut adalah output ketika kode di atas dijalankan.
    dos:85420d1dcc72d22b4ed77af55bc9c49b20230823204533.png
  1. Seaborn
    Terakhir adalah library seaborn yang termasuk jenis library dengan tujuan untuk visualisasi data sama seperti matplotlib. Bahkan library seaborn dibangun berdasarkan pada library matplotlib.

    Seaborn termasuk library eksternal sehingga Anda perlu menginstalnya terlebih dahulu. Silakan jalankan kode berikut untuk menginstalnya menggunakan pip.
    pip install seaborn
    Anda juga bisa menggunakan conda, silakan gunakan kode berikut.
    conda install seaborn
    Berikut adalah contoh penerapan seaborn.
    1. import seaborn as sns
    2. import matplotlib.pyplot as plt
    3.  
    4. # Contoh data
    5. tips = sns.load_dataset('tips')  # Memuat dataset tips dari Seaborn
    6.  
    7. # Contoh plot histogram
    8. sns.histplot(tips['total_bill'], kde=True)
    9. plt.title('Histogram Total Bill')
    10. plt.xlabel('Total Bill')
    11. plt.ylabel('Frequency')
    12. plt.show()
    Pada contoh di atas, kita menggunakan seaborn untuk melakukan visualisasi berdasarkan dataset tips. Dataset ini adalah bawaan dari library seaborn yang dapat Anda gunakan.

    Hal pertama yang dilakukan adalah mengimpor modul seaborn. Selanjutnya, kita load dataset dan menyimpannya pada variabel tips.

    Untuk membuat plot yang baik, di sini kita menggabungkan seaborn dan juga matplotlib. Library matplotlib digunakan untuk membuat title, xlabel, ylabel, dan menampilkannya ke layar.

    Untuk membuat plot histogram pada seaborn, Anda dapat menggunakan sintaks “sns.histplot()” dengan sns adalah library seaborn dan histplot merupakan fungsinya. Jangan lupa untuk mengisikan value dalam fungsi tersebut. Pada contoh di atas kita menggunakan kolom total_bill yang ada dalam dataset tips.

    Berikut adalah tampilannya ketika kode tersebut dijalankan.
    dos:28874b51eb7201cc337788183a0ce73a20230823204853.png

Library File Management

Library file management adalah kumpulan library yang dirancang untuk membantu pengguna dalam mengelola dan berinteraksi dengan berkas dan direktori pada sistem file. Beberapa library file management adalah berikut.

  1. OS
    Modul OS pada Python berguna untuk fungsi-fungsi yang berkaitan dengan sistem operasi, misalnya open(), path(), getcwd(), dan fungsi lainnya. Modul ini memungkinkan Anda untuk memanfaatkan fungsi yang sama dan mengeksekusi fungsi terkait OS yang mungkin berbeda dalam setiap sistem operasi. Ada beberapa fitur yang hanya bekerja pada sistem operasi tertentu.

    Contoh kode di bawah menunjukkan fungsi os.getcwd(). Fungsi ini akan mengembalikan string representasi dari Current Working Directory, yaitu direktori tempat program Python kita berada. Fungsi ini berlaku pada semua OS.
    1. import os
    2. print(os.getcwd())
    dos:08b3e82b3e8bdbf201d878b54d22e8f620230823205122.png
  1. JSON
    Untuk serialization dengan bahasa lain, umumnya kita menggunakan JSON(JavaScript Object Notation) yang memiliki beberapa perbedaan karakteristik dengan pickle, yakni berikut.
    • JSON adalah format text-serialization dan umumnya menggunakan Unicode atau UTF-8. Sementara pickle bersifat binary serialization.
    • JSON dapat dibaca dengan mudah oleh manusia, sementara pickle tidak.
    • JSON dapat dioperasikan dan digunakan di luar ekosistem Python. Pickle adalah Python-specific.
    • JSON secara default hanya dapat merepresentasikan subset dari built-in type pada Python.
    • Pickle dapat merepresentasikan hampir (jika tidak seluruh) tipe Python dan secara default melakukan kompresi data.

      Sebagaimana yang telah disebutkan sebelumnya, JSON adalah format text yang ditujukan untuk serialization. Agar data dapat dengan mudah ditransmisikan antar berbagai sumber tanpa khawatir bentuknya kacau, menggunakan JSON adalah salah satu pilihan yang tepat.

      JSON memiliki format yang hampir mirip dengan dictionary, yakni data disimpan dengan format key dan value pair. Namun, tentunya JSON jauh lebih kompleks dari dictionary. Dapat dilihat dari contoh JSON untuk data pembelian di bawah.

      Dengan JSON kita dapat menyimpan data dengan lebih teratur. Sebuah key seperti children di bawah dapat memiliki sebuah dictionary baru yang berisi informasi terkait objek children tersebut.
      dos:47fcb10fcb3238982ec8c999d968ff0c20230823204956.jpeg
      Untuk membuat JSON sederhana, ketik seperti kode di bawah.
  1. Pickle
    Jika Anda memiliki sebuah list yang ingin disimpan atau ditransmisikan tanpa khawatir bentuknya akan rusak atau kacau, fungsi dari library pickle dapat dimanfaatkan. Pickle termasuk fungsi Object Serialization pada Python. Pickling adalah istilah untuk mengubah objek menjadi byte stream, sedangkan unpickling adalah perlakuan sebaliknya.

    Kode berikut adalah contoh cara melakukan proses pickle pada sebuah object dictionary dan menyimpannya pada sebuah file.
    1. import pickle
    2. contoh_dictionary = {1:"6", 2:"2", 3:"f"}
    3. pickle_keluar = open("dict.pickle","wb")
    4. pickle.dump(contoh_dictionary, pickle_keluar)
    5. pickle_keluar.close()
    Kode berikut adalah contoh untuk mengekstraksi berkas pickle dan menaruhnya pada sebuah variabel. 
    1. import pickle
    2. pickle_masuk = open("dict.pickle", "rb")
    3. contohDictionary = pickle.load(pickle_masuk)
    4. pickle_masuk.close()
    5.  
    6. print(contohDictionary)

Library Web Scraping

Library web scraping adalah jenis library untuk membantu pengguna mengumpulkan data dari halaman web. Proses ini disebut sebagai “web scraping” atau “web crawling”. Anda bisa menggunakan fungsi dan metode pada library ini untuk mengekstraksi informasi dari situs web dan menyimpannya dalam format yang dapat diakses dan digunakan dalam analisis atau aplikasi lainnya. 

Beberapa library untuk melakukan web scraping adalah berikut.

  1. Beautifulsoup
    Beautifulsoup adalah library untuk mengambil data dari halaman web dan mengekstrak informasi yang diperlukan. Untuk menggunakan beautifulsoup, Anda harus menginstalnya terlebih dahulu. Silakan jalankan kode pip berikut untuk menginstalnya.
    pip install beautifulsoup4
    Berikut adalah contoh penulisan kode beautifulsoup.
    1. from urllib.request import urlopen
    2. from bs4 import BeautifulSoup
    3.  
    4. # Pengambilan konten
    5. url = "http://python.org/"
    6. page = urlopen(url)
    7. html = page.read().decode("utf-8")
    8.  
    9. # Membuat objek BeautifulSoup
    10. soup = BeautifulSoup(html, "html.parser")
    11.  
    12. # Mencetak judul halaman
    13. print(soup.title)
    Pada contoh di atas, kita melakukan web scraping untuk mengambil judul dari laman web “http://python.org/”. Hal pertama yang dilakukan adalah mengimpor Beautifulsoup sebagai library yang akan kita gunakan. Selanjutnya kita mengambil konten dari url dengan menggunakan fungsi dari modul “urlopen”. Setelah konten diambil, kita membuat objek BeautifulSoup dan dari objek ini kita bisa memunculkan beberapa konten berdasarkan tag html. Pada contoh di atas, kita mengambil judul halaman dengan menggunakan method “title”.
  1. Urllib
    Urllib adalah library bawaan dari Python yang bertujuan untuk scraping konten dari sebuah website. Penggunaan urllib berbeda dengan beautifulsoup. Bisa dikatakan bahwa cara penggunaan urllib sedikit kompleks dibandingkan beautifulsoup. Kode di bawah adalah contoh untuk memulai proses scraping pada situs dengan domain python.org dan menampilkan isi dari tag title dari situs tersebut.
    1. from urllib.request import urlopen
    2.  
    3. # Pengambilan konten
    4. url = "http://python.org/"
    5. page = urlopen(url)
    6. html = page.read().decode("utf-8")
    7.  
    8. # Mencari indeks awal dan akhir
    9. start_index = html.find("<title>") + len("<title>")
    10. end_index = html.find("</title>")
    11.  
    12. # Mengekstrak dan mencetak judul halaman
    13. title = html[start_index:end_index]
    14. print(title)
    Pada kode di atas, kita melakukan scraping terhadap url yang sama seperti contoh sebelumnya. Namun, kali ini kita menggunakan urlopen untuk mengambil title dari laman “http://python/org/”

    Hal pertama yang dilakukan adalah mengimpor urlopen dengan menggunakan “from urllib.request import urlopen”. Selanjutnya, kita mengambil konten dari url yang telah ditentukan.

    Tahapan ketiga adalah kita mencari indeks awal dan akhir. Tujuan kita adalah mengambil title sehingga indeksnya ditentukan dari tag “<title>” dan “</title>”. Terakhir, kita mengekstrak dan mencetak judul halaman tersebut.

Library Machine Learning

Selanjutnya adalah library yang digunakan untuk melakukan pemelajaran mesin. Anda dapat menggunakan library berikut untuk membantu Anda menyelesaikan permasalahan machine learning. Berikut adalah beberapa library populer untuk machine learning.

  1. scikit-learn
    Pertama adalah scikit-learn yang menyediakan berbagai algoritma pembelajaran mesin siap pakai untuk membantu dalam pengembangan model pemelajaran mesin, pemrosesan data, dan evaluasi kinerja model.

    Scikit-learn termasuk library eksternal sehingga Anda perlu menginstalnya terlebih dahulu untuk bisa menggunakannya. Silakan jalankan kode berikut untuk menginstalnya menggunakan pip.
    pip install -U scikit-learn
    Jika Anda ingin menggunakan conda, silakan gunakan kode berikut.

    conda create -n sklearn-env -c conda-forge scikit-learn

    conda activate sklearn-env

    Anda bisa merujuk pada tautan berikut untuk melihat berbagai penerapan machine learning menggunakan scikit-learn.

  1. TensorFlow
    Selanjutnya adalah TensorFlow sebagai salah satu library paling populer terkait machine learning. Dengan menggunakan TensorFlow, Anda bisa mengembangkan machine learning hingga tahap deployment.

    Anda bisa menginstal TensorFlow menggunakan perintah pip berikut.
    pip install tensorflow

    Berikut adalah link dokumentasi yang bisa dijadikan rujukan untuk mempelajari machine learning menggunakan tensorflow.

  1. PyTorch
    Terakhir ada PyTorch, yakni library machine learning yang dikembangkan oleh Facebook’s AI Research lab (FAIR). PyTorch menyediakan alat dan kerangka kerja yang kuat untuk mengembangkan model pemelajaran mesin, terutama dalam konteks jaringan saraf tiruan (neural networks).

    Anda bisa menggunakan kode berikut untuk menginstal PyTorch versi stabil menggunakan pip di Windows dan Mac.
    pip install torch torchvision torchaudio

    Untuk Linux, Anda bisa menggunakan kode berikut.

    pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

    Anda bisa melihat dokumentasi instalasi lebih dalam pada tautan ini. Selain itu, jika Anda ingin melihat berbagai contoh penerapannya, silakan merujuk pada tautan berikut.

Library Web Development

Terakhir, ada library yang bertujuan untuk pengembangan aplikasi web. Sebagaimana yang sudah dijelaskan dalam materi-materi sebelumnya, Python dapat digunakan untuk pengembangan aplikasi web pada sisi server. Berikut adalah library yang dapat digunakan untuk membantu Anda mengembangkan web.

  1. Django
    Django adalah high-level Python web framework yang mendukung pengembangan secara cepat, bersih, serta pragmatis. Untuk menginstal Django, Anda bisa menggunakan pip berikut.

    Linux/Mac:

    python -m pip install Django


    Windows:

    py -m pip install Django

    Anda juga bisa merujuk pada dokumentasi berikut untuk melakukan instalasi. Untuk melihat penerapannya, Anda bisa merujuk pada dokumentasi berikut.

  1. Flask
    Flask adalah web framework dalam Python yang ditujukan untuk membangun aplikasi web. Flask dirancang dengan tujuan menjadi ringan, fleksibel, dan sederhana. Dengan Flask, Anda bisa merancang aplikasi web dari yang sederhana hingga kompleks.

    Anda bisa menginstal Flask menggunakan kode pip berikut.
    pip install Flask

    Untuk penerapan Flask, Anda dapat merujuk pada tautan ini.

  1. Fast API
    FastAPI adalah web framework untuk Python yang tujuannya merancang dan membangun API dengan cepat, efisien, dan aman. FastAPI memberikan kinerja yang tinggi, sintaks yang intuitif, serta dukungan otomatisasi dokumentasi yang kuat. Jadi, ia cocok untuk pengembangan mikroservis, layanan web responsif, dan sebagainya.

    Anda bisa menginstal FastAPI menggunakan kode pip berikut.
    pip install fastapi

    Anda bisa merujuk pada tautan berikut untuk melihat berbagai penerapan FastAPI.

Rangkuman Library Populer pada Python

Kita sudah berada di penghujung materi Library Populer pada Python. Sampai sejauh ini, Anda diharapkan telah memahami library populer pada Python yang beragam dan cara penggunaannya. Sekarang, mari kita rangkum secara saksama.


Pengenalan Library

Library adalah koleksi dari banyaknya modul dan paket yang saling terkait dan dapat digunakan berulang kali. Paket atau package adalah sebuah direktori yang berisi satu atau lebih modul yang terkait dan saling berhubungan. Jumlah library Python sangat banyak yang terbagi menjadi Python Standard Library dan Python External Library.

Python Standard Library adalah jenis library yang telah terinstal secara otomatis ketika kita melakukan instalasi Python. Anda tidak perlu melakukan instalasi kembali jika ingin menggunakannya. Beberapa contoh Python Standard Library adalah “os”, “datetime”, “re”, serta lainnya yang dapat Anda baca lebih lengkap pada laman berikut.

Python External Library adalah kumpulan kode yang telah dikembangkan oleh orang lain atau komunitas dan disediakan dalam bentuk paket atau modul yang dapat diimpor. Jenis library ini mengharuskan Anda untuk melakukan instalasi agar dapat digunakan. External library ini dikembangkan oleh individu atau organisasi di luar tim inti pengembang Python. 

Untuk melakukan instalasi library eksternal, Anda dapat melakukan beberapa cara, seperti menggunakan PIP dan conda.


PIP

PIP adalah package manager resmi dari Python yang dapat digunakan untuk mengunduh, menginstal, menghapus, dan mengelola package Python dari Python Package Index (PyPI) dan repositori lainnya. PyPI merupakan repositori online yang menyediakan ribuan package dari Python yang siap digunakan oleh para pengembang.

Selain mengelola paket, Anda juga bisa membuat lingkungan virtual dalam Python menggunakan PIP. Hanya saja, pip cenderung difokuskan untuk mengelola instalasi paket dibanding lingkungan virtual.

Kabar baiknya, pip biasanya telah terpasang secara otomatis jika Anda menggunakan Python 2 untuk versi 2.7.9 ke atas atau Python 3 untuk versi 3.4 ke atas. Maka dari itu, silakan periksa bahwa pip telah terpasang dengan menjalankan perintah berikut.

pip --version

Jika lokal komputer Anda belum memiliki pip, Anda bisa mengikuti langkah-langkah berikut.

  1. Unduh file berikut: https://bootstrap.pypa.io/get-pip.py
  2. Buka terminal dan buka folder tempat Anda menyimpan file yang telah diunduh. Kemudian jalankan perintah berikut.
    python get-pip.py

Sekarang, Anda telah menyiapkan pip sebagai package manager yang mendukung instalasi package dan library Python. Untuk melakukan instalasi, Anda bisa mengikuti perintah berikut.

pip install <nama-package>

Ganti <nama-package> dengan nama package atau library yang ingin Anda unduh. Untuk menghapus package, Anda bisa mengikuti perintah berikut.

pip uninstall <nama-package>

Silakan ganti <nama-package> dengan package atau library yang ingin Anda hapus.


Conda

Conda adalah package manager dan environment manager untuk Python. Conda memungkinkan kita untuk membuat dan mengelola lingkungan (environment) terisolasi atau terpisah satu sama lain. Dengan terisolasinya setiap lingkungan tersebut, menguntungkan kita untuk mencegah konflik yang terjadi antar proyek.

Dengan adanya lingkungan yang terisolasi, Anda bisa menyesuaikan semua library, modul, hingga versi Python sesuai dengan kebutuhan masing-masing proyek. Conda sendiri dapat diinstal melalui Anaconda dan Miniconda. 

Anaconda adalah sistem distribusi perangkat lunak yang di dalamnya mencakup Conda. Ketika menginstal Anaconda, Anda pun dapat menggunakan beberapa library dan plugin tambahan melalui Anaconda tersebut. Miniconda adalah versi ringan dari Anaconda. Miniconda hanya berisi conda dan beberapa package dasar yang diperlukan untuk menjalankannya.

Conda sendiri hadir dalam dua bentuk utama: “conda” sebagai package dan environment manager serta “conda-forge” sebagai sebuah repositori berisi ribuan paket yang disediakan oleh komunitas conda.

Kelebihan Conda adalah sifat tidak terbatasnya pada bahasa pemrograman Python. Conda mendukung paket-paket dalam bahasa pemrograman lain, seperti R.


Library Text Processing

Library text processing bertujuan untuk melakukan pemrosesan teks dan menyederhanakan serta mempercepat tugas-tugas pemrosesan teks. Beberapa library populer terkait pemrosesan teks adalah berikut.

  1. String
    String adalah salah satu modul bawaan Python yang tidak perlu dideklarasikan. Pada modul string ada fungsi-fungsi yang dapat dioperasikan pada variabel bertipe string seperti di bawah.
    • upper(): Ubah setiap huruf dalam string menjadi huruf kapital. 
    • lower(): Ubah setiap huruf dalam string menjadi huruf kecil.
    • split(): Pisahkan teks berdasarkan delimiter (karakter pemisah).
    • title(): Jadikan setiap awal kata kapital.
    • zfill(): Tambahkan nol di awal string sebanyak nilai yang ada pada parameter.
  1. Regex
    Regex atau regular expression adalah sebuah cara untuk mencari teks berdasarkan pola tertentu. Umpamanya, ketika ingin mencari sebuah kata dalam kamus, misalnya arti dari kata parsing, kita akan mencari kata tersebut di halaman yang memiliki kata dengan awalan p, lalu pa. Regex bekerja dengan konsep yang sama. Pada regex, kita mencari sebuah kata atau kumpulan kata dengan memberikan pola yang diinginkan.


Library Matematika

Library yang dapat digunakan untuk permasalahan matematika adalah library math yang termasuk salah satu modul bawaan Python. Anda hanya perlu melakukan impor untuk modul math. Berikut contoh penerapannya.

  1. import math
  2.  
  3. print(math.sqrt(25))  # Output: 5.0
  4. print(math.pi)  # Output: 3.141592653589793


Library Parser

Library parser pada Python menyediakan fasilitas untuk menguraikan kode Python menjadi struktur data yang dapat diproses dan dianalisis. Anda dapat menggunakan Getopt atau ArgParse

Argument parser bermanfaat jika kita ingin membuat program atau skrip kecil yang langsung menerima parameter pada saat pemanggilan program. Hal ini biasa digunakan dalam pemanggilan aplikasi atau skrip di CLI/terminal *nix-based, misalnya Linux dan MacOS. Contoh penerapannya berikut.

  1. import argparse
  2.  
  3. parser = argparse.ArgumentParser()
  4. parser.add_argument('-o', '--output', action='store_true', help="tampilkan output")
  5. args = parser.parse_args()
  6.  
  7. if args.output:
  8.    print("Halo, ini merupakan sebuah output dari panggildicoding.py")


Library Pengolahan Data

Library pengolahan data bertujuan untuk membantu dalam manipulasi, analisis, dan pemrosesan data. Library ini menyediakan berbagai fungsi dan metode yang memudahkan pengguna untuk melakukan operasi pengolahan data dengan lebih efisien dan cepat.

Tujuan dari library ini untuk menyederhanakan tugas-tugas kompleks yang berkaitan dengan pengolahan data. Jadi, Anda tidak perlu mengimplementasikan semuanya dari awal. Berikut adalah beberapa library populer yang digunakan untuk pengolahan data.

  1. Pandas
    Pandas adalah library populer yang digunakan untuk pengelolaan dan analisis data. Library ini menyediakan struktur data dan alat untuk membantu pengguna dalam melakukan manipulasi, pembersihan, transformasi, dan analisis data dengan mudah dan efisien.
  1. NumPy
    Library NumPy adalah package fundamental yang sering digunakan untuk scientific computing pada Python. Library ini menyediakan objek array multidimensi, berbagai jenis objek lainnya, seperti masked array dan matrix, dan sebagainya.
  1. Matplotlib
    Selanjutnya adalah matplotlib yang merupakan library untuk melakukan visualisasi data. Matplotlib termasuk jenis library eksternal sehingga Anda perlu melakukan instalasi matplotlib terlebih dahulu.
  1. Seaborn
    Terakhir adalah library seaborn yang termasuk jenis library dengan tujuan untuk visualisasi data sama seperti matplotlib. Bahkan library seaborn dibangun berdasarkan pada library matplotlib.


Library File Management

Library file management adalah kumpulan library yang dirancang untuk membantu pengguna dalam mengelola serta berinteraksi dengan berkas dan direktori pada sistem file. Beberapa library file management adalah berikut.

  1. OS
    Modul OS pada Python berguna untuk fungsi-fungsi yang berkaitan dengan sistem operasi, misalnya open(), path(), getcwd(), dan fungsi lainnya. Modul ini memungkinkan Anda untuk memanfaatkan fungsi yang sama dan mengeksekusi fungsi terkait OS yang mungkin berbeda di setiap sistem operasi. Ada beberapa fitur yang hanya bekerja pada sistem operasi tertentu.
  1. JSON
    Untuk serialization dengan bahasa lain, umumnya kita menggunakan JSON(JavaScript Object Notation) yang memiliki beberapa perbedaan karakteristik dengan pickle, yakni berikut.
    • JSON adalah format text-serialization dan umumnya menggunakan Unicode atau UTF-8. Sementara pickle bersifat binary serialization.
    • JSON dapat dibaca dengan mudah oleh manusia, sementara pickle tidak.
    • JSON dapat dioperasikan dan digunakan di luar ekosistem Python. Pickle adalah Python-specific.
    • JSON secara default hanya dapat merepresentasikan subset dari built-in type pada Python.
    • Pickle dapat merepresentasikan hampir (jika tidak seluruh) tipe Python dan secara default melakukan kompresi data.

      Sebagaimana yang telah disebutkan sebelumnya, JSON adalah format text yang ditujukan untuk serialization. Agar data dapat dengan mudah ditransmisikan antar berbagai sumber tanpa khawatir bentuknya kacau, menggunakan JSON adalah salah satu pilihan yang tepat.

      JSON memiliki format yang hampir mirip dengan dictionary tempat data disimpan dengan format key & value pair.
  1. Pickle
    Jika Anda memiliki sebuah list yang ingin disimpan atau ditransmisikan tanpa khawatir bentuknya akan rusak atau kacau, fungsi dari library pickle dapat dimanfaatkan. Pickle termasuk fungsi Object Serialization pada Python. Pickling adalah istilah untuk mengubah objek menjadi byte stream, sedangkan unpickling adalah perlakuan sebaliknya.

 

Library Web Scraping

Library web scraping adalah jenis library untuk membantu pengguna mengumpulkan data dari halaman web. Proses ini disebut sebagai “web scraping” atau “web crawling”. Anda bisa menggunakan fungsi dan metode pada library ini untuk mengekstraksi informasi dari situs web dan menyimpannya dalam format yang dapat diakses dan digunakan dalam analisis atau aplikasi lainnya.

  1. Beautifulsoup
    Beautifulsoup adalah library untuk mengambil data dari halaman web dan mengekstrak informasi yang diperlukan.
  1. Urllib
    Urllib adalah library bawaan dari Python yang bertujuan untuk scraping konten dari sebuah website. Penggunaan urllib berbeda dengan beautifulsoup. Bisa dikatakan bahwa cara penggunaan urllib sedikit kompleks dibandingkan beautifulsoup. 


Library Machine Learning

Selanjutnya adalah library yang digunakan untuk melakukan pemelajaran mesin. Anda dapat menggunakan library berikut untuk membantu Anda menyelesaikan permasalahan machine learning. Berikut adalah beberapa library populer untuk machine learning.

  1. Scikit-learn
    Pertama adalah scikit-learn yang menyediakan berbagai algoritma pemelajaran mesin siap pakai untuk membantu dalam pengembangan model pemelajaran mesin, pemrosesan data, dan evaluasi kinerja model.
  1. TensorFlow
    Selanjutnya adalah TensorFlow yang termasuk salah satu library paling populer terkait machine learning. Dengan menggunakan TensorFlow, Anda bisa mengembangkan machine learning hingga tahap deployment.
  1. PyTorch
    Terakhir ada PyTorch, yakni library machine learning yang dikembangkan oleh Facebook’s AI Research lab (FAIR). PyTorch menyediakan alat dan kerangka kerja yang kuat untuk mengembangkan model pemelajaran mesin, terutama dalam konteks jaringan saraf tiruan (neural networks).


Library Web Development

Terakhir, ada library yang bertujuan untuk pengembangan aplikasi web. Sebagaimana yang sudah dijelaskan dalam materi-materi sebelumnya, Python dapat digunakan untuk pengembangan aplikasi web pada sisi server. Berikut adalah library yang dapat digunakan untuk membantu Anda mengembangkan web.

  1. Django
    Django adalah high-level Python web framework yang mendukung pengembangan secara cepat, bersih, serta pragmatis.
  1. Flask
    Flask adalah web framework untuk Python yang ditujukan untuk membangun aplikasi web. Flask dirancang dengan tujuan menjadi ringan, fleksibel, dan sederhana.
  1. Fast API
    FastAPI adalah web framework untuk Python yang tujuannya merancang dan membangun API dengan cepat, efisien, dan aman. FastAPI memberikan kinerja yang tinggi, sintaks yang intuitif, serta dukungan otomatisasi dokumentasi yang kuat. Jadi, ia cocok untuk pengembangan mikroservis, layanan web responsif, dan sebagainya.

Bersambung ke: 

Comments

Popular posts from this blog

Ceritakan cerita saya:

Aplikasi/Gaming/Koding: NKHM Nusantara:

STUDIUM GENERALE