Jenis-jenis Library Python dan Fungsinya Masing-masing
Python memiliki lebih dari 140.000 library yang dikembangkan melalui open source project sehingga para pemula bisa belajar secara gratis. Library ini bersifat reusable yang berarti bisa digunakan berkali-kali, dimana saja dan kapan saja. Berikut ini beberapa contoh library yang umum dan populer digunakan untuk pekerjaan di bidang data:
Library ini dikembangkan oleh Wes McKinney yang bertujuan digunakan untuk manipulasi dan analisis data. Pandas menyediakan struktur data yang cepat, fleksibel dan ekspresif serta menyediakan fitur seperti penanganan data yang hilang, pengindeksan yang rumit dan penyelarasan data. Selain itu, Pandas juga menyediakan struktur data yang cepat, fleksibel, dan ekspresif yang dapat membantu developer bekerja dengan data berlabel dan relasional.
Dikembangkan oleh Travis Oliphant pada tahun 2015, NumPy atau Numerical Python merupakan library Python dasar untuk perhitungan matematis dan ilmiah. NumPy memiliki fungsi aljabar linier, Fourier transform, dan komputasi matriks yang digunakan untuk mengembangkan aplikasi dimana kecepatan dan sumber daya menjadi prioritas utama. NumPy bertujuan untuk menyediakan objek array 50 kali lebih cepat dibanding daftar Python tradisional.
Dikembangkan oleh Tim Google Brain, TensorFlow adalah library open source yang digunakan untuk Deep Learning. Meski awalnya library ini dikembangkan untuk kompilasi numerik, tetapi seiring perkembangannya TensorFlow juga menawarkan ekosistem tools, library, dan community resources yang komprehensif dan fleksibel yang memungkinkan developers untuk membangun dan menyebarkan aplikasi berbasis Machine Learning. Dirilis pertama kali pada tahun 2015, tim Google Brain baru-baru ini meluncurkan versi terbarunya, TensorFlow 2.5.0 dengan lebih banyak fitur.
SciPy atau Scientific Python digunakan untuk masalah matematika, sains, dan teknik yang kompleks. SciPy dibangun di atas ekstensi NumPy dan memungkinkan kamu untuk memanipulasi dan memvisualisasikan data. SciPy menyediakan rutinitas numerik yang mudah digunakan dan efisien untuk aljabar linier, statistik, integrasi, dan optimisasi. Penggunannya meliputi pemrosesan gambar multidimensi, penyelesaian transformasi Fourier, dan persamaan diferensial.
Baca juga:Tools Data Visualisasi untuk Data Analyst
SciKit-Learn menampilkan algoritma klasifikasi, regresi, dan pengelompokan, termasuk DBSCAN, peningkatan gradien, mesin vektor dukungan, dan random forsts. Library yang dikembangkan oleh David Cournapeau ini berfungsi untuk menangani standard machine learning dan aplikasi penambangan data.
Jika kamu ingin memvisualisasi data baik untuk publikasi maupun imersif, Plotly sangat cocok digunakan. Plotly adalah platform analitik dan grafik kolaboratif berbasis web. Library ini cocok untuk pengembangan Machine Learning, Data Science, dan operasi terkait Artificial Intelligence (AI). Library ini dapat digunakan untuk mengimpor data ke bagan serta memungkinkan pengembang membuat dek slide dan dasbor dengan mudah. Plotly biasa digunakan untuk mengembangkan tools seperti Dash dan Chart Studio.
Baca juga: Data Engineering vs Data Science: Apa Bedanya?
Implementasi Quick Sort di Python
Berikut adalah implementasi Quick Sort dalam bahasa Python.
# Fungsi untuk melakukan partisi
def partition(arr, low, high):
pivot = arr[high] # Mengambil elemen terakhir sebagai pivot
i = low – 1 # Indeks dari elemen yang lebih kecil
for j in range(low, high):
# Jika elemen saat ini lebih kecil atau sama dengan pivot
# Tukar elemen arr[i] dan arr[j]
arr[i], arr[j] = arr[j], arr[i]
# Tukar elemen pivot ke posisi yang tepat
arr[i + 1], arr[high] = arr[high], arr[i + 1]
# Fungsi utama quicksort
def quicksort(arr, low, high):
# Pi adalah indeks partisi
pi = partition(arr, low, high)
# Mengurutkan elemen sebelum dan sesudah partisi
quicksort(arr, low, pi – 1)
quicksort(arr, pi + 1, high)
arr = [10, 7, 8, 9, 1, 5]
quicksort(arr, 0, n – 1)
print(f”Hasil pengurutan: {arr}”)
Pemilihan pivot adalah aspek yang sangat penting dalam Quick Sort. Pilihan pivot yang buruk dapat menghasilkan pembagian yang tidak seimbang pada setiap iterasi, yang meningkatkan waktu eksekusi hingga mencapai O(n2)O(n^2)O(n2). Berikut beberapa strategi umum dalam memilih pivot:
Untuk meningkatkan performa dalam skenario terburuk, banyak implementasi Quick Sort modern menggunakan teknik pemilihan pivot acak atau strategi median-of-three yang memilih pivot dari median tiga elemen (elemen pertama, tengah, dan terakhir).
Berikut implementasi Quick Sort dengan pemilihan pivot acak:
def partition(arr, low, high):
pivot_index = random.randint(low, high)
arr[pivot_index], arr[high] = arr[high], arr[pivot_index] # Tukar pivot dengan elemen terakhir
for j in range(low, high):
arr[i], arr[j] = arr[j], arr[i]
arr[i + 1], arr[high] = arr[high], arr[i + 1]
def quicksort(arr, low, high):
pi = partition(arr, low, high)
quicksort(arr, low, pi – 1)
quicksort(arr, pi + 1, high)
arr = [10, 7, 8, 9, 1, 5]
quicksort(arr, 0, n – 1)
print(f”Hasil pengurutan dengan pivot acak: {arr}”)
By: Finn Christoffer K.
Fungsi sortir dapat digunakan untuk mengurutkan daftar dalam urutan naik, turun atau yang ditentukan pengguna. Tujuan utama dari proses sorting adalah untuk mengurutkan data, baik itu dari terendah ataupun tertinggi. Yang secara tidak langsung akan menjadikan data lebih terstruktur, rapi dan teratur.
Ada banyak algoritma populer untuk mengurutkan data, seperti : insertion sort, selection sort, merge sort, heap sort, quick sort, bubble sort, shell sort, comb sort, counting sort, bucket sort, radix sort. Tapi di artikel ini saya hanya akan menyebutkan salah satu jenis algoritma sort yaitu Selection Sort.
Selection Sort adalah perbaikan dari algoritma bubble sort, dengan mengurangi jumlah perbandingan. Dikatakan selection sort karena algoritma ini mencoba memilih satu per satu elemen data dari posisi awal, untuk mencari data paling kecil dengan mencatat posisi index-nya saja, lalu dilakukan pertukaran hanya sekali pada akhir setiap tahapan.
Selection sort merupakan metode pengurutan dengan mencari nilai data terkecil dimulai dari data diposisi 0 hingga diposisi N-1. Jika terdapat N data dan data terkoleksi dari urutan 0 sampai dengan N-1 maka algoritma pengurutan dengan metode selection sortadalah sebagai berikut:
Jika kita memiliki elemen array : {5, 1, 12, -5, 16, 2, 12, 14} maka cara pengurutannya
Berikut ini implementasi algoritma selection sort dalam Bahasa pemrograman Python:
Kelebihan dan Kekurangan Selection Sort
Multidimensional Array
Salah satu fitur menarik dari NumPy adalah library ini mampu membuat multidimensional array dan melakukan manipulasi array dengan mudah dan cepat. Multidimensional array adalah array yang berbentuk lebih dari 1 dimensi seperti 2D, 3D, 4D dan seterusnya. Cara membuat multidimensional array sama dengan membuat array 1 dimensi, perbedaannya hanya pada parameter yang digunakannya saja. Berikut ini adalah contohnya membuat array 2 dimensi:
Array diatas adalah berbentuk (2,5) artinya mempunyai 2 baris dan 5 kolom. Kita bisa melihat jumlah elemen di setiap dimensi dengan menggunakan fungsi shape.
3. Operasi Aritmatika
Operator aritmatika adalah operator yang biasa ditemukan untuk operasi matematika. Aritmatika sendiri merupakan cabang ilmu matematika yang membahas perhitungan sederhana, seperti kali, bagi, tambah dan kurang (kabataku). Kita bisa menggunakan operasi aritmatika seperti penjumlahan, pengurangan, perkalian, pembagian dan perpangkatan. Operator yang digunakan adalah +, -, *, / dan **
Berikut contoh operasi aritmatika pada array,
Baca juga : Belajar Data Science: Pahami Penggunaan Machine Learning pada Python
Macam-macam library python
Ada beberapa jenis library yang populer di kalangan data scientist, di antaranya:
TensorFlow adalah platform end-to-end open-source untuk membuat aplikasi machine learning atau komputasi numerik cepat yang dibuat dan dirilis oleh Google. Library dasar ini dapat dipakai untuk membuat model deep learning secara langsung atau menggunakan library wrapper untuk menyederhanakan proses yang dibangun di atas TensorFlow.
Fitur utama TensorFlow meliputi bekerja secara efisien dengan ekspresi matematika yang melibatkan array multidimensi, dukungan yang baik dari jaringan saraf yang dalam dan konsep machine learning, hingga komputasi GPU/CPU di mana kode yang sama dapat dieksekusi pada kedua arsitektur.
NumPy (Numerical Python) adalah library python yang digunakan untuk bekerja dengan array dan juga memiliki fungsi yang bekerja dalam domain aljabar linier, transformasi fourier, dan matriks. Library yang dibuat pada 2005 oleh Travis Oliphant ini merupakan proyek open source sehingga Anda dapat menggunakannya secara bebas. Meski python memiliki daftar yang melayani tujuan array, prosesnya begitu lambat sehingga memerlukan NumPy yang bisa menyediakan objek array hingga 50 kali lebih cepat daripada daftar python tradisional.
SciPy (Scientific Python) adalah perpustakaan open-source yang digunakan untuk perhitungan ilmiah tingkat tinggi. Jenis library ini dibangun di atas ekstensi NumPy dan bekerja bersama untuk menangani komputasi yang kompleks. NumPy memungkinkan pengurutan dan pengindeksan data array, sementara kode data numerik disimpan di SciPy. Library python ini juga banyak digunakan oleh para developer dan engineer.
Pandas adalah perpustakaan penting bagi para data scientist. Library untuk machine learning yang bersifat open source ini menyediakan struktur data tingkat tinggi yang fleksibel serta berbagai alat analisis. Penggunaannya memudahkan analisis data, manipulasi data, dan pembersihan data. Pandas mendukung berbagai jenis operasi seperti penyortiran, pengindeksan ulang, iterasi, penggabungan, konversi data, visualisasi, agregasi, dan lain sebagainya.
Jenis library ini bertanggung jawab untuk merencanakan data numerik. Itulah alasan Matplotlib digunakan dalam analisis data. Library python yang bersifat open source ini dapat memplot angka-angka berdefinisi tinggi seperti diagram lingkaran, histogram, scatterplot, grafik, dan lain-lain.
Keras adalah API deep learning yang ditulis dengan python dan berjalan di atas platform machine learning TensorFlow. Dengan lebih dari satu juta pengguna individu pada akhir tahun 2021, penggunaan Keras saat ini terbilang masif, baik di industri maupun komunitas penelitian. Bersama dengan TensorFlow, Keras lebih banyak dipakai daripada solusi deep learning lainnya dan sangat populer di kalangan startup yang menempatkan deep learning sebagai inti dari produk yang ditawarkan.
Tanpa disadari, Anda pun terus berinteraksi dengan fitur yang dibuat dengan Keras (fitur yang salah satunya digunakan di Netflix). Keras & TensorFlow juga merupakan favorit di antara para peneliti, bahkan diadopsi oleh para peneliti di organisasi ilmiah besar, seperti CERN dan NASA.
Scikit-learn adalah library python terkenal yang digunakan untuk data kompleks. Perpustakaan open source ini mendukung machine learning dengan mendukung berbagai algoritma yang diawasi dan tidak diawasi seperti regresi linier, klasifikasi, pengelompokan, dan lain sebagainya. Library ini bekerja sama dengan Numpy dan SciPy.
PyTorch adalah perpustakaan machine learning terbesar yang mengoptimalkan komputasi tensor. Ia memiliki API yang kaya untuk melakukan komputasi tensor dengan akselerasi GPU kuat, membuatnya mampu membantu memecahkan masalah aplikasi yang terkait dengan jaringan saraf.
Perpustakaan tensor yang dioptimalkan ini utamanya digunakan untuk aplikasi deep learning menggunakan GPU dan CPU. Library phyton yang sebagian besar dikembangkan oleh tim Riset AI Facebook ini merupakan salah satu yang paling banyak digunakan di samping TensorFlow dan Keras.
Scrapy juga termasuk perpustakaan open source yang digunakan untuk mengekstraksi data dari website. Library ini menyediakan perayapan web yang sangat cepat, pengikisan layar tingkat tinggi, serta juga bisa digunakan untuk data mining dan pengujian data otomatis.
Kalian pasti pernah bahkan sering menjumpai berbagai jenis data khususnya data angka yang berantakan. Atau bahkan juga bingung bagaimana caranya mengurutkan data numerik dengan bahasa pemrograman. Tenang saja, algoritma sorting adalah jawabannya. Secara singkatnya sorting adalah metode untuk pengurutan data.
Secara garis besarnya, Sorting (Pengurutan) adalah suatu proses penyusunan kembali kumpulan objek menggunakan tata aturan tertentu. Sorting disebut juga sebagai suatu algoritma untuk meletakkan kumpulan elemen data ke dalam urutan tertentu berdasarkan satu atau beberapa kunci dalam tiap-tiap elemen. Pengurutan atau sorting merupakan proses dasar yang ada dalam sebuah algoritma dan struktur data. Penggunaan algoritma sorting dapat pula diaplikasikan pada algoritma Python.
Tujuan utama dari proses pengurutan atau sorting adalah untuk mengurutkan data berdasarkan keinginan baik itu dari yang terendah maupun yang tertinggi, sehingga data yang dihasilkan akan lebih terstruktur, teratur dan sesuai dengan kebutuhan.
Terdapat beberapa algoritma python yang cukup populer dalam mengurutkan data. Seperti misalnya insertion sort, selection sort, merge sort, heap sort, quick sort, bubble sort, shell sort, comb sort, counting sort, bucket sort, radix sort.
Tentunya pengaplikasian algoritma sorting pada algoritma python memiliki banyak keuntungannya. Hal yang paling utama dalam penggunaannya yakni untuk mempersingkat dalam penggunaan waktu dalam pembuatan proses program, karena jika saja tidak menggunakan sorting, bisa anda bayangkan kembali jika data yang anda buat lebih dari ratusan hingga ribuan, akankah anda akan mengurutkan data satu persatu hingga kesekian.
Dengan demikian, penggunaan algoritma sorting ini sangat memudahkan pengguna dan efisien untuk melakukan pengurutan data. Terlebih jika sewaktu-waktu ada beberapa kesalahan dalam metode penyortingan sangat mudah untuk mengubah proses pengurutannya karena metode sorting ini hanya menggunakan mungkin saja satu rumus utama yang digunakan untuk semua data.
Pada artikel DQLab kali ini, kita akan membahas mengenai algoritma sorting dengan menggunakan Python. Artikel ini khusus dibuat teruntuk kalian para data lovers di bidang data untuk mengetahui penerapan algoritma sorting khususnya pada Python. Jadi, pastikan simak baik-baik, stay tune and keep scrolling on this article guys!
Algoritma bubble sort cukup populer dan sederhana. Proses pada bubble sort dilakukan dengan pertukaran data di sebelahnya secara terus menerus hingga dalam suatu iterasi tertentu tidak ada lagi perubahan atau pertukaran. Algoritma bubble sort termasuk ke dalam kategori algoritma comparison sort, karena menggunakan perbandingan pada operasi antar elemen nya.
Analogi algoritma bubble sort :
Bandingkan nilai pada data ke satu dengan data ke dua
Apabila nilai data ke satu lebih besar dari data ke dua maka tukar posisinya
Kemudian data yang lebih besar tersebut dibandingkan lagi dengan data ketiga
Apabila data ke tiga lebih kecil dari data ke dua maka tukar posisinya
Dan begitu seterusnya hingga semua data yang ada menjadi terurut
Baca juga : 3 Jenis Algoritma Machine Learning yang Dapat Digunakan di Dunia Perbankan
Algoritma selection sort merupakan pengurutan dengan konsep memilih elemen dengan nilai paling rendah dan menukar elemen tersebut dengan elemen ke i. Nilai dari i dimulai dari 1 ke n, yang dimana n merupakan jumlah total elemen dikurangi satu.
Analogi algoritma selection sort :
Memulai pengecekan data dari data ke 1 hingga data ke n.
Menentukan bilangan dengan index terkecil dari data pada bilangan tersebut.
Menukar bilangan index terkecil dengan bilangan pertama.
Begitu seterusnya hingga data berhasil diurutkan semuanya.
Baca juga : Belajar Data Science: Pahami Penggunaan Machine Learning pada Python
Algoritma insertion sort merupakan suatu metode pengurutan data dengan melakukan penempatan setiap elemen data pada posisinya dengan membandingkan dengan data-data yang telah ada. Prinsip dari insertion sort adalah dengan membagi data yang akan diurutkan menjadi dua kelompok, satu kelompok yang belum diurutkan dan yang satunya lagi sudah diurutkan, Elemen yang pertama diambil dari kelompok list yang belum diurutkan dan kemudian ditempatkan sesuai posisinya pada bagian lain yang belum diurutkan.
Analogi Algoritma insertion sort
Membandingkan data kedua dengan data kesatu
Apabila data ke dua lebih kecil maka tukar posisinya
Data ketiga dibandingkan dengan data kesatu dan kedua
Apabila data ketiga lebih kecil tukar lagi posisinya
Data keempat dibandingkan dengan data ketiga hingga kesatu
Apabila data keempat lebih kecil dari ketiga maka letakkan data keempat ke posisi paling depan
Begitu seterusnya hingga tidak ada lagi data yang dapat dipindahkan.
Gunakan Kode Voucher "DQTRIAL", dan simak informasi di bawah ini mendapatkan 30 Hari FREE TRIAL:
Kalau kamu mendengar istilah “Library”, apa yang terlintas di pikiran kamu? Pasti tidak akan jauh-jauh dari pengertian sebuah ruangan atau tempat dimana kamu bisa menemukan banyak buku disimpan dan dibaca kapan saja. Hal ini juga berlaku pada programming, Library diartikan sebagai kumpulan kode yang telah dikompilasi sebelumnya yang dapat digunakan nanti dalam suatu program untuk beberapa operasi tertentu yang terdefinisi dengan baik. Selain kode yang telah dikompilasi sebelumnya, library mungkin berisi dokumentasi, data konfigurasi, templat pesan, kelas, dan nilai, dll.
Salah satu yang paling sering digunakan adalah Library Python. Selain karena memiliki fitur yang beragam, Python juga membuat pekerjaan yang berhubungan dengan data menjadi lebih efektif dan efisien.
Lalu apa sebenarnya Library Python itu? Apa saja jenis dan fungsinya? Yuk simak jawabannya pada artikel berikut.
Apa itu Library Python?
Seperti yang disebutkan sebelumnya, Python merupakan salah satu bahasa pemrograman yang paling banyak digunakan. Python menawarkan peningkatan produktivitas karena tidak ada langkah kompilasi, dan siklus edit-test-debug sangat cepat
Selain itu, Python juga bersifat interaktif, portabel, dan object oriented. Bahasa pemrograman open source ini bisa dijalankan di berbagai macam system, termasuk Linux, macOS, dan Windows. Python dapat digunakan dalam banyak hal seperti visi komputer, visualisasi data, mempelajari mesin 3D, robotika dan masih banyak lagi.
Python juga didukung oleh banyak library yang merupakan kode program tambahan yang digunakan untuk kebutuhan tertentu
Library Python ini sendiri merupakan kumpulan modul terkait berisi kumpulan kode yang dapat digunakan berulang kali dalam program yang berbeda. Library ini membuat Pemrograman Python lebih sederhana dan nyaman bagi programmer. Hal ini karena kamu tidak perlu menulis kode yang sama berulang kali untuk program yang berbeda. Library Python memainkan peran yang sangat vital dalam bidang Machine Learning, Ilmu Data, Visualisasi Data, dll.
Baca juga: Pengertian Manfaat Dan Keunggulan Library Panda
Analisis Kompleksitas Waktu dan Ruang
Selection Sort memiliki kompleksitas waktu sebesar O(n^2) baik pada kasus terbaik, kasus rata-rata, maupun kasus terburuk. Hal ini disebabkan oleh dua loop bersarang yang masing-masing berjalan sebanyak n kali. Meskipun Selection Sort tidak efisien untuk daftar yang sangat besar, algoritma ini memiliki beberapa kelebihan, seperti kesederhanaan dan kemudahan implementasi.
Kompleksitas ruang dari Selection Sort adalah O(1), karena algoritma ini hanya membutuhkan ruang tambahan yang konstan untuk variabel temporer dalam proses penukaran elemen.
Baca juga: Analisis Performa Algoritma Backpropagation Jaringan Syaraf Tiruan
Yuk, Kita Mulai Rintis Karir Data Science dari Sekarang!
Profesi Data Scientist di era transformasi teknologi kini menjadi profesi yang populer. Siapa saja dan dari mana saja latar belakang pendidikannya dapat berkarir menjadi data scientist. Kita dapat memulai belajar otodidak atau melalui kursus data science baik online maupun offline. Oleh karena itu untuk mengetahui lebih lanjut terkait data scientist kita dapat mempelajarinya di DQLab lohh. Caranya sangat mudah, yaitu cukup signup di DQLab.id/signup dan nikmati momen belajar gratis bersama DQLab dengan mengakses module gratis dari R, Python atau SQL!
Penulis : Latifah Uswatun Khasanah
Editor : Annissa Widya Davita
Algoritma Python merupakan bahasa pemrograman yang sangat populer. Bahasa pemrograman ini dibuat oleh Guido van Rossum dan dikenalkan sejak tahun 1991. Jika kamu tertarik mempelajari Python, sebaiknya kamu harus memahami dulu apa itu Python dan bagaimana kerjanya. Beberapa hal yang dapat dilakukan oleh Python seperti, membangun server ketika ingin membuat website, atau ketika kamu ingin membaca dan memodifikasi sebuah dataset di dalam sebuah pembangunan sistem database, dan atau Python dapat digunakan saat mengolah big data dan menjalankan algoritma matematika yang cukup kompleks.
Pada artikel ini, agar lebih mengenal Python DQLab akan berbagi pengetahuan mengenai bagaimana menggunakan Numpy untuk memanipulasi Array pada Python. Secara spesifik, pada artikel ini akan dijelaskan tutorial dasar yang dapat sahabat data sekalian terapkan menggunakan Numpy pada array. Dengan memahami metode numpy array tersebut, sahabat data akan memiliki dasar yang lebih baik dalam melakukan data processing kedepannya. Penasaran apa saja sebenarnya yang dapat dilakukan Python dengan metode-metode tersebut? Yuk simak penjelasan berikut!