Rabu, 09 Mei 2012

Innovation Conversations FREE e-book


IEEE memberikan anggotanya banyak manfaat! Tapi yang paling saya sukai adalah tentang memberikan e-book GRATIS setiap bulan. Bulan ini, Mei 2012, IEEE-USA memberikan sebuah e-book GRATIS yang berjudul Innovation Conversations - Book 1 oleh William C. Miller. E-book ini biasanya dijual untuk harga (member only) sebesar US $ 6,39.

Buku ini, awalnya dirilis pada tahun 2007, Innovation Conversations adalah buku pertama yang diterbitkan IEEE-USA tentang topik inovasi. Penulisnya, William Miller adalah seorang ahli yang diakui secara internasional terkait gerakan inovasi.

Berikut kutipan IEEE tentang penulis buku Innovations Conversations:
"Miller telah menjadi seorang ahli yang diakui secara internasional pada pembaruan perusahaan dan inovasi sejak pertengahan '80-an, ketika ia menjadi seorang konsultan senior untuk manajemen inovasi di SRI International," kata Georgia Stelluto, Manager Penerbitan IEEE-USA, di Washington, DC. SRI Internasional adalah sebuah organisasi independen, yang melakukan penelitian nirlaba di Menlo Park, California

Inti dari pusat buku tentang model inovasi empat tahap yang disebut Perjalanan Kreatif, yang Miller dikembangkan adalah sebagai berikut:
  • Tahap 1: Tantangan (memutuskan apa yang ingin Anda capai dan mengakui risiko di sepanjang jalan Anda).
  • Tahap 2: Fokus (memanfaatkan sumber Anda percaya diri dan memprioritaskan masalah Anda perlu untuk menyelesaikan).
  • Tahap 3: Solusi kreatif (menghasilkan ide-ide dan kemudian memutuskan solusi terbaik).
  • Tahap 4: Penyelesaian (menerapkan solusi Anda dan merayakan apa yang Anda capai dan pelajari sepanjang jalan).

Untuk Miller, Perjalanan Kreatif menawarkan kerangka kerja tidak hanya untuk ide-ide baru tetapi juga untuk mempertahankan energi dan pola pikir ... Dan saya tidak sabar untuk membacanya ....

Otonomi Perguruan Tinggi

Saya menulis hal ini terkait dengan postingan Pak Budi Raharjo disini: http://rahard.wordpress.com/2012/05/08/menggadaikan-perguruan-tinggi/; beliau mengungkapkan tentang Peraturan Presiden No. 43 Tahun 2012 dan Peraturan Presiden No. 44 Tahun 2012 mengenai status ITB yang "dialihkan" menjadi PTP (atau Perguruan Tingi yang diselenggarakan oleh Pemerintah).
Beberapa pokok pikiran yang diungkapkan Pak Budi Raharjo adalah:\
1. Kata "pemerintah" dalam Peraturan Presiden tersebut.
2. Masalah otonomi perguruan tinggi
3. Masalah finansial penyelenggaran pendidikan.

Saya kira, pokok pikiran yang dikemukakan oleh Pak Budi Raharjo merupakan ungkapan keprihatinan seorang akademis dan tentu saja seorang pendidik. Terbersit nada kekuatiran mengenai arah dan masa depan pendidikan Indonesia, khususnya pendidikan tinggi. Saya memahami dan menyetujui pendapat pak Budi Raharjo.
Yang menarik perhatian saya sebenarnya adalah dua link yang disertakan pak Budi di akhir tulisannya:
Link yang pertama adalah ini:
Link ini adalah tulisan seorang dosen Fakultas Hukum UI, terkait masalah kemandirian perguruan tinggi. Tentu saja, sebagai seorang Alumni Universitas Indonesia, maka saya pun turut "terhenyuh" dan merasa "miris" dengan kenyataan yang dituliskan oleh seorang dosen tersebut.
Saya sebagai pribadi berpendapat bahwa kita tidak dapat menghasilkan sesuatu yang berguna jika kita tidak diberikan kebebasan untuk melakukannya, dan terkait dengan pendidikan tinggi, sudah seharusnyalah Pemerintah memberikan OTONOMI bagi Universitas dalam keilmuan dan penyelenggaraan pendidikan. Valuasi cost-benefit sebenarnya TIDAK PERLU diperuntukkan untuk institusi pendidikan, karena pada dasarnya universitas itu adalah lembaga untuk mendidik dan mempersiapkan generasi penerus bangsa dengan mengembangkan keilmuan. Akan sangat disayangkan, jika karena PP tersebut diatas, mengorbankan kemandirian keilmuan sebuah institusi pendidikan tinggi (seperti UI dan ITB). Menurut saya, jika ini terjadi, maka kita telah sangat jauh meninggalkan cita-cita Proklamasi Kemerdekaan, ajaran para founding fathers dan semangat reformasi 98 itu sendiri.
Tapi mau gimana lagi, seperti yang diungkapkan oleh Sulistyowati Irianto di link diatas, maka saya sebagai dosen, perlu untuk merenungi kembali "kittah" kita sebagai dosen, apakah kita memperlakukan universitas sebagai "lahan pekerjaan", tempat kita mencari uang, ataukah kita melihat universitas tempat kita bekerja sebagai sarana untuk pengembangan ilmu dan pendidikan?
Bagi saya, kebebasan otonomi keilmuan, HARUS dimulai dari setiap pribadi, yang terlibat dalam proses pendidikan itu sendiri. Entah itu dosen, mahasiswa, dan pegawai, yang pada akhirnya akan mempengaruhi sistem pendidikan itu sendiri.

