REAL TIME

Posted in Labels:

REAL TIME

Pada awalnya, istilah real time digunakan dalam simulasi. Memang sekarang lazim dimengerti bahwa real time adalah "cepat", namun sebenarnya yang dimaksud adalah simulasi yang bisa menyamai dengan proses sebenarnya (di dunia nyata) yang sedang disimulasikan.
Suatu sistem dikatakan real time jika dia tidak hanya mengutamakan ketepatan pelaksanaan instruksi/tugas, tapi juga interval waktu tugas tersebut dilakukan. Dengan kata lain, sistem real time adalah sistem yang menggunakan deadline, yaitu pekerjaan harus selesai jangka waktu tertentu. Sementara itu, sistem yang tidak real time adalah sistem dimana tidak ada deadline, walaupun tentunya respons yang cepat atau performa yang tinggi tetap diharapkan.
Pada sistem waktu nyata, digunakan batasan waktu. Sistem dinyatakan gagal jika melewati batasan yang ada. Misal pada sistem perakitan mobil yang dibantu oleh robot. Tentulah tidak ada gunanya memerintahkan robot untuk berhenti, jika robot sudah menabrak mobil.
Sistem waktu nyata banyak digunakan dalam bermacam-macam aplikasi. Sistem waktu nyata tersebut ditanam di dalam alat khusus seperti di kamera, mp3 players, serta di pesawat dan mobil. Sistem waktu nyata bisa dijumpai pada tugas-tugas yang mission critical, misal sistem untuk sistem pengendali reaktor nuklir atau sistem pengendali rem mobil. Juga sering dijumpai pada peralatan medis, peralatan pabrik, peralatan untuk riset ilmiah, dan sebagainya.

Ada dua model sistem real time, yaitu hard real time dan soft real time.
• Hard real time mewajibkan proses selesai dalam kurun waktu tertentu. Jika tidak,
maka gagal. Misalnya adalah alat pacu jantung. Sistem harus bisa memacu detak
jantung jika detak jantung sudah terdeteksi lemah.
• Soft real time menerapkan adanya prioritas dalam pelaksanaan tugas dan toleransi
waktu. Misalnya adalah transmisi video. Gambar bisa sampai dalam keadaan
terpatah-patah, tetapi itu bisa ditolerir karena informasi yang disampaikan masih bisa
dimengerti.

Sistem waktu nyata keras menjamin bahwa proses waktu nyata dapat diselesaikan dalam batas waktu yang telah ditentukan. Contoh : sistem safety-critical. Beberapa sistem waktu nyata diidentifikasi sebagai sistem safety-critical, dalam scenario ini sistem waktu nyata harus merespon kejadian dalam batas waktu yang telah ditentukan maka akn terjadi bencana. Sistem manajemen penerbangan merupakan sebuah contoh sebuah sistem waktu nyata sebagai sistem safety-critical.

Sistem waktu nyata lembut menyediakan prioritas untuk mendahulukan proses yang menggunakan waktu nyata dari pada proses yang tidak menggunakan waktu nyata. Contoh : Linux. Karakteristik dari sistem waktu nyata :

• Single purpose.
Tidak seperti PC, yang memiliki banyak kegunaan, sebuah sistem waktu nyata
biasanya hanya memiliki satu tujuan, seperti mentransfer sebuah lagu dari komputer
ke mp3 player.
• Small size.
Kebanyakan sistem waktu nyata banyak yang ada memiliki physical space yang
terbatas.
• Inexpensively mass-produced.
Sistem operasi waktu nyata memenuhi persyaratan waktu yang ditentukan dengan
menggunakan algoritma penjadwalan yang memberikan prioritas kepada proses
waktu nyata yang memiiki penjadwalan prioritas tertinggi. Selanjutnya, penjadwals
harus menjamin bahwa prioritas dari proses waktu nyata tidak lebih dari batas waktu
yang ditentukan. Kedua, teknik untuk persyaratan waktu penagmalatan adalah
dengan meminimalkan response time dari sebuah events seperti interupsi.

Sistem operasi waktu nyata tidak membutuhkan fitur penting (misalnya standar desktop dan sistem server pada desktop PC) karena :
• Kebanyakan sistem waktu nyata hanya melayani satu tujuan saja, sehingga tidak membutuhkan banyak fitur seperti pada desktop PC. Lagipula, sistem waktu nyata tertentu juga tidak memasukkan notion pada pengguna karena sistem hanya mendukung sejumlah kecil proses saja, yang sering menunggu masukkan dari peralatan perangkat keras.
• Keterbatasan space, menyebabkan sistem waktu nyata tidak dapat mendukung fitur standar desktop dan sistem server yang membutuhkan memori yang lebih banyak dan prosesor yang cepat.
• Jika sistem waktu mendukung fitur yang biasa terdapat pada standar desktop dan sistem server, maka akan sangat meningkatkan biaya dari sistem waktu nyata.


MULTITASKING

