Nasib Data Pada PC

Mr. I
kasta
Published in
8 min readDec 17, 2017

Bangkok, Irsyad — I’m trying to find what topic I would like write today. Suddenly, I remembered my chat a few days ago with one of my family (She is Ain, salah satu mahasiswa hukum di salah satu kampus terkemuka di Sulawesi Selatan dan mungkin di Indonesia bagian timur juga). At the time, our topics are around the conspiracy. Should I say that was the conspiracy? Whatever the name or term. But we discussed what happened in IT industry. Oh my Goodness, what’s the topic.

Sebenarnya tulisan ini bukan tentang konspirasi atau sejenis — jenisnya, lebih ke berpikir tentang beberapa tahun lalu yang kehilangan data, kapasitas flashdisk, dan ukuran file yang tercompress. Di tambah akhir — akhir ini mengerjakan service dan job di OS Windows. Nah apakah yang terjadi sebenarnya? Tulisan ini hanya random thought dan pemikiran yang saya dapatkan setelah melakukan beberapa fixing ketika saya mengalami masalah dengan komputer. Bukan kerusakan hardware yah tapi lebih ke software.

Apakah ada data yang terhapus pada komputer?

Beberapa tahun lalu tepatnya tahun 2013 sebelum menggunakan MacBook saya coba untuk menginstall MacOS di laptop saya (saat itu saya menggunakan Sony Vaio SVE14A37CVH). Awal mau beli laptop saat itu kan pertimbangan installasi Oracle. Karena belum paham mengenai Oracle jadi daripada ribet saya memutuskan membeli Sony dibanding MacBook. Ini bukan trend — trendan tapi karena kebutuhan. Di windows saya menikmati ngoding Java dan database Oracle, sedangkan di MacBook ya siapa gak tau kemampuan grafisnya dan dari programmignya untuk python dan JS framework sangat menyenangkan. Setelah browsing ternyata ada yang namanya Hackintosh. Setelah saya coba dan selalu gagal akhirnya nyerah untuk pake hackintosh dan belum melanjutkan lagi belajar Objective-C. Setelah saya pikir — pikir kayaknya seru juga dual boot dengan Ubuntu.

Ternyata agak ribet nginstall linux di Sony tanpa ngerusak original windows. Dan sialnya saya menghapus semua data pada saat installasi dan data belum di backup. Tugas kuliah, lagu, dan koleksi — koleksi foto ada di situ semua. Awalnya pusing tapi setelah tanya ke om Google ternyata ada aplikasi atau tools untuk recovery data yang hilang. Dan data — data tersebut kan tersimpan di media penyimpanan, apapun penyebutannya tetap aja media penyimpanan (flashdisk, pen drive, hard disk, SSD). Yang membedakan kan tipenya ada NTFS untuk windows, FAT untuk flashdisk, HFS untuk Macbook, EXT untuk linux, dan sebagainya. Nah satu media penyimpanan dapat di format ke bentuk manapun, namun akan dapat terbaca atau tidak berdasarkan operating system yang dijalankan.

Masalah recovery data tersebut ada beberapa tools yang pernah saya gunakan untuk mengembalikan data saya yang terhapus tersebut. Ada Recuva, Pandora Recovery, Mini Tool Partition Recovery dan beberapa tools lainnya. Jadi data yang terhapus tadi dengan menggunakan tools tersebut dapat dibalikin lagi. Tapi masalahnya butuh storage kapasitas besar untuk menampung hasil recovery tersebut karena akan mengembalikan semua data — data yang pernah kita simpan di media tersebut dan semakin banyak data yang pernah kita hapus atau simpan akan semakin banyak juga data yang akan dikembalikan. Selain itu butuh proses yang lama juga bahkan bisa berhari — hari. Pada waktu itu seingat saya, harddisk saya kurang lebih membutuhkan waktu seminggu untuk mengembalikan data sebesar 3 TB.

Coba kita berpikir. Lantas data — data tersebut apakah benar — benar terhapus atau seperti apa? Kalau menurut saya sih data tersebut tidak terhapus, hanya dikecilkan ukurannya menjadi sangat kecil, lets say dari 1GB menjadi 0KB atau 500 bytes mungkin. Mungkinkah hal tersebut terjadi? Akan dibahas di compressing file. Kemudian dengan menggunakan prinsip jika pada pemrogramana, misalnya jika ukuran file kurang dari 1KB maka data tidak akan ditampilkan dan jika lebih lebih dari 1KB maka data akan ditampilkan. Pelajaran dasar algoritma dan pemrograman. Semua mahasiswa IT tau hal ini dan semua programmer pasti pernah menggunakan jika (if). Kalau ada yang bilang gak tau, berhenti jadi programmer. 😁

Kapasitas media penyimpanan seperti apa sih?

Saya masih ingat tahun 2005 lalu ketika saya baru masuk SMP ada namanya disket. Setelah tahun 2005 itu saya dikagetkan om saya yang cerita ada media penyimpanan yang lebih kecil tapi kapasitasnya lebih besar dari disket. Terus lebih unggul dibanding CD atau DVD. Keunggulannya adalah data dapat dihapus dan disimpan kembali (RW — Rewrite and Write). Ya itulah yang kita kenal dengan Pen Drive atau flashdisk. Siapa yang gak tau media penyimpanan satu ini di era serba maju seperti sekarang. Dan saya yakin hampir 85% mahasiswa atau pegawai memiliki flahsdisk.

Pada saat membeli flashdisk sadar gak sih kapasitasnya berapa? Katanya beli flashdisk 16GB tapi kok pas kita buka di laptop hanya kurang lebih 14GBan. Sisanya yang 2GB ke mana? Nah saya tidak tau juga sisanya ke mana. Kapasitas di media penyimpanan sekecil apapun sangat bermanfaat. Kita kan gak tau 14GB yang terlihat di laptop atau PC berapa bytes tepatnya. Seharusnya ada 14.680.064 KB atau 15.032.385.536 bytes. Nah itu baru dari segi bytenya belum bitnya. Berapa bit kah kapasitas tersebut? Jumlah byte tadi kalikan dengan 8 aja maka segitu bit lah datanya. Terus apa sih sebenarnya menghitung kapasitas ini? Ya komputer mengukur ukuran file dari ukuran teks yang ada pada teks atau penyusun file tersebut. Jangan berpikiran kalau teks cuma untuk dokumen biasa saja, gambar juga disusun dari teks — teks. Kenapa teks — teks? Karena satu huruf memiliki ukuran dalam bit berdasarkan encodingnya. Ada UTF-8, UTF-16, UTF-32, ISO, dan ASCII yang range valuenya dari 8 bits — 16 bits atau 1–2 bytes per karakter. Spasi dan new line (enter) juga dihitung sebagai karakter loh. Programmer akan concern pada hal ini apalagi dalam pemilihan tipe data, kesalahan tipe data akan berpengaruh pada ringan dan beratnya suatu aplikasi.

File Compressing

Pernah menggunakan Winrar? Tiga tahun terakhir saya tidak menggunakan winrar sih, saya lebih suka menggunakan Hamstersoft Zip Archiver. Tidak ada alasan tertentu kenapa menggunakan Hamstersoft, hanya karena tampilannya yang lebih menarik aja. WinRar itu apa sih? Dan pernah kan lihat file dengan extension rar (*.rar)? RAR (Roshal Archive) adalah extension untuk file atau folder yang diarchive yang digunakan untuk mengcompress, error recovery dan penambahan file. Dari katanya saja compress atau dalam Bahasa Indonesianya adalah memampatkan yang berarti file tersebut dikecilkan ukurannya. Ini jelas sih terlihat, tidak perlu saya demokan seperti apa, tapi coba di laptop masing — masing saja. Ada satu folder kapasitas besar katakanlah 1GB dan ketika dicompress maka hasilnya akan kurang dari kapasitas tersebut.

Coba kita hubungkan dengan pembahasan di atas ada satu file yang kita hapus mengubah yang sebenarnya hanya sekedar mengubah ukuran menjadi sangat kecil, file kecil tadi terkompress, jadilah satu file yang sangat kecil ukurannya. Dan semakin tidak terlihat oleh pengguna. Apakah bisa dibuktikan? Bisa tapi harus bongkar source code operating system which is butuh effort yang sangat besar. Mengubah logic — logic yang ada untuk membuktikan hal tersebut agar OS kita gak bermasalah. Kemudian putus koneksi internet agar tidak dideteksi sama provider OS.

Background process pada operating system!

Background process? Background process itu serangkaian instruksi yang cukup sekali dijalankan maka akan jalan secara otomatis sampai kita stop processnya. Kalau bukan programmer atau programmer yang tidak pernah menggunakan Windows atau bersentuhan dengan infrastruktur gak akan tau. Jadi apakah harus dijalankan dulu? Jawabannya tidak. Pada saat menginstall operating system, perintah menjalankan background process ini akan diaktifkan sesuai kebutuhan dari operating system. Contoh jelasnya adalah Windows Update. Tau kan fitur windows yang secara otomatis mengunduh update windows dan install otomatis jika diaktifkan. Contoh lainnya adalah anti virus, anti virus kan tanpa kita melakukan scan jika mengaktifkan fitur scan maka pada jadwal tertentu atau kondisi tertentu akan melakukan pemindaian secara otomatis.

Apakah background process berupa aplikasi saja? Jawabannya tidak. Aplikasi hanyalah tampilan untuk memudahkan menjalankan instruksi tersebut. Pun kalau kita menarik pengertian dari aplikasi kan serangkaian instruksi atau perintah untuk menjalankan fungsi. Bahasa manusiawinya seperti apa sih? Fungsi itu dalam bahasa sehari — hari adalah aktivitas atau behaviour. Komputer kan mesin jadi perlu dikasih tau (perintah atau instruksi) untuk mengerjakan suatu fungsi yang telah dibuat oleh programmer. Jadi kalau ada yang bilang otak komputer itu salah besar yang ada komputer otak manusia. Karena kita manusia yang memprogram kita adalah Allah, Allah sedemikian rupa membuat otak kita (dalam komputer processor) untuk memerintahkan badan kita untuk melakukan suatu kegiatan baik respon spontan atau otomatis. Kalau lapar ya makan, kalau ada panas ya menghindar, kalau ada bahaya ya takut, dan sebagainya.

Lantas bagaimanakah background process yang tidak dalam bentuk aplikasi? Saya akan screenshot kan yang ada pada laptop saya berbasis Windows 10. Kalau mau coba silakan, caranya adalah tekan CTRL+ALT+DEL secara bersamaan dan pilih Task Manager. Pada kotak dialog Task Manager pilih tab Services. List yang ada pada tab tersebut adalah background process. Oh iyah di Windows istilahnya Services dan di Unix istilahnya Daemon.

Umumnya kalau perangkat lunak pihak ketiga servicenya adalah update. Saya biasanya menghentikan service — service untuk update karena akan menghabiskan kuota internet. Misalnya service updater Adobe, Chrome, Mozilla, dan lain — lain. Kecepatan akses internet juga akan berpengaruh, hal tersebut dapat diibaratkan kita mengakses beberapa website dalam satu waktu tapi bedanya service tidak membutuhkan banyak traffic. Selain itu service — service yang tidak saya butuhkan pasti saya hentikan juga. Karena service adalah salah satu faktor yang membuat laptop atau PC jadi lemot. Kita tidak menjalankan aplikasi apapun tapi kok lemot? Cek ada berapa service yang dijalankan, semakin banyak service yang jalan maka akan semakin lemot pula laptop atau komputer kita. Sekarang kita kembali mengaitkan dengan pembahasan di atas.

Apakah kita tau semua service tersebut apa saja? Bagaimana kalau ada satu service yang secara otomatis mengetahui apa yang terjadi pada satu folder? Misalnya ketika kita mengkopi satu file dari folder A ke folder B maka service tersebut akan menginstruksikan untuk menjalankan service lain. Service lain itu contohnya otomatis upload ke suatu storage yang tidak kita tahu siapa yang punya, posisinya di mana dan tujuannya apa. Perihal hal ini bisa saya demokan tapi akan ada pada artikel berbeda. Dengan memanfaatkan python pertama kali saya membuat sintak untuk mengetahui apakah ada data yang tersimpan atau dimodifikasi pada folder tertentu. Jika ada maka saya akan menjalankan service yang sintaksnya saya memanfaatkan API Google Drive, jadi ketika ada data baru atau modifikasi pada folder tersebut maka secara otomatis akan saya upload ke folder tertentu pada Google Drive saya. Pada kasus ini saya menerapkan dua kondisi, jika ada koneksi internet maka saya akan langsung upload, tapi kalau koneksi internet tidak ada maka akan saya masukkan ke pending activity dan datanya saya pindahkan ke suatu folder yang agak susah dicari katakanlah dalam folder “C:\Windows\Logs\DPX”. Pertanyaan saya, apakah ada yang mau buka folder itu? Selain programmer jarang ada yang buka folder itu.

import time
import os
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class Watcher:
DIRECTORY_TO_WATCH = "C:\\Users\\admin\\Desktop\\gdrive"
def __init__(self):
self.observer = Observer()
def run(self):
event_handler = Handler()
self.observer.schedule(event_handler, self.DIRECTORY_TO_WATCH, recursive=True)
self.observer.start()
try:
while True:
time.sleep(5)
except:
self.observer.stop()
print("Error")
self.observer.join()
class Handler(FileSystemEventHandler):
@staticmethod
def on_any_event(event):
(filepath, filename) = os.path.split(event.src_path)
if event.is_directory:
return None
elif event.event_type == 'created':
print("Received created event - %s." % filename)
elif event.event_type == 'modified':
print("Received modified event - %s." % filename)
if __name__ == '__main__':
w = Watcher()
w.run()

Apa sih gunanya hal — hal tersebut? Salah satunya adalah Big Data. Untuk mengetahui karakter sesorang. Simplenya gini, ketika ada kenalan baru yang mengizinkan kita mengakses laptopnya. Kalau di laptopnya semua lagunya lagu Islami, video yang ada video ceramah, dan bahan bacaannya Islami, masih mau bertanya sama orangnya kalau dia Islamic banget? Apa gunanya kepoin satu orang? Satu orang tidak akan berpengaruh, tapi kalau ada beberapa orang demografis suatu daerah akan tergambarkan, baik dari segi psikologisnya maupun dari segi lain.

--

--

Mr. I
kasta
Editor for

Code using various programming language commonly based on JVM (Java, Scala, Groovy) with DBMS (Oracle, PostgreSQL & MySQL)