Mungkinkah status BBM saya: RIP Magna Charta Universitatum, tepat untuk kondisi pendidikan Indonesia? Silahkan vote jawaban anda disini:

Selasa, 08 Mei 2012

tentang Programming Languages


Secara umum, bahasa-bahasa pemrograman dapat dikelompokkan menjadi tiga bagian besar! Apa sajakah itu? Mari lihat tweet saya terkait konteks programming languages ...

1) In the areas of programming domains, there are certain different applications associated w/ programming languages
2) First: scientific apps! This apps hv simpe data-structures bt require large numbers of floating-point arithmetic computations
3) For scientific apps, the most common data sructures are arrays&matrices, and control structures are counting loops& selections 
4) The 1st language for scientific apps is FORTRAN and ALGOL 60! And finally, today we have Matlab, Mathematica, SciLab and Maxima
5) For business applications, began in 50's, used 4 producing elaborate reports, describing&storing decimal numbers&character data
6) The 1st succesful hihg-level language for business was COBOL (Ansi, 1985)! Today, we have EXCEL, and lots of OOSL
7) The last apps is Artificial Intelligence AI! AI programming languages characterized by symbolic rather than numeric computation
8) AI symbolic computations deals more with LINKED LIST of data rather than arrays. The 1st language for AI's is LISP and PROLOG
9) The operating system & all of the programming support tools of a computer system are collectivly known as its "system software"
10) The 1st operating systems developed by was PL/S (IBM), BLISS (Digital) and Extended ALGOL (from UNYSYS)
11) Then we hv UNIX operating system which written entirely in C (Ansi, 1989) which has made it easy to port, move to different machines!
12) We also hv scripting language! A scripting language is used by putting a list of commands called script in a file 2 be executd
13) Most known scripting language are "awk" (Bell Labs); ".tcl" (UC Berkeley), Perl, which is widely known for CGI programming using for www
14) Since the advent of World Wide Web, Perl has been known b'coz of its nearly ideal language for Common Gateway Interface programming
15) Last kind of programming language is called: special-purpose languages, such as RPG, APT, or GPSS

Jadi, secara umum, kita dapat menggolongkan bahasa-bahasa pemrograman pada kategori:
1) bahasa pemrograman scientific; bahasa pemrograman ini cenderung memiliki struktur data yang sederhana, namun membutuhkan pengolahan komputasi floating-point yang besar. Bahasa pemrograman saintifik dipelajari dalam mata kuliah Metode Numerik / Komputasi Simbolik. Contoh bahasa pemrograman yang terkait dengan bahasa pemrograman saintifik misalnya FORTRAN dan ALGOL 60! Sekarang ini, berkembang beberapa tools untuk mendukung programming saintifik yakni Mathematica, Maxima, Matlab dan SciLab.
2) bahasa pemrograman untuk keperluan bisnis; bahasa pemrograman ini cenderung ditujukan untuk mengolah data, pembuatan laporan, menyimpan, mengupdate data2 dengan karakter2 tertentu dan berbasis bilangan desimal. Tentu saja, COBOL merupakan bahasa pemrograman yang paling awal dikembangkan untuk keperluan ini. Sekarang pengolahan data makin canggih dengan menggunakan SQL dan Microsoft EXCEL.
3) bahasa pemrograman terkait Artificial Intelligence (AI). Bahasa pemrograman AI terkait dengan komputasi simbolik. Banyak berhubungan dengan LINKED LIST, bukan arrays. LISP dan PROLOG adalah contoh bahasa pemrograman AI.
4) bahasa pemrograman terkait "scripting language"!
5) bahasa pemrograman dengan tujuan-khusus, misalnya RPG, APT atau GPSS!

Pada tweet saya tersebut diatas, saya juga memaparkan tentang system software. Dalam pemahaman, bahwa system software inilah yang menjadi öperating system. Hal mana akan saya tulisa pada bagian tersendiri.

