Thursday, September 29, 2005

Tentang Syarat Berhasilnya Demokrasi

Saya setuju dengan pendapat bahwa berhasilnya demokrasi dipengaruhi oleh kemampuan rakyat memilih pemimpin terbaik melalui kriteria tertentu. Ini sangat masuk akal. Menurut saya,hal ini harus dimulai dengan mendidik rakyat agar sadar akan hak-haknya sebagai warga negara. Kesadaran ini akan disusul oleh kesadaran akan pentingnya mendapatkan pemimpin terbaik yang dapat menjamin terpenuhinya hak-hak mereka. Dengan sendirinya, rakyat akan menentukan kriteria pemimpin terbaik sesuai harapannya.
Namun, terkadang menentukan kriteria ini tidak semudah yang kita bayangkan.
Contohnya ketika saya harus memilih rekan kuliah yang memiliki kemampuan terbaik di bidang Real-Time System.
Kriteria yang sesuai menurut saya:
- Mampu memahami konsep yang terdapat di dalam buku.
- Lebih baik lagi, bila mampu menerangkan konsep yang dipahaminya kepada rekan lain.
Cara terbaik untuk mengukurnya tentu melalui tes, dapat berupa tes tertulis maupun lisan.
Akan tetapi, menurut saya, kadang-kadang faktor intuisi juga dapat dijadikan pedoman untuk memilih (meski nampaknya tidak cukup berdasar). Kadang kita dapat merasa begitu yakin akan sesuatu tanpa tahu betul alasannya. Dan, pada akhirnya, ternyata pilihan kta benar!
Rasanya tidak adil menilai kemampuan seseorang tanpa melalui tes atau unjuk kerja. Meski demikian, untuk menilai kemampuan rekan-rekan di kelas, saya lebih suka melakukannya berdasarkan pengamatan sehari-hari. Alasan saya memilih mereka adalah mereka tampak mudah memahami konsep yang terdapat di dalam buku, dan sering menjadi “narasumber” bagi rekan-rekan yang belum paham. Menurut saya, yang mungkin termasuk terbaik (secara tidak berurutan) adalah:
- Pak Rusdi H.S.
Catatan tambahan:
Sebagai anggota tim pengajaran, saya beberapa kali melihat beliau menyampaikan materi. Tampaknya beliau memahami betul konsep yang disampaikan.
- Sri Widayati
- Zulkifli M.
- Suharto
- Pak Hartanto

Tentang Mekanisme Penanganan Bantuan Sosial

Menurut saya dapat diterapkan pola “orang tua asuh”. Seperti yang sudah banyak dilakukan terhadap anak-anak yang memerlukan biaya untuk sekolah. Bedanya, pemberian subsidi/bantuan biaya diberikan kepada sebuah keluarga secara keseluruhan. Reward yang dapat diberikan kepada “orang tua asuh” dapat berupa poin atau nilai tertentu yang dapat diakumulasikan. Setelah mencapai nilai tertentu,poin-poin ini dapat ditukarkan dengan hal-hal tertentu sesuai pilihan, misalnya pemotongan pajak, atau berbagai tawaran menarik seperti yang dilakukan oleh bank penerbit kartu kredit:
- voucher menginap di hotel berbintang,
- voucher diskon untuk berbelanja atau makan,
- dan lain-lain.
Mengenai pendapat bahwa koruptor dapat saja “dimaafkan” jika mereka mengembalikan uang hasil korupsinya kepada negara/masyarakat, saya tidak setuju. Soal pengembalian hasil korupsi, saya tentu setuju, tapi untuk dimaafkan? Saya rasa tidak boleh semudah itu. Hukuman/sanksi secara fisik tetap harus dilakukan sesuai hukum yang berlaku.

Tentang Mekanisme untuk Mengatasi Lupa Password

Sebenarnya telah ada mekanisme untuk mengatasi user yang lupa akan password-nya. Biasanya dilakukan dengan memberikan pertanyaan rahasia yang bersifat pribadi kepada user saat pendaftaran. Saat user ingin mengingat passwordnya kembali, pertanyaan rahasia ini akan diajukan. Jika berhasil dijawab, password akan dikirimkan kepada user melalui email. Yang kemudian dapat menjadi masalah adalah jika alamat email yang ia gunakan saat pendaftaran saat ini sudah tidak aktif lagi, atau user ini sangat pelupa sehingga ia lupa alamat email mana yang ia gunakan saat pendaftaran, atau bahkan pada kasus yang ekstrim ia juga lupa password untuk emailnya (kasus ini agak tidak masuk akal, tapi toh mungkin saja terjadi). Contoh mekanisme untuk mengatasi user yang lupa akan password-nya antara lain dapat dilihat di beberapa penyedia layanan Webmail sepeti Yahoo!Mail dan Telkomnet.