Multitasking adalah istilah teknologi informasi dalam bahasa Inggris yang mengacu kepada sebuah metode dimana banyak pekerjaan atau dikenal juga sebagai proses diolah dengan menggunakan sumberdaya CPU yang sama. Dalam kasus sebuah komputer dengan prosesor tunggal, hanya satu instruksi yang dapat bekerja dalam satu waktu, berarti bahwa CPU tersebut secara aktif mengolah instruksi untuk satu pekerjaan tersebut.
Multitasking memecahkan masalah ini dengan menjadwalkan pekerjaan mana yang dapat berjalan dalam satu waktu, dan kapan pekerjaan yang lain menunggu untuk diolah dapat dikerjakan. Kondisi mengalokasikan CPU dari pekerjaan satu ke pekerjaan yang lain disebut context switch.
Ketika context switch terjadi dengan sangat cepat -- kondisi ini cukup untuk memberikan ilusi pengolahan-paralel. Bahkan dalam komputer yang memiliki lebih dari satu CPU (disebut multi-prosesor), Multitasking memperbolehkan lebih banyak pekerjaan dijalankan dibanding dengan jumlah CPU yang tersedia.
Sistem operasi komputer dapat juga mengadopsi berbagai macam strategi penjadwalan, yang secara garis besar dapat dikategorikan sebagai berikut:
• Dalam sistem multi-program, pekerjaan yang sedang diolah terus berjalan hingga membutuhkan suatu operasi yang memerlukan interaksi dari luar. (e.g. membaca dari tape). Sistem multi-program didesain untuk memaksimalkan penggunaan CPU.
• Dalam sistem time-sharing , pekerjaan yang sedang diolah diharuskan melepaskan kerja CPU, baik secara sukarela atau dari interaksi luar, seperti interupsi-perangkat-keras. Sistem Time-sharing didesain untuk memperbolehkan beberapa program seolah diproses secara bersamaan.
• Dalam sistem real-time, beberapa program yang sedang menunggu dijamin untuk mendapatkan pengolahan
dari CPU ketika interaksi luar terjadi. Sistem real-time didesain untuk melakukan kontrol mekanik seperti robot-robot industri, yang memerlukan ketepatan pemrosesan.

Dewasa ini, penggunaan time-sharing jarang digunakan, dan digantikan dengan multitasking.
Contoh sistem operasi jenis ini antara lain adalah linux. Linux adalah sistem operasi yang multitasking dan multiuser seperti kebanyakan SO yang ada pada saat ini. Multitasking pada linux artinya linux bisa atau mampu menjalankan beberapa proses dalam waktu yang bersamaan.
Seperti contoh pada saat kita menjalan kan aplikasi web browser kita juga bisa menjalankan aplikasi kompresi file. Sedangkan multiuser pada linux adalah user bisa login ke dalam sistem secara bersamaan, dengan artinya user bisa menggunakan satu sistem secara bersamaan dalam satu waktu. Multitasking dan multiuser pada sistem operasi merupakan satu keharusan dalam masa ini.

Keuntungan sistem ini adalah :

• Suatu perintah dapat dilaksanakan secara tuntas sampai berakhir dengan prioritas tertinggi.
• Mampu memproses lebih dari satu perintah dalam waktu yang bersamaan. Hal ini dapat terjadi karena kemampuan membagi sumber daya yang tersedia. Jika suati perintah datang membutuhkan sumber daya media simpan menyelesaikan perintah/pekerjaan yang telah ditentukan, apabila datang perintah lain yang membutuhkan sumber daya memori misalnnya, perintah tersebut dapat langsung dikerjakan tanpa menunggu perintah sebelumnya selesai dierjakan.

Kelemahan dari sistem ini adalah jika terdapat banyak perintah, maka akan terjadi antian perintah yang cukup panjang. Pengguna harus menunggu perintah selesai dilaksanakan untuk memasukkan perintah selanjutnya.
Manfaat metode ini akan terasa ketika banyak terdapat perintah yang menggunakan sumber daya yang berbeda, sehingga rangkaina perintah dapat diselesaikan dengan lebih cepat.

Verifikasi Tanda Tangan Offline Melalui Pencocokan Graf (Graph Matching)

Posted in Labels:

Kebutuhan untuk memastikan bahwa hanya orang yang tepat/benar yang berhak mendapat akses pada sistem dengan tingkat keaman tinggi telah membawa kepada pengembangan dari sistem verifikasi personal otomatis (automatic personal verification). Tanda tangan, sidikjari, suara, dan tulisan tangan semuanya telah dipergunakan untuk menguji keabsahan identitas personal. Diantara semua itu, tanda tangan memiliki sebuah kelebihan yang sangat mendasar bahwa ia merupakan cara yang paling sering dipakai dalam mengidentifikasian seseorang dalam operasi seharihari seperti transaksi perbankan otomatis, transfer dana elektronik, analisis dokumen, dan kontrol akses.
Sebuah system verifiksi tanda tangan haruslah mampu mendeteksi pemalsuan dan pada waktu yang sama juga mampu mengurangi penolakan terhadap tanda tangan asli. Permasalah verifikasi tanda tangan dapat dikelompokkan kedalam kategori: offline dan online. Verifikasi tandatangan offline tidak mempergunakan informasi dinamik yang dipergunakan secara luas dalam sistem verifikasi tanda tangan online.
Persoalann verifikasi tanda tangan yang dihadapai menitik beratkan pada 3 tipe dari bentuk pemalsuan: Pemalsuan acak (random_forgeries), dihasilkan tanpa mengetahui nama penanda tangan maupun bentuk dari tanda tangannya; pemalsuan sederhana(simple forgeries), dihasilkan oleh orang-orang yang mengetahui nama dari penanda tangan asli tanapa memiliki contoh dari tanda tangan slinya; Pemalsuan terampil (skilled_forgeries) dihasilkan oleh mereka yang melihat langsung tanda tangan aslinya, kemudian mencoba untuk mengimitasinya semirip mungkin. Dapat terlihat dengan mudah bahwa permasalahan verifikasi tanda tangan menjadi lebih dan lebih sulit ketika dihadapkan pada tahap kasus pemalsuanacak – pemalsuan sederhana,dan pemalsuan terampil, permasalahan semakin bertambah sulit saja ketika dihadapkan pada kasus dimana penanda tangan yang asli melakukan kesalahan dalam penanda tanganan dalam beberapa kasus. Dalam kenyataannya, berlatih meniru sebuah tanda tangan sering membuat kita sulit sekali membedakan antara tanda tanga palsu dan yang asli, karena keduanya terlihat begitu identik; dalam banyak kasus proses pembedaan asli-palsu menjadi semakin sulit ketika beberapa penanda tangan asli memberikan variasi yang luas dalam menuliskan tanda tangan mereka.

APLIKASI-APLIKASI YANG BERBASIS PENCOCOKAN GRAF (GRAPH MATCHING)

Banyak sekali aplikasi dari pencocokan graf. Berikut ini adalah beberapa survei dari beberapa hal terkait. Misalnya aplikasi graf dalam proses Pengenalan Wajah (face recognition) melalui pencocokan graf dengan sebuah multi lapisan model gramatikal wajah . kemudian juga ada sistem yang betugas mengatasi masalah pencahayaan dalam proses pengenalan wajah dengan mempergunakan algoritma “Retinex dan Color Constancy”. Pendekatan yang dilakukan oleh algoritma ini melalui suatu pendekatan yang disebut “elastic bunc graph matching”. Dan masih banyak lagi bentuk implementasi dari teori graf dalam mempermudah operasi dalam kehidupan sehari-hari, yang mungkin tidak perlu kami sebutkan disini secara satu persatu. Intinya adalah bahwa permasalahan pencocokan (matching) adalah sebuah graf-subgraf isomorfisma dan algoritma dalam mengeksploitasi informas I semantik tentang simpul-simpul tanpa memerlukan informasi tentang topologi dari graf yang hendak dicocokkan.

PEMROSESAN AWAL TANDA TANGAN (SIGNATURE PREPROCESSING)

Sebelum sebuah tanda tangan dapat dibandingkan dengan tanda tangan yang lain, perlu dilakukan beberapa operasi pemrosesan awal (signature preprocessing). Sebuah tanda tangan ditangkap sebagai sebuah gambar binari (bunary image), S. Kemudian, titik-titik noise (pepper noise) disekitar gambar dibuang, untuk memperoleh akurasi perhitungan yang lebih baik disekitar pusat area gambar. Kemudian Sudut, θ, dari bagian dari tanda tangan yang memiliki kecendrugan melengkung / berbelok terendah ditemukan . Sudut ini diukur berlawanan terhadap arah gerakan jarum jam dari axis-y. Tanda tangan diputar terhadap pusat area S sebesar θ derajat arah jarum jam. Rotasi ini mengeliminasi sudut pelerengan (skew angle) dari sebuah tanda tangan yang dibutuhkan untuk tanda tangan –tanda tangan dari subjek yang sama. Setelah rotasi, gambar tanda tangan tersebut diperhalus. Hal ini merupakan langkah diperlukan sebelum proses perampingan gambar (thinning). Untuk mengurangi data, gambar dirampingkan dengan mempergunakan Zhang-Suen algorithm. Gambar yang telah dirampingkan memerlukan sebuah langkah normalisasi yang menjaga aspect ratio (proporsionalitas) dari tanda tangan tersebut. Himpunan pixel yang menyusun hasil akhir pemrosesan awal dari gambar S ini, dinotasikan sebagai himpunan noktah-noktah/simpul-simpul, X, yang merepresentasikan S. Langkah-langkah ini dirangkum sebagai berikut, dimana setelah setiap satu pemrosesan, S digantikan oleh hasil pemrosesan tersebut.

1. Singkirkan titik-titik pengotor (pepper noise) dari S.
2. Cari Sudut dari pelerengan ( bagian pada tanda tangan yang memiliki kecendrugan
melengkung / berbelok terendah)(angle of least second momment), θ, dari S.
3. Putar S sejauh θ searah jarum jam.
4. Perhalus S.
5. Rampingkan S.
6. Normalisasi S. Himpunan pixel-pixel yang menyusun hasil akhir setelah normalisasi dari
gambar S ini, disebut sebagai hinpunan noktah-noktah/simpulsimpul yang
merepresentasikan tanda tangan S.