Para calon mahasiswa, mahasiswa dan masyarakat umum, sebaiknya memiliki pandangan yang komprehensif terkait programming languages, supaya makin memahami, apa sebenarnya keilmuan informatikan itu!

Mengapa belajar informatika?

Kemaren pagi dan (malam) saya men-tweet tentang beberapa permasalahan yang "menggalaukan" saya sebagai seorang dosen kelimuan informatika. Kegalauan ini dikarenakan dari hasil pengamatan saya di beberapa universitas tempat saya mengajar, adanya suatu gejala dimana para mahasiswa yang belajar ilmu komputer/informatika, makin tidak bisa melakukan analisis dan disain terkait software development. Tulisan ini kemudian saya buat untuk mengingatkan kita, mengapa belajar programming languages?

Belajar programming languages pada level sarjana S1 (undergraduate) sebenarnya bukan sekedar menjadi "tukang ketik", "tukang sambung kabel" ataupun menjadi "programmer" biasa. Salah satu kompetensi yang diharapkan dimiliki oleh undergraduate students, terkait software engineering sebenarnya adalah mampu melakukan proses analisis dan disain untuk menyelesaikan masalah dan mengembangkan keilmuan. Kompetensi ini DIMULAI dengan membangun kerangka konsep berpikir yang terkait teori dan konteks bahasa pemrograman. Jadi bukan sekedar langsung melakukan coding.

Terkait hal ini saya mentweet:
With studying the programming-language concepts, we can: 
1) increased capacity to express ideas
2) Improved background for choosing appropriate language;
3) Increased ability to learn new languages
4) Better understanding of the significance of implementation
5) Increased ability to design new language 
6) Overall advancement of computing 

Kemudian saya lanjutkan dengan mentweet hal hal berikut ini:
1) scra umum, dpt saya ungkapkan mengapa prodi teknik informatika cenderung hny meluluskan kualitas setingkat "tempat kursus komputer?
2) Krn prodi2 teknik informatika d @provsulut TIDAK memiliki mata kuliah sprti "Concepts of Programming Language"
3) Mahasiswa2 *cenderung* hny lsg diperkenalkan pada "how to" syntax dan semantics C/C++, Java atau MySQL, bukan "why"
4) Tanpa diberikan pemahaman konsep dan konteks programming language; termasuk sejarah dan asal syntax & semantics language tsb
5) Akibatny adlh mahasiswa2 prodi teknik informatika, hny dididik utk menjadi "tukang bangunan" "tukang-sambung-kabel" "tukang-servis"
6) Mnrt saya, kapasitas lulusan perguruan tinggi yg hny menghasilkan lulusan level "tukang2", tak ubahnya dgn Tempat Kursus Komputer / SMK
7) Kompetensi Inti seorang sarjana sbnrnya adalah kemampuan utk menganalisis masalah, mendisain solusi dan implementasi solusi dlm "real-world"
8) Disamping turut mengembangkan ilmu, dgn melakukan riset-berkelanjutan terkait isu2 terkini demi kemaslahatan umat manusia

Banyak yang memberi tanggapan via REPLY terkait tweet saya ini, bahkan hingga menjelang pagi pun, masih ada akun yang memberi tanggapan. Saya yakin dengan banyaknya tanggapan yang diberikan, menunjukkan adanya "kekuatiran" yang sama, yang dirasakan oleh berbagai lapisan masyarakat, terkait dengan tren makin menurunnya kompetensi seorang sarjana teknik informatika.

Senin, 07 Mei 2012

Audit Aplikasi


Berikut ini saya paparkan sebuah contoh tentang Laporan Dokumen Audit Aplikasi.

AUDIT SISTEM APLIKASI
1. Tujuan Audit Sistem Aplikasi
Audit Sistem Aplikasi pada Seksi Pelayanan Penilaian KPKNL Manado bertujuan untuk:
a. Untuk memastikan pengendalian input (input controls) yg ada pada sistem aplikasi telah berjalan dgn baik.
b. Untuk memastikan validasi dan authorisasi terhadap dokumen sumber.
c. Untuk memastikan entry data dilakukan dengan benar dan sesuai dengan dokumen sumber.
2. Objek  Audit
Sistem Aplikasi pada Seksi Pelayanan Penilaian KPKNL Manado.
3. Kriteria atau Pembanding
Pengendalian Input (input controls) seharusnya memiliki:
a. Source document controls.
b. Validation Controls.
c. Input error correction.
d. Terdapat pemisahan antar bagian.
e. Penggunaan bahasa, desain warna dan tampilan layar harus mudah dimengerti oleh user (user friendly).
f. Penyimpanan dokumen sumber berdasarkan periode dan jenis dokumen.
g. Menu-menu dalam sistem aplikasi harus efektif penggunaannya.
 4. Instrumen Audit: Kuesioner
