Steganografi Untuk Menyembunyikan Pesan

Steganografi adalah teknik menyisipkan pesan ke dalam suatu media agar kerahasiaan pesan tersebut terjaga. Berbeda dengan kriptografi yang tampak ada pesan yang ditutupi, pada steganografi bahkan orang lain tidak tahu kalau ada pesan yang dirahasiakan karena menempel pada suatu media, misalnya gambar, musik, dan lain-lain.

Untuk mencoba fungsi steganografi pada Matlab, silahkan unduh M-file dari situs berbagi fungsi di sini. Sebaiknya login terlebih dahulu jika ingin mengunduh file lengkapnya. Jika tidak punya akun, bisa signup terlebih dahulu dengan mengisi data. Jika sudah diunduh, siapkan dua gambar, satu gambar rahasia dan sisanya untuk penutup (cover). Gunakan imresize terlebih dahulu agar kedua gambar berukuran sama.

Untuk menerapkan ada baiknya menggunakan citra hitam-putih, sebab jika menggunakan RGB harus dimodif m-filenya agar ukuran matriksnya MxN tanpa ada tambahan MxNxt. Gambar kiri adalah gambar penutup, sementara yang kanan yang akan disembunyikan.

Selanjutnya gambar 2 (kanan) akan disisipkan ke dalam gambar 1 agar gambar tanda tangan tidak tampak. Perhatikan gambar berikut yaitu gambar yang berisi tanda-tangan di dalamnya.

Pada gambar di atas tidak tampak gambar tanda-tangan, padahal jika gambar tersebut diekstrak (dikurangkan dengan cover image) akan menghasilkan ekstrak gambar seperti di bawah ini.

Siapa sangka gambar foto saya memiliki gambar rahasia (tanda tangan) di dalamnya. Sekian semoga bermanfaat.

Iklan

Menyimpan Data dalam Bentuk Struktur (Struct)

Ketika mengimpor data dari sistem basis data (biasa atau spasial), biasanya berbentuk struktur. Misalnya mengimpor data spasial dari sebuah shapefile berikut ini.

>> a=shaperead(‘Commercial.shp’)

a =

344×1 struct array with fields:

Geometry

X

Y

Id

Name

Untuk melihat isi dari “Name” cara melihatnya adalah dengan titik antara nama struktur (“a”) dan nama field-nya.

>> [a.Name]

ans =

Kimia FarmaBlue Bird PoolPusat Arsip JAMSOSTEKBaliku Agung PerkasaSiantar ….. dst

Sedikit berbeda dengan tabel, struktur memiliki bentuk sebaliknya, yaitu baris untuk field dan kolom untuk record. Jadi jika ingin “mengutak-atik” perlu dilakukan proses transpose terlebih dahulu.

Menyimpan Data dalam Format Struktur

Untuk mengetahui caranya, silahkan mengetik “help save” di command window. Di bagian bawah ada penjelasan bagaimana membuat file mat dengan tipe struct (struktur). Coba saja “copas” kode berikut ini:

s1.a = 12.7;

s1.b = {‘abc’, [4 5; 6 7]};

s1.c = ‘Hello!’;

save(‘newstruct.mat’, ‘-struct’, ‘s1’);

Perhatikan di folder, muncul satu file baru bernama ‘newstruct.mat’ yang berisi tiga variabel yaitu a, b, dan c. Bagaimana memanggilnya? Mudah saja ketik di command window “load newstruct”. Beberapa function membutuhkan bentuk struktur ini, so semoga bermanfaat.

Update: 14/2/2018

Ternyata bisa juga dengan format:

save(‘newstruct.mat’,’s1′)

Standar Penulisan Gelar Akademik

Penulisan gelar akademik yang benar dan mengikuti kaidah tata bahasa Indonesia sangat penting terutama pada bagian tenaga kependidikan (TU, SDM, dan pendukung bidang akademik lainnya). Banyak kesalahan-kesalahan yang terjadi. Biasanya adalah tidak disertakannya titik “.” antara kata pertama dengan kedua, misalnya seharusnya S.T. tetapi ditulis ST saja tanpa titik. Saya sendiri sering salah menulis “Ph.D” tanpa titik setelah “D”, sementara berdasarkan kaidah bahasa Indonesia menggunakan titik “Ph.D.”.

Banyak situs-situs di internet yang menguraikan bagaimana penulisan yang tepat. Cara mengetahui penulisan yang tepat ada baiknya melihat surat-surat yang dibuat oleh lembaga resmi negara, misalnya di bawah ini, yaitu lampiran undangan peserta calon asesor beban kerja dosen (BKD) dari kopertis IV Bandung.

