Bagi pemula dalam Python, menampilkan data dengan rapi adalah kunci penting. Saya mengalami hal yang sama saat menyelesaikan tugas akhir di Purwadhika, menciptakan aplikasi mini untuk operasi dasar: create, read, update, dan delete.
Adapun mini aplikasi yang saya buat mengenai Data Nasabah PT ABC Sekuritas, dimana data collection-nya berupa beragam jenis profil nasabah mulai dari ID, NIK, Nama, Alamat, hingga Status Prioritas atau Non Prioritas.
Dikarenakan pada menu pertama harus membuat tampilan tabel, maka saya ingin tampilan tabel terlihat rapi.Awalnya, saya mengandalkan teknik manual yakni tabs (\t) dan space (ʼ ‘) untuk menyusun struktur tampilan, namun hasilnya tidaklah memuaskan. Beruntung, seorang teman memperkenalkan saya pada fungsi ljust, yang ternyata memberikan solusi lebih efisien.Dari hal tersebut, saya tertarik untuk mengeksplor lebih dalam pilihan untuk menampilkan data , khususnya tabel di Python.
Dalam artikel ini, saya akan menjelaskan beberapa teknik sederhana namun efektif untuk membantu anda menampilkan data, baik dalam tabel maupun tidak pada pemrograman Python
Penggunaan tab dan spasi adalah salah satu cara paling mendasar untuk memberikan indentasi pada tampilan kode Python Anda, membuatnya lebih rapi dan mudah dibaca.
Cara penggunaannya sangat sederhana. Saat menggunakan perintah print, cukup masukkan \t di posisi teks yang ingin Anda cetak. Jumlah \t dan spasi tergantung pada kebutuhan Anda. Berikut adalah contoh penggunaannya dan hasilnya:
Keuntungan menggunakan teknik ini adalah kecepatan dan kemudahan implementasinya.
Namun, terdapat beberapa kelemahan yang dapat langsung terlihat ketika menggunakan teknik ini yakni terpengaruh akan jumlah karakter. Dapat dilihat bahwa karakter nama "Nur Komala Saijah" dan "Haris Purwadhana" lebih panjang dari "Intania" dan "Angel Kumala", yang menyebabkan jarak tab antara data menjadi tidak konsisten, meskipun jumlah tab dan spasi sudah sama.
Belum lagi cara ini terlalu manual, sehingga sulit untuk menyesuaikan lebar dengan tepat, dan sering memerlukan beberapa kali percobaan untuk memastikan hasil yang sesuai.
Karena alasan ini, penggunaan tab dan spasi tidak terlalu efektif untuk menampilkan data, terutama dalam bentuk tabel.
Untuk mengatasi masalah inkonsistensi antara tab dan spasi, Anda dapat memanfaatkan fungsi rjust() dan ljust() dalam Python. Dimana sistem akan membuat jarak secara konsisten untuk suatu data string yang anda cetak. Syntax penulisannya sebagai berikut :
Mari kita lihat langsung penggunaannya :
Cara penggunaan ljust() dan rjust() :
Sekarang akan saya terapkan untuk dataNasabah yang saya miliki
Untuk membuat tampilan seperti ini, maka perlu menggunakan f-string agar bisa menyimpan objek yang lebih banyak.
Perlu diperhatikan, dengan menggunakan ljuts() atau rjust() data yang berupa integer akan menghasilkan error. Sehingga data yang bertipe integer harus di format terlebih dahulu menjadi string.
Inilah yang menjadi kelemahan dari penggunaan ljust() dan rjust() yakni masih harus menggunakan format() atau f-string() untuk menyimpan beragam objek sekaligus, dan tidak mampu menampilkan data integer sehingga harus dicasting ke tipe data string terlebih dahulu.
Metode format() digunakan untuk memformat nilai yang ditentukan dan memasukkannya ke dalam placeholder (tempat penampung) dalam sebuah
string. Placeholder ini ditentukan dengan menggunakan tanda kurung kurawal: {}.
Adapun cara penulisannya adalah :
Di dalam string tersebut akan diletakkan placeholder {} yang jumlahnya harus sama dengan values karena setiap values tersebut akan dimasukkan secara berurutan.
Ternyata format() ini pun dapat digunakan untuk mengatur jarak antar value maupun string dengan beraneka format, mau menjarak ke kanan atau ke kiri seperti ljust() & rjust(), bahkan ada yang ke tengah pula.
Syntax penulisan untuk memberikan jarak :
Dapat dilihat penggunaan {:>50} yang artinya saya menghendaki string ini memiliki total 50 karakter termasuk karakter yang ada pada objek x. Pada kasus diatas variabel x memiliki panjang sebanyak 29 karakter, sehingga sisanya
Python menambahkan 21 spasi ‘ ‘ untuk mengisi missing space. Sekarang kita coba pada data yang saya miliki, dimana saya ingin menampilkan ID Nasabah, Nama, dan Dana Nasabah.
Dapat dilihat dengan menggunakan format(), tampilannya tetap rapi dan anda tidak perlu mengetik setiap jarak kolom satu per satu yang dilakukan di rjust/ljust().
Metode yang ini mirip dengan format() namun bedanya penulisan f di bagian depan string, dan objek langsung dimasukkan ke dalam placeholder dalam string.
Tabulate adalah modul Python yang digunakan untuk membuat tabel dari data dalam bentuk list, tuple, dictionary, atau objek Pandas DataFrame. Modul ini menyediakan cara yang mudah dan fleksibel untuk membuat tampilan tabel yang terstruktur dan rapi dari data yang kompleks. Adapun syntax untuk penggunaan tabulate adalah :
Sebelum menggunakan pastikan anda mengimpor tabulate terlebih dahulu.
Dalam kesempatan kali ini saya akan memberikan contoh penggunaan untuk beragam aplikasi :
Jika anda menggunakan data dalam beberapa list, maka pastikan untuk menggabungkan antar list untuk mempermudah tabulate dalam membaca data anda. Pada contoh ini, saya menggunakan teknik zip.
Jika anda ingat contoh sebelumnya (poin 1) , teknik penulisan data dictionary mirip dengan teknik penulisan data dalam list, tetapi mengapa data dalam list perlu di - zip sedangkan dictionary tidak perlu di - zip? Jawabannya karena dictionary memiliki keys yang membantu Python untuk mendefinisikan setiap values untuk dimasukkan ke masing - masing kolom pada headers yang sesuai. Karenanya penulisan headers adalah data. keys()
Sekarang, saya akan menggunakan data nasabah yang saya miliki dimana kasus kali ini adalah dictionary dalam dictionary. Berikut adalah implementasinya :
Hasilnya tidak sesuai dengan keinginan yah. Ini dikarenakan Python kesulitan menentukan values yang tepat. Untuk kasus ini, yang saya lakukan adalah mendefinisikan kembali dictionary menjadi list yang lebih mudah dibaca seperti berikut :
Pertama, saya melakukan konversi dictionary ke dalam list menggunakan teknik
list comprehension. Kemudian saya membuat variabel headers, dikarenakan dalam dictionary tidak ada data headers tersebut, dan berbeda dengan contoh sebelumnya, keys yang saya gunakan merupakan ID Nasabah dan menyimpan beragam value dengan tipe data yang beragam. Baru saya menjalankan perintah tabulate.
Selain membuat tabulate dengan beragam bentuk koleksi data, saya juga ingin membahas teknik penulisan headers, dan yang paling sederhana adalah
headers langsung dinyatakan didalam perintah tabulate.
Jika headers cukup panjang dan anda berencana untuk menggunakannya berkali - kali, maka menyimpan headers dalam variabel merupakan langkah yang tepat.
Penulisan header dalam koleksi data Anda juga bisa memasukkan headers kedalam data koleksi yang dimiliki. Dimana letakkan headers tersebut di paling pertama, kemudian ketika anda menjalankan perintah tabulate, isi headers dengan ‘firstrowʼ
Pada argumen tablefmt , tabulate menyediakan beragam tampilan yang bisa anda pilih. Apabila anda tidak memasukkan argumen tablefmt, maka tabulate secara default akan menampilkan tabel dalam bentuk ‘simpleʼ. Adapun pilihannya adalah berikut :
Digunakan untuk mengatur lokasi data yang memiliki tipe integer (numalign) dan tipe string (stralign). Secara default, tabulate akan mengatur kolom tipe data integer rata kiri dan tipe data string rata kanan. Sekarang anda bisa mengatur apakah mau rata kanan, rata kiri ataupun rata tengah. Berikut adalah tampilan tabel tanpa memasukkan argumen ‘numalign =ʼ dan ‘stralign =ʼ
Dan sekarang, saya memasukkan argumen numalign = ‘centerʼ,stralign = ‘centerʼ dan membuat tampilan menjadi berikut :
Dari contoh pengaplikasian, kita bisa temukan banyak kelebihan tabulate yakni :
Walau demikian tetap ada kelemahannya juga yakni :
Itulah 5 teknik yang dapat anda gunakan untuk menampilkan tabel anda di Python agar terlihat rapi dan menarik. Dari kelima teknik tersebut, manakah yang paling anda sukai?
bagikan
ARTIKEL TERKAIT
Hi!👋
Kamu bisa menghubungi kami via WhatsApp