Tuesday, December 23, 2014

Buku Pemrograman Python - Serialisasi dan deserialisasi Data


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link


kalian bisa lanjut baca lagi di http://softscients.com/2020/03/28/buku-pemrograman-python-serialisasi-dan-deserialisasi-data/




Sinopsis

Bekerja dengan melibatkan banyak data seperti algoritma computer vision, machine learning yang harus disimpan variabelnya kedalam sebuah disk. Kasus yang melibatkan type data bersifat multidimensi seperti misalkan pada kasus machine learning yang menghasilkan sebuah bobot dalam bentuk matrix,  hal ini tentu akan menyulitkan jika disimpan dalam bentuk database relational, tentu kita harus menyiapkan type data berupa struct, array, dan lainnya. Dalam python hal tersebut bisa menggunakan pickle (kalau di Matlab kalian bisa simpan data dalam format *.mat).

Mengenai Pickle

Ada beberapa catatan penting mengenai pickle

  1. In Python 2, you can speed up your pickle access with cPickle. (In Python3, importing pickle will automatically use the accelerated version if it is available.)
  2. Kamu bisa menggunakan pickle ataupun cPickle. Tapi ingat, ketika menerima data berformat biner (serialisasi di python) sebuah dari jaringan, kamu harus hati-hati karena bisa juga berisikan kode jahat! Pickle files can be hacked. If you receive a raw pickle file over the network, don't trust it! It could have malicious code in it, that would run arbitrary python when you try to de-pickle it.
Disini tidak membahas mengenai pickle akan tetapi menggunakan pickle untuk menyimpan sebuah data. Oiya kalian bisa belajar dari buku pemrograman python dengan package opensource

Contoh Pickle



#tutorial untuk serialisasi dan deserialisasi
import pickle as pc
import numpy as np

print '\n' *100 #bersihkan layar

a = np.array([[1,2,3],[4,5,6]]);

fileName = 'D:/data.objek'
fileObj = open(fileName,'wb')
pc.dump(a,fileObj)

fileObj.close()

fileObj2 = open(fileName,'r') #kalian bisa set rb, jika mode nya read binary
b = pc.load(fileObj2)
print 'data b ', b     
 



Kasus diatas, penulis menggunakan library numpy sebagai contoh saja yaitu untuk menulis dan membaca kembali lagi, tentu itu kasus kecil, kamu bisa menyimpan sebuah class atau object yang lainnya dalam python. Jadi kalian tidak perlu kuatir lagi menyimpan data/objek di Python.

Referensi

  1. https://freepythontips.wordpress.com/2013/08/02/what-is-pickle-in-python/
  2. http://www.diveintopython3.net/serializing.html
  3. http://pymotw.com/2/pickle/

No comments:

Post a Comment