Wednesday, September 21, 2005

Tentang Penggunaan Angka Signifikan

Penggunaan angka signifikan biasanya dikaitkan dengan pengukuran. Dalam pengukuran, selalu ada kemungkinan kesalahan atau ketidakpastian. Konsep angka signifikan digunakan menggambarkan ketidakpastian tersebut. Berapa digit angka signifikan yang paling banyak digunakan di dunia? Menurut saya, ini bergantung dari kemampuan alat ukut yang digunakan. Saya belum melakukan survey mengenai ketelitian alat ukur yang ada saat ini. Akan tetapi, mungkin sekitar 6-10 digit. Jadi, menurut saya, jumlah tersebut adalah jumlah digit yang paling banyak digunakan.

Tentang Kecelakaan Pesawat Terbang

Kecelakaan pesawat terbang yang terjadi akhir-akhir ini mengajak kita kembali memikirkan ketidakberesan yang ada dalam dunia penerbangan di Indonesia. Ada banyak faktor yang dapat menjadi penyebab terjadinya kecelakaan ini. Kesimpulan yang dapat saya ambil dari beberapa sumber, kecelakaan yang terjadi saat pendaratan dapat disebabkan oleh hydroplaning (menyebabkan hilangnya keefektifan pengereman pada saat mendarat dan berakibat pesawat meluncur keluar landasan), tertutupnya spoiler dan thrust reverser (mengurangi perlambatan), tail wind (memperpanjang jarak meluncur di landasan). Saat berada di udara, penyebabnya biasanya cuaca buruk atau tekanan angin kencang (microburst). Saat take off, penyebabnya dapat berupa kelebihan muatan, intrusi benda asing yang masuk ke dalam mesin, atau adanya perangkat elektronik seperti telepon seluler yang aktif pada saat itu.
Salah satu upaya yang dapat dilakukan untuk meminimalkan penyebab kecelakaan ini adalah membangun suatu sistem untuk memonitor berbagai kondisi yang dapat mengganggu jalannya penerbangan. Contohnya: untuk mencegah pesawat kelebihan beban muatan, timbangan elektronik yang dihubungkan dengan komputer akan mengirimkan berat tiap bagasi ke sistem yang mencatat data berat tersebut. Data tersebut, bersama data-data lainnya (menyangkut kondisi fisik pesawat sebelum take-off) akan diakses oleh pilot (atau pihak lain yang berwenang) untuk digunakan sebagai bahan pertimbangan untuk memutuskan apakah penerbangan dapat dilakukan.

Sunday, August 28, 2005

Jawaban Quiz 23/08/05 - Soal 1

Terjemahan dari salah satu sub bab dari buku:

REAL-TIME SYSTEMS

(penulis: C.M. Khrisma dan Kang G. Shin, penerbit: The McGraw-Hill Companies, Inc., tahun 1997)


4.14 RUN-TIME SUPPORT

Komponen kunci run-time support adalah compiler, linker, debugger, dan kernel.

4.15.1 Compiler

Compiler menerjemahkan source code menjadi bahasa mesin. Compiler yang baik haruslah memiliki kemampuan diagnostik yang baik, yang digunakan untuk meningkatkan efisiensi proses debugging. Jika diperlukan, compiler juga harus dapat membuat daftar instruksi mesin dari unit yang di-compile. Hal ini diperlukan untuk membuat perkiraan waktu (timing estimates). Compiler yang baik untuk suatu sistem nyata-waktu hendaknya memiliki hooks yang digunakan untuk memberikan informasi statistik tentang program saat dijalankan. Contohnya, seberapa sering suatu fungsi, blok, atau prosedur tertentu dipanggil dan jumlah waktu yang diperlukan untuk menjalankannya.

Compiler seringkali juga melakukan optimisasi untuk menurunkan waktu eksekusi. Seharusnya compiler juga dapat memberikan petunjuk bagaimana optimisasi dapat dilakukan. Pada Ada, hal ini dilakukan menggunakan pragma.

4.15.2 Linker