Untuk contoh instrumen Audit Kuesioner dapat diunduh disini.
5. Temuan Audit atas Pengendalian Input
Adapun temuan audit yang dihasilkan dari pengendalian masukan adalah:
  1. Entri data dilakukan oleh karyawan tetap dan berwenang yang ditunjuk oleh pimpinan.
  2. Proses penginputan data telah terjadwal yaitu tanggal 5-10 setiap bulannya.
  3. Saat penginputan, akan muncul error message apabila ada kesalahan input dan data tersebut tidak disimpan kedalam database.
  4. Tidak terdapat menu help dalam sistem aplikasi. Karena karyawan yang bertugas untuk menginput diharapkan telah menguasai prosedur operasi sistem aplikasi.
  5. Untuk menangani proses entry data, telah ditunjuk petugas khusus.
  6. Untuk menghapus (delete) dan mengubah (update) data, ada petugas tertentu yang memiliki otoritas untuk melakukannya.
  7. Sistem aplikasi telah menggunakan bahasa, tampilan serta tata letak yang baik dan memudahkan pengguna.
  8. Kesalahan input data dapat diatasi dengan fitur delete yang dimiliki program.
  9. Sebelum operasi data disimpan, pengguna dalam hal ini petugas input data akan menerima notifikasi yang berupa konfirmasi.
  10. Sistem aplikasi tidak menyediakan fitur Warning atau peringatan apabila belum dilakukan back-up data.
  11. Semua data yang dimasukkan dalam sistem aplikasi berasal dari dokumen sumber.
  12. Petugas memiliki check-list input data sehingga meminimalisir kesalahan saat proses pemasukkan data dalam sistem.
  13. Pada bagian bawah form isian data, terdapat tombol-tombol operasi (save, delete, cancel) yang memudahkan pengguna.
  14. Organisasi telah melakukan pengarsipan baik dalam bentuk soft maupun hard copy terhadap dokumen sumber yang digunakan.
  15. Pada organisasi ini kepala seksi juga menjalankan tugas sebagai pengawas (supervisor) entry data.
  16. Metode peng-input-an data pada sistem aplikasi mendukung pemrosesan waktu nyata. Hal ini mendukung peng-update-an data.
  17. Infrastruktur yang memadai serta kebutuhan sumber daya program cukup minimal, hal tersebut menghasilkan waktu respon yang cepat dalam setiap pemasukkan data.
  18. Dalam setiap pemasukkan data, petugas entry akan meminta persetujuan dari kepala seksi.
  19. Apabila terjadi perubahan data manual, petugas akan memastikan dahulu sifat perubahan yang terjadi sebelum diputuskan akan memasukkannya pada sistem aplikasi atau tidak.
  20. Fasilitas / fitur-fitur yang ada pada program telah dirancang sesuai dengan kebutuhan pengguna sehingga tidak ditemukan adanya menu yang tidak efektif.
  21. Antarmuka pengguna hanya akan memunculkan pesan kesalahan apabila terjadi kesalahan pemasukkan data.
  22. Fasilitas-fasilitas menu pada sistem aplikasi telah memenuhi kebutuhan pengguna.
6. Paparan Resiko dan Rekomendasi
Untuk Resiko dan Rekomendasi dapat dilihat pada Gambar dibawah ini:

Berdasarkan penilain resiko dan pengendalian(dalam matriks) yang ada diperoleh jumlah penilaian 6 poin (positif), maka disimpulkan bahwa tingkat efektivitas pengendalian masukan (Input Controls) Sistem Aplikasi adalah baik. Artinya tingkat resiko maupun kemungkinan dampak akibatnya masih lebih kecil dari desain pengendalian maupun kemungkinan dampak akibatnya masih lebih kecil dari desain pengendalian maupun efektivitas pelaksanaannya, dengan kata lain tingkat resiko sudah lebih baik. Meskipun terjadi kelebihan pengendalian, tetap setiap pengendalian tersebut dirancang untuk mengantisipasi resiko-resiko yang mungkin terjadi, baik resiko yang sering terjadi maupun yang jarang terjadi atau sama sekali tidak pernah terjadi.

7. Lesson-learned dan Kesimpulan
  1. Kedepannya, akan lebih maksimal apabila dilakukan pemisahan tanggungjawab antara pengawas entry data dan Kepala Seksi Pelayanan dan Penilaian.
  2. Sistem aplikasi didesain kembali dengan memperhatikan masalah pada pemasukan data dengan nomor surat / nomor laporan yang sama.
  3. Mengantisipasi tertundanya pekerjaan apabila terjadi mutasi pegawai di bagian entry data, sebaiknya sistem aplikasi dilengkapi dengan menu help.
8. Matriks Penilaian Resiko dan Pengendalian
Untuk Matriks Penilaian Resiko dan Pengendalian dapat dilihat pada Gambar dibawah ini: