|
|
|
|
|
import struct
|
|
|
import os
|
|
|
|
|
|
|
|
|
|
|
|
PATH_TO_DATAFILE = os.path.join(
|
|
|
'data',
|
|
|
'Nuclear Cataract Database for Biomedical and Machine Learning Applications',
|
|
|
'Nuclear Cataract Dataset',
|
|
|
'01',
|
|
|
'DER',
|
|
|
'DATAFILE'
|
|
|
)
|
|
|
|
|
|
|
|
|
try:
|
|
|
with open(PATH_TO_DATAFILE, 'rb') as f:
|
|
|
|
|
|
content_bytes = f.read()
|
|
|
|
|
|
print(f"--- Menganalisis File: {PATH_TO_DATAFILE} ---")
|
|
|
print(f"Total ukuran file: {len(content_bytes)} bytes")
|
|
|
print(f"Isi file dalam bentuk biner (raw bytes):\n{content_bytes}\n")
|
|
|
|
|
|
|
|
|
if len(content_bytes) >= 4:
|
|
|
grade_as_integer = struct.unpack('<i', content_bytes[:4])[0]
|
|
|
print(f"Interpretasi 4 byte pertama sebagai integer: {grade_as_integer}")
|
|
|
|
|
|
|
|
|
if len(content_bytes) >= 8:
|
|
|
grade_as_double = struct.unpack('<d', content_bytes[:8])[0]
|
|
|
print(f"Interpretasi 8 byte pertama sebagai double: {grade_as_double}")
|
|
|
|
|
|
print(f"Nilai double yang dibulatkan: {round(grade_as_double)}")
|
|
|
|
|
|
|
|
|
except FileNotFoundError:
|
|
|
print(f"!!! ERROR: File tidak ditemukan di '{PATH_TO_DATAFILE}'")
|
|
|
print("Pastikan semua nama folder di dalam path sudah benar dan tidak ada salah ketik.")
|
|
|
except Exception as e:
|
|
|
print(f"Terjadi error: {e}") |