Sebelum kode mesin dari compiler dapat dieksekusi, kode ini harus dihubungkan dengan library atau routine lain yang diperlukan. Hal ini menjadi tugas linker. Jadi, linker berfungsi menghubungkan bagian-bagian yang menyusun program. Bagian-bagian ini dapat berupa unit-unit program atau library routine yang dapat di-compile secara terpisah. Linker menentukan bagian mana yang merupakan bagian utama (main) dan mengalokasikan storage space bagi instruksi dan data. Linker juga membuat daftar yang menunjukkan bagaimana unit-unit yang berbeda tersebut dihubungkan.



4.15.3 Debugger

Debugger yang baik memegang peranan penting bagi pengembangan program yang efisien. Debugger umumnya menawarkan fasilitas-fasilitas berikut ini.

  • Debugger membuat suatu program dapat dieksekusi, dihentikan (suspended), dan dilanjutkan kembali (resumed) sesuai perintah programmer. Debugger membuat programmer dapat melihat nilai variabel-variabel yang digunakan. Debugger juga membuat programmer dapat mengubah nilai variabel sebelum eksekusi program dilanjutkan kembali.
  • Debugger memungkinkan pemasukkan breakpoints ke dalam program. Saat program menemukan sebuah breakpoint, eksekusinya akan dihentikan sehingga programmer dapat memeriksa nilai variabel pada saat tersebut. Kadang-kadang, breakspoints bersifat bersyarat (conditional). Contohnya, programmer dapat saja mengatakan "Hentikan program jika x<0 pada titik ini." Jika tidak ada dukungan dari perangkat keras, fitur ini akan memperlambat waktu eksekusi.
  • Debugger memungkinkan programmer untuk mengeksekusi program setahap demi setahap. Programmer dapar memeriksa nilai variabel pada setiap tahapan tersebut.


4.15.4 Kernel

Kernel bertanggung jawab untuk mengelola resource sistem. Di dalamnya termasuk routine untuk membuat alokasi dan penjadwalan task, mengelola memori, menjalankan algoritma untuk komunikasi interprocessor, menangani egagalan processor (processor failures), dan melakukan operasi input dan output.

Jawaban Quiz 23/08/05 - Soal 2

Modifikasi example 3.34 (hal 100-101)dari buku:

REAL-TIME SYSTEMS

(penulis: C.M. Khrisma dan Kang G. Shin, penerbit: The McGraw-Hill Companies, Inc., tahun 1997)


Modifikasi dilakukan pada nilai m4 dan o4.

Jawaban lengkap dapat dilihat di sini.

Jawaban Quiz 23/08/05 - Soal 3

Topik-topik yang pernah dibahas dalam kuliah


Liveline
Other than deadline, we should also consider liveline or startline as a time constraint factor in a real-time system. There are some cases where the start time is also crucial.
Priority Inversion
Priority inversion happens when a task of lower priority able to delay or preempt other task of higher priority. This may happen when the higher priority task try to access a critical section which is currently locked by the lower priority task.
Priority Inheritance
Priority inheritance is a protocol used to avoid the problem of priority inversion. When a lower priority task is blocking a higher priority task, it inherits the priority of the higher priority task. It gains its priority back when the blocking is over. The bad side of priority inversion is that it can lead to deadlock.
Priority Ceiling
Priority ceiling is a protocol used to avoid deadlock caused by priority inheritance. Basically, it is the same as priority inheritance. The difference is that there is another factor that determine the blocking of a task from entering a critical section. Each critical section has a semaphore. The priority ceiling of the semaphore is the same as the highest priority task that may access the critical section. A task is blocked from entering a critical section when there is a semaphore currently held by a task whose priority ceiling is higher or equal to its priority.



Jawaban Quiz 23/08/05 - Soal 4

Topik dan kata kunci paper yang akah dibuat


Penerapan Konsep EDELF (Earliest Deadline Earliest Liveline First)

Kata kunci: EDF, EDELF, deadline, liveline

Monday, July 04, 2005

Tugas: Penentuan Waktu Eksekusi Dengan Java

Pengambilan (retrieval) waktu sistem dalam Java dapat dilakukan menggunakan class Date. Pembuatan objek Date untuk menentukan waktu eksekusi dilakukan menggunakan konstruktor Date(). Konstruktor ini akan menset waktu dan tanggal dengan waktu dan tanggal saat eksekusi.

Contoh:
Date tanggal = new Date();
System.out.println("Hari ini : " + tanggal);

Hasil eksekusi kedua baris kode ini adalah:
Hari ini : Sat Jul 02 08:44:02 GMT+07:00 2005

Dalam class Date terdapat method getTime() yang dapat digunakan untuk mengetahui jumlah milidetik (dengan tipe data long) yang dilalui sejak 1 Januari 1970.

Contoh:
Date tanggal = new Date();
System.out.println("Hari ini : " + tanggal);
System.out.println("Jumlah milidetik yang dilalui sejak 1 Januari 1970 : " + tanggal.getTime());

Hasil eksekusinya adalah:
Hari ini : Sat Jul 02 08:44:02 GMT+07:00 2005
Jumlah milidetik yang dilalui sejak 1 Januari 1970 : 1120268642764

Method ini dapat dimanfaatkan untuk menentukan waktu awal dan waktu akhir eksekusi suatu program.

Tahapan penentuan waktu eksekusi tersebut adalah sebagai berikut.

* Membaca waktu awal
Misalnya:
Date awal = new Date();
long milisawal = awal.getTime();
* Mengeksekusi program
* Membaca waktu akhir
Date akhir = new Date();
long milisakhir = akhir.getTime();
* Menentukan selisih waktu awal dan waktu akhir long selisih = milisakhir-milisawal;

Penentuan waktu eksekusi ini diimplementasikan dalam method hitungwaktu() sebagai berikut.

public void hitungwaktu()
{
Date awal = new Date();
System.out.println("Hari ini : " + awal);
System.out.println("Jumlah milidetik awal sejak 1 Januari 1970 : " + awal.getTime());
long milisawal = awal.getTime();

...//eksekusi program

Date akhir = new Date();
System.out.println("Jumlah milidetik akhir sejak 1 Januari 1970 : " + awal.getTime());
long milisakhir = akhir.getTime();

long selisih = milisakhir-milisawal;
System.out.println("Selisih : " + selisih + " milidetik");
}

Tugas ini dibuat untuk dikumpulkan tanggal: 05 Juli 2005

Thursday, June 30, 2005

Artikel 4

Issues in Realtime System Design

Designing Realtime systems is a challenging task. Most of the challenge comes from the fact that Realtime systems have to interact with real world entities. These interactions can get fairly complex. A typical Realtime system might be interacting with thousands of such entities at the same time. For example, a telephone switching system routinely handles calls from tens of thousands of subscriber. The system has to connect each call differently. Also, the exact sequence of events in the call might vary a lot.

Sumber: EventHelix.com
Link: http://www.eventhelix.com/RealtimeMantra/IssuesInRealtimeSystemDesign.htm
Ringkasan ini dibuat tanggal: 29 Juni 2005

Artikel 3

Operating online: a real-time system integration update
Penulis: John J. Mc Gowan
Artikel ini dibuat Bulan Februari 2003.

The building automation business is overrun with new terms that try to describe "state of the art" in controls. Real-time system integration may simply be one more such term, the author says, but it does capture the challenge and the opportunity for automation while hinting at the Internet's role for the future. Learn about the tools, the trends, and even the training involved in coordinating this array of complex systems successfully. There are a wealth of new control products, technologies, and buzzwords, yet there is a simple evolution underway toward the Internet. No, it isn't likely that the Internet will ever control buildings at die equipment level, but it is the ultimate vehicle to enhance control and to expand dramatically the information management capabilities of automation systems. he major industry effort to standardize automation system data communication provided the foundation for real-time system integration and Web services for buildings. Web-based technologies now make it possible for systems to integrate information from internal hardwired points and Internet sources. Accomplishing this in real time is the next generation for building automation. This opportunity is not without challenges, however, and there are risks that must be managed. Data security is an ongoing concern, but the benefit of combining automation and information systems is that integrators can leverage existing firewalls and other security equipment. Data reliability is another question, particularly if the control information is completely reliant on the Web. These obstacles can be overcome as they have been in other industries like online banking. If customers trust the Internet with money, how much of a leap of faith is it to trust it with data? There is little question that building automation online is the future, and to accomplish that goal, real-time system integration is required. The key is to track the developments and trends in automation hardware and data communications technology, as well as Internet-enabled building services. Without question, integrators and astute owners will succeed in creating cost-effective building environments by synthesizing industry information to leverage technology and optimize system control and facility management.

Sumber: Engineered Systems melalui www.findarticles.com
Link: http://www.findarticles.com/p/articles/mi_m0BPR/is_2_20/ai_97857760
Ringkasan ini dibuat tanggal: 29 Juni 2005

Artikel 2

The Right Time for Real Time
Penulis: John McCormick
Artikel ini dibuat Bulan Juli 2004.

There's a wealth of information available to companies. But too often they don't have the technology or processes—mostly, the wherewithal—to tap it. Sure, there are challenges. Companies continue to work with flawed data, incompatible systems and faulty analysis. The key is to figure out what data is most relevant to a company's financial health, set up reporting systems to track and transmit the data, and then let managers fix problems when they arise. If a real-time system shows sales starting to slow, for instance, managers can proactively cut prices or boost marketing to make sure that quarterly numbers are met. Think of real-time systems as right-time systems. Which means you might even fix a problem before it occurs.

Sumber: Baseline melalui www.findarticles.com
Link: http://www.findarticles.com/p/articles/mi_zdbln/is_200407/ai_ziff130836
Ringkasan ini dibuat tanggal: 29 Juni 2005

Wednesday, June 29, 2005

Artikel 1

Real-Time Control for Matching Wastewater Discharges to the Assimilative Capacity of a Complex, Tidally Affected River Basin
Penulis: Edwin A. Roehl Jr. and Paul A. Conrads
Paper ini disajikan pada South Carolina Environmental Conference yang dilaksanakan di Myrtle Beach pada 15-16 Maret 1999.

A neural network model was applied to simulate the hydrodynamics and water quality of the Cooper and Wando Rivers in South Carolina. The evaluation of the model showed that predictions of salinity, water temperature, and dissolved-oxygen concentration for this complex estuarine system were accurate. Because neural network models execute without iteration, they are ideal for integrating with real-time information and control systems. In this study, the neural network model of the Cooper and Wando Rivers was coupled with an optimization routine to make maximum use of the assimilative capacity of the two-river system. Target dissolved-oxygen concentrations, set at the State water-quality standard, were matched by constraining effluent discharges. A prototype real-time control system for matching wastewater discharges to the continuously changing assimilative capacity of the Cooper and Wando Rivers is presented.

Sumber: Surface-Water Quality and Flow Modelling Interest Group, U.S. Geological Survey
Link: http://smig.usgs.gov/SMIG/features_0399/nnm2.html
Ringkasan ini dibuat tanggal: 29 Juni 2005

Tuesday, June 28, 2005

Selasa, 28 Juni 2005: Pertemuan Pertama

Kuliah kali ini diisi dengan diskusi mengenai sistem nyata waktu atau real time system. Pada akhir kuliah, ada beberapa tugas yang diberikan:

1. Membuat suatu program dan mengukur execution time-nya serta mengamati konsistensi execution time terhadap data masukan yang berbeda.
2. Membuat situs web pribadi yang berisi:
* Progress yang dicapai selama mengikuti kuliah Sistem Nyata Waktu dan Embedded.
* Ringkasan artikel yang berkaitan dengan sistem nyata waktu.
3. Membuat lima kelompok kerja yang akan mengerjakan tugas dengan fokus tertentu:
* Pengajaran
* Penelitian
* Publikasi
* Aplikasi
* ? (belum ditentukan)

Seusai kuliah, saya sempat mencari tulisan yang berkaitan dengan pengukuran execution time. Ada dua tulisan yang saya temukan:

1. Measuring Program Execution Time
2. A PROBLEM OF PROGRAM EXECUTION TIME MEASUREMENT 1. Introduction

Kedua tulisan itu belum sempat saya baca. Mungkin besok saja. Target saya hari ini adalah menyelesaikan tampilan web ini.

Pengantar

Semester ini, saya mengikuti mata kuliah Sistem Nyata Waktu dan Embedded (EC6060) yang diberikan oleh Bapak Dr.Ir.Kuspriyanto. Kuliah pertama dimulai tanggal 28 Juni 2005. Ringkasan kuliah yang diberikan dan hal-hal lain yang berkaitan dengan kuliah ini dapat Anda lihat di sini. Anda juga dapat membaca beberapa ringkasan artikel yang berkaitan dengan sistem nyata waktu. Tugas kuliah yang pernah saya kerjakan dapat Anda lihat di sini (jika Anda ingin memberikan koreksi atas tugas tersebut, hubungi saya di sini).