Achmadpdam wrote:Selamat Malam wahai saudara - saudara saya .
Saya ada sebuah pertanyaan yang sangat mengganjal saya ketika saya melihat sebuah software yang kelihatannya sulit untuk dibuat .
misalnya seperti program recovery ,darimanakah si programmer mendapatkan referensi & observasi untuk membuat software tersebut hingga dia mampu merancang algoritmanya sampai data bisa direcovery .terima kasih
Hmm Bahasan menarik nih.
Saya ikutan jawab, tapi sesuai judul aja ya, kalo masalah program recovery saya sendiri ga tau gimana cara buatnya

Sebenernya kalo masalah merancang sih, Ya itu bukan tugas programmer, programmer just write the code
tapi si analis yang merancang softwarenya, tapi ada banyak kasus 1 orang yang merangkap PM, Analyst, Programmer, Sampe jadi marketing dan tukang tagihnya #pengalamanpribadi.
Well, untuk merancang sebuah software Hal utama yang dibutuhkan adalah : UREQ atau User Requirement (kebutuhan pengguna).
Dimana disini dicari tau si user kepingin program seperti apa sih?
untuk lebih lanjut bisa dibaca disini :
http://endy.artivisi.com/blog/manajemen/fase-requirement/Makanya disini proses ini cukup panjang, sehingga sang analis tau apa yang harus dilakukan dan mengihtung lamanya waktu serta human power untuk melakukan ini semua.
Kembali ke pembahasan teknis, biasanya team akan mengumpulkan data, misalnya sebelum di digitalisasikan, team akan menanyakan lebih lanjut proses manual yang berjalan, misalnya dalam sebuah toko, jika transaksi konvensionalnya adalah :
1. dateng pelanggan, tawar menawar harga
2. catet dibon, kasih bon merah muda
3. barang diambil, masuk kelaporan
4. ada buku laporan yang setumpuk gede gabannya.
proses diatas akan di konversi menjadi proses digital dimana prosesnya seperti ini :
1. dateng pelanggan
2. input barang dan cetak struk, otomatis masuk kelaporan, tanpa kerja dua kali
3. tidak ada tumpukan buku.
4. operator bisa kapan saja melihat laporan.
dan so on so on so on..
bisa dilihat disini dari tulisan Endy Muhardin
http://endy.artivisi.com/blog/manajemen/manajemen-proyek-sederhana/balik lagi ke pertanyaan oom achmad.
untuk merancang algo, biasanya bukan programmer tugasnya, tapi orang yang punya ilmu dibidang Computer Analyst (bisa juga merangkap satu orang seperti diatas)
Kita anggap aja semua kenal yang namanya Win API, kalo disini master nya vberror13 dan oom Apakekdah
Nah sebelum membuat program recovery, kita harus tau cara kerja windows sendiri.
FYI : Windows saat mendelete data tidak langsung benar-benar dihapus walaupun dengan SHIFT+DELETE tapi Me-RENAME file tersebut.
untuk kasus hilang data disebabkan karena file corrupt, biasanya file corrupt terjadi karena kerusakan pada CRC nya ataupun meta datanya, sehingga file tidak bisa digunakan lagi yang dianggap windows sebagai file RUSAK.
Untuk bahas soal CRC bisa tanya-tanya sama anak2 di room virus programming.
saya pernah coba-coba recover menggunakan 3 Program berbeda, yaitu Easus Data Recover, Partition Magic Recover dan Active Recovery
Ternyata hasilnya beda-beda
kadang file yang dapat direcover di Easus tapi ga bisa direcover Partition magic dan Active Recovery, dan juga sebaliknya.
Lucunya juga, dia bisa mereka bisa nge recover file yang ngga sengaja dihapus atau hilang, tapi ga bisa ngerecover file yang sengaja didelete.
coba dilihat disini:
http://en.wikipedia.org/wiki/Gutmann_methodhttp://en.wikipedia.org/wiki/Data_recoveryKesimpulannya :Pelajarilah Kebiasaan Platform yang kita gunakan (untuk kasus ini adalah Windows, dan kalo mau ngebedah Win Programming berarti harus belajar Win API dengan horor codenya).
Riset itu sangat penting, jadi coba sana dan coba sini, tanya sana dan tanya sini adalah kegiatan yang bener-bener harus dilakukan.