Oiya, kebetulan lampiran peserta tanggal 1 februari ini tidak ada profesor yang standarnya adalah ditulis “Prof.” Silahkan lihat lampiran yang ada profesornya di link ini sebagai rujukan bagaimana menulis gelar yang tepat. Memang gelar tidak dibawa mati, tetapi dengan gelar kita jadi banyak mengajar dan ilmu yang diajar takkan putus oleh kematian.

Konversi UTM ke Latitude – Longitude (Terapan)

Ada tugas revisi buku, dan rencananya ada tambahan di bagian implementasi Matlab dengan sistem basis data (Access dan MySQL) yaitu data spasial dan pemrosesan teks. Cukup menarik ternyata Matlab memiliki banyak fasilitas, bahkan sistem informasi geografis (SIG) pun dilayani. Postingan singkat ini (lanjutan dari post yang lalu) menggambarkan bagaimana mengutak atik SIG dengan Matlab.

Salah satu komponen penting dari SIG adalah proyeksi. Salah satu proyeksi yang terkenal adalah Universal Transverse Mecartor (UTM) yang membagi bumi menjadi zona-zona. Untuk komputasi lebih mudah menggunakan jenis koordinat desimal ini, dibanding dengan jam, menit, detik atau lintang dan bujur. Repotnya ketika selesai melakukan kalkulasi dengan Matlab terkadang untuk menampilkan ke SIG berbasis web (Web SIG) perlu dikonversi ke latitude (lintang) dan longitude (bujur).

Setelah searching seharian dari situs yang remeh temeh hingga yang serius, ternyata situs Matlab sudah menyediakannya (lihat link ini). Karena tidak tersedia di instalasi Matlab, mau tidak mau harus membuat M-file yang dikopi dari situs tersebut. Untuk teori dasar silahkan lihat link ini (sebaiknya jangan deh, ntar pusing he he).

Jadi prinsipnya setelah matlab mengolah data spasial, kemudian hasilnya sebelum dikirim ke Web SIG dikonversi terlebih dahulu dari UTM ke lintang bujur karena Google Map API (lihat caranya) memerlukan data lintang bujur bukan UTM (kabarnya ada juga gmap4 yang bisa menggunakan UTM). Walau singkat semoga bermanfaat.

Program Kuliah Doktoral yang Keras

Lihat di grup masjid kampus, cukup terenyuh oleh pamitnya rekan senior padahal belum selesai studinya. Teringat bantuan dan arahan yang dulu diberikan karena memang dia seorang Teaching Assistant (TA). Ketika saya telat datang, dia yang berkebangsaan negara di Asia Selatan, dengan suka rela memberikan satu CD berisi software ubuntu yang wajib digunakan dalam perkuliahan Web Programming (dengan ruby and rails). Setelah hampir sepuluh tahun kuliah doktoral, sepertinya dia harus pulang, entah alasan apa yang membuatnya tidak meneruskan kuliah, yang jelas saya dulu banyak dibantu olehnya.

Lengkap sudah saya kenal dengan rekan kuliah yang tidak selesai, pertama pulang karena alasan keluarga (tidak bisa ditinggal jauh), kedua meninggal, dan yang terakhir kelamaan kuliah. Dulu pun saya pernah mendengar cerita-cerita kegagalan mahasiswa doktoral, termasuk dosen saya waktu kuliah S1 dulu, tapi itu hanya dari mulut ke mulut. Berbeda dengan saat ini yang mengetahui langsung, bukan saja cerita tapi ikut merasakan kesulitan ketika bersamanya. Mungkin hal-hal berikut yang bisa “mengganggu” mahasiswa doktoral, bahkan menjadi penyebab kegagalan:

Syarat Course Work yang Berat

Tidak semua kampus mensyaratkan ikut kuliah dulu sebelum riset, tapi kebanyakan mensyaratkannya. Bahkan di Eropa ada gelar M.Phil. yang diberikan oleh mahasiswa doktoral yang tidak berhasil lolos ujian menjadi calon doktor (Ph.D.). Saya sendiri mengalami kesulitan karena memang background yang bukan dari jurusan sesungguhnya (multidisiplin). Repotnya terkadang kuliah digabung dengan mahasiswa master dan nilainya distribusi normal. Nilai bagus akan jadi buruk jika yang lain lebih bagus. Ditambah tugas project yang bareng dengan mahasiswa master yang kebanyakan malas karena bagi mereka c+ pun sudah lulus, dan hampir lulus semua. Sementara mahasiswa doktoral wajib minimal B+ atau total IPK = 3.5. Untungnya setelah mati-matian saya memperoleh 3.5 (A, A, B+, B, B, B+). Benar-benar mujur, pas, kalau tidak harus mengulang lagi dengan ancaman tidak dicover dari beasiswa jika melewati masa “jatah” beasiswa.

Ujian Kandidasi / Komprehensif

Setelah kuliah selesai, ada ujian yang menentukan berikutnya yaitu kandidasi, atau ujian menjadi calon doktor. Ketika awal kuliah sempat juga down, ternyata mahasiswa doktoral yang baru masuk statusnya adalah calon kandidat doktor. Jadi jangan sekali-sekali menyebut “calon doktor”, sering disingkat Dr.(c), kepada mahasiwa doktoral baru. Rekan saya yang di Taiwan lebih berat lagi, syarat kandidasi adalah 20 sks kuliah dan dua jurnal internasional diterima. Untungnya tidak ada syarat Impact Factor (IF), yang penting terindeks (biasanya Scopus). Untuk dalam negeri saya belum begitu mengerti, tapi proposal dibuat di tahun kedua, mungkin itu kandidasinya.

Tidak ada Progress

Walau tiap semester harus buat laporan kemajuan, tetapi biasanya terkesan formalitas, win-win solution antara pembimbing dengan mahasiswa. Tetapi repotnya tanpa progress sudah pasti kerjaan tidak selesai-selesai, karena kebanyakan pembimbing enggan menurunkan objektif sesuai yang dijanjikan proposal. Penyebab utama biasanya mahasiswa doktoral yang tidak “pure” kuliah, alias masih bekerja. Banyak rekan saya yang orang lokal (thailand) yang lama lulusnya karena mereka tidak 100% kuliah, alias sambil bekerja. Walaupun ada kebijakan kampus untuk mahasiswa tersebut (waktu D.O yang lebih lama) yang diistilahkan dengan “non-stay” student. Tetapi siapa juga mahasiswa yang ingin lulusnya lama?

Bagaimana dengan di Indonesia? Ternyata kondisi lebih buruk lagi. Banyak rekan saya yang pindah kampus karena tidak selesai-selesai di kampus lamanya dengan berbagai alasan. Sempat saya menjadi asisten dosen waktu kuliah master di Indonesia dan bertemu dengan dosen doktoral UI. Saya menanyakan mengapa mahasiswanya lulus lama? Dengan santai dia menjawab, sebenarnya dia sudah menurunkan standar tetapi siswanya tetap sulit mengikuti, bahkan bertemu pun mereka jarang dengan alasan kesibukan bekerja. Ini saya alami sendiri ketika riset, kebanyakan memang saya di tanah air, tetapi jika dibandingkan sebulan di Indonesia itu kualitasnya sama dengan seminggu di Thailand karena memang di sana dari mata melek hingga merem (tidur) langsung mengerjakan disertasi. Paling nongkrong sambil ngopi di pinggir danau kampus dengan teman senasib.

Syarat Publikasi

Ini merupakan kendala utama yang tidak bisa diganggu gugat. Ini pula yang merupakan kontrol kualitas lulusan doktor suatu universitas. Tanpa publikasi, lulusannya masih diragukan kadar keilmuwannya. Rata-rata publikasi internasional menganut peer review dan author tidak bisa memaksakan agar tulisannya lolos. Sialnya di kampus saya mensyaratkan impact factor di atas atau sama dengan satu. Sulit dan lama untuk jurnal kategori tersebut (rata – rata masuk kategori Q2). Dengan syarat publikasi ini, pembimbing pun tidak bisa membantu kelulusan siswanya jika memang belum publish/accepted jurnalnya. Rekan saya yang bertahun-tahun belum publish pun ketika bertemu pembimbing, dia hanya bisa mendoakan saja. Gawat. Sebagai panduan untuk amannya suatu topic disertasi adalah: kesimbangan antara mudah dikerjakan dengan kemungkinan diterima di jurnal internasional ketika mengajukan proposal disertasi. Jika proposal mudah dikerjakan, biasanya sulit diterima di jurnal berimpact di atas satu, tetapi jika proposal sulit dikerjakan biasanya kemungkinan besar lolos di jurnal berimpact > 1 (paling kalau ditolak salah pilih domain jurnal atau masalah bahasa Inggris yang berantakan) tetapi bahayanya karena terlalu sulit jadi ga selesai-selesai.

Mungkin itu saja sedikit gambaran. Jika ingin lebih jelas, silahkan alami sendiri ya. Sebenarnya ada tahapan lain seperti pengecekan disertasi oleh external examiner (profesor dari luar kampus) dan sidang terbuka. Tetapi itu sepertinya hanya formalitas, biasanya dapat dilalui oleh mahasiswa doktoral. Sekian semoga postingan ini bermanfaat.

Tim Nongkrong (Ph.D., D.Eng, and D.Tech.Sc. Students)

Final Defense (Committees : Prof. Guha, Prof. Nitin, Dr. Kim)

Metode Increment dan Iterasi dalam Penulisan

Tiap orang memiliki gaya masing-masing dalam membuat tulisan (proposal, tesis, disertasi, dan sebagainya). Selain dalam menulis, ketika me-manage pun berbeda-beda. Salah satu gaya yang saya sukai adalah tipe increment dan iterasi, mirip perancangan perangkat lunak. Untungnya pembimbing juga memiliki tipe yang sama, jadi bisa klop dan proses penulisan jadi cepat.

Bagaimana bisa tahu pembimbing bertipe increment atau tidak? Saya peroleh informasi senior yang mengajukan bab 1, bab 2, dan seterusnya, ternyata tidak terlalu direspon. Repot juga kalau begitu, bisa nggak selesai-selesai kalo tipenya waterfall begitu. Akhirnya saya coba nekat dikit, karena waktu yang mepet, saya coba waktu itu proposal hanya 5 lembar. Terlihat “gila”, tetapi isinya lengkap bab I sampai bab IV hingga daftar reference. Dengan dijilid steples pula .. hehe.

Proposal 5 lembar ini sebaiknya jangan ditiru karena kerjaan orang nekat dan kepepet deadline. Hal ini terjadi karena datang ke kampus telat dari Indonesia, masalah administrasi yang ribet, ditambah advisor pertama yang menolak membimbing karena tidak begitu menguasai data spasial, dan masalah-masalah lainnya. Ketika melihat dia merespon, memperbaiki judul dan mengusulkan anggota pembimbing, dapat disimpulkan dia juga tipe yang sama. Tentu saja saya diminta revisi proposal tersebut (25 – 30 halaman).

Dalam waktu beberapa hari yang terbatas, tulisan bisa dikembangkan menjadi 25 halaman. Seperti biasa, corat-coret dan minta ditambahkan hingga 35 – 40 halaman. Dan dalam waktu beberapa hari jadi juga 31 halaman, walaupun kurang dari yang diminta (35-40 halaman).

Akhirnya jadi juga proposal sekitar 35 halaman yang kemudian diuji dalam sesi yang dikenal dengan istilah ujian Candidacy (perubahan status dari “calon kandidat doktor” menjadi “kandidat doktor”). Lumayan berat karena sifat riset yang multidisiplin dengan para pembimbing yang berasal dari bidang computer science, urban environment, dan remote sensing – GIS, serta saya sendiri dari information management. Advisor pun ternyata mempelajari gaya saya yang jika diberi instruksi berupa range, misal 25 sampai 30 halaman, saya cenderung membuat “tarif bawah”, lama-lama dia menginstruksikan angka pasti, misal “buat 50 slide”, yang mau tidak mau saya memilih 50 slide. Postingan ini hanya pengalaman pribadi yang tentu saja terkadang tidak cocok dan tergantung dari style masing-masing dan juga dosen pembimbing. Semoga bermanfaat.

Object Not Found – Error 404 pada XAMPP

XAMPP merupakan paket berisi Apache server dengan PHP dan MySQL untuk membuat pemrograman web. Keunggulan paket aplikasi ini adalah sifatnya yang ringan karena server hanya aktif ketika Apache server di jalankan (running). Jika tidak dijalankan maka server tidak aktif sehingga meminimalkan penggunaan memori, biasanya jika dijalankan di laptop dan hanya untuk testing program.

Karena sifatnya yang aktif jika dijalankan, maka perlu setting khusus ketika beralih dari satu folder ke folder lainnya. Oiya, XAMPP berbasis folder dimana untuk mematikan dan menghidupkan server Apache dengan cara mengklik xampp_start dan begitu pula untuk mematikannya (xampp_stop). Masalah yang dijumpai ketika berganti folder adalah “Object Not Found” seperti tampilan di bawah ini.

Prinsip dari kesalahan ini adalah server Apache tidak berhasil menemukan “Link” yang dituju, biasanya index.php jika ada. Jika tidak ada index.php biasanya akan menampilkan folder-folder yang berada di folder htdocs. Folder ini merupakan folder induk php ketika server (localhost) dijalankan. Biasanya kasus ketika fodler XAMPP dipindah ke folder lain dan “xampp_start” hanya dijalankan tanpa diset ulang. Untuk mengeset ulang perlu dilakukan dengan menekan setup_xampp.bat.

Oiya, jangan lupa dimatikan dulu server Apache jika sekiranya masih hidup. Pilih (1) dilanjutkan dengan menekan sembarang tombol ketika diperintahkan.

Sekarang refresh browser yang sebelumnya error. Pastikan aplikasi berjalan, minimal menampilkan folder kosong jika tidak ada index.php di dalam folder tersebut seperti tampilan di bawah ini. Sekian, semoga bermanfaat.