Senin, 07 Mei 2012

Audit SI dengan CObIT


Sebagai dosen pengampu mata kuliah Audit Sistem Informasi, maka saya sering menugaskan mahasiswa untuk melakukan audit SI dengan studi kasus yang nyata. Berikut adalah sebuag contoh Laporan Audit Sistem Informasi berdasarkan framework CObIT.

BAGIAN I
GAMBARAN UMUM AUDIT
I.1. TENTANG PERUSAHAAN/ORGANISASI
KPKNL Manado dibentuk berdasarkan Peraturan Menteri Keuangan Nomor 135/PMK.01/2006 tentang Organisasi dan Tata Kerja Instansi Vertikal Direktorat Jenderal Kekayaan Negara sebagai tindak lanjut dari adanya reorganisasi di lingkungan Departemen Keuangan. 
Pada awal berdirinya, Kantor Pelayanan Kekayaan Negara dan Lelang (KPKNL) Manado bernama Kantor Pelayanan Pengurusan Piutang dan Lelang (KP2LN) Manado. KP2LN Manado dibentuk berdasarkan Keputusan Menteri Keuangan Nomor: 445/KMK.01/2001 tanggal 23 Juli 2001 tentang Organisasi dan Tata Kerja Kantor Wilayah Direktorat Jenderal Piutang dan Lelang Negara sebagaimana telah diubah dengan Keputusan Menteri Keuangan Nomor: 425/KMK.01/2002.
Kantor Pelayanan Kekayaan Negara Manado terdiri dari 7 sub bagian, yaitu:
Seksi Pengelolaan Kekayaan Negara,
Seksi Pelayanan Penilaian, 
Seksi Piutang Negara,
Seksi Hukum dan Informasi,
Seksi Pelayanan Lelang, dan
Sub Bagian Umum.
Seksi Pelayanan Penilaian berfungsi mengelola dan menjadwalkan penilaian dan studi kelayakan terhadap inventaris negara. Dan untuk meningkatkan kinerjanya, maka Seksi Pelayanan Penilaian mengimplementasikan Sistem Informasi Manajemen dalam membantu proses kerja mereka.
I.2. TUJUAN PELAKSANAAN AUDIT
Pelaksanaan audit pada Seksi Pelayanan Penilaian, Kantor Pelayanan Kekayaan Negara Cabang Manado bertujuan untuk mengumpulkan serta mengevaluasi bukti-bukti untuk menentukan apakah sistem aplikasi yang digunakan telah telah dapat melindungi asset milik organisasi, mampu menjaga integritas data, dapat membantu pencapaian tujuan organisasi secara efektif, serta menggunakan sumber daya yang dimiliki secara efisien.
Selain itu, pada kesempatan ini kegiatan audit dilaksanakan dengan tujuan memperdalam wawasan serta memperkaya pengalaman mahasiswa Audit Sistem Informasi, Teknik Informatika Universitas Sam Ratulangi tahun ajaran 2010/2011.
I.3. RUANG LINGKUP AUDIT
Pelaksanaan Audit Sistem Informasi di Seksi Pelayanan Penilaiaian, Kantor Pelayanan Kekayaan Negara Cabang Manado melingkupi:
1. Pelaksaan audit dengan menggunakan kerangka kerja COBIT.
2. Pelaksaan Audit Sistem Aplikasi terhadap Pengendalian Masukan (Input Control).
I.4. SASARAN PELAKSANAAN AUDIT
1. Rencana Strategis (RENSTRA) Teknologi Informasi / IT Blueprint / Project Plan.
2. Tata kelola Teknologi Informasi yang meliputi: pembagian tugas dan tanggungjawab serta pelaksanaannya di lapangan.
I.5. STANDAR PEMBANDING SECARA UMUM
1. Organisasi yang menggunakan teknologi informasi dalam proses bisnisnya haruslah memiliki rancangan yang jelas dalam hal investasi, penggunaan, pengawasan, serta pengembangan aspek-aspek teknologi informasi yang dimilikinya.
2. Secara ideal organisasi memiliki tata kelola teknologi informasi yang pada akhirnya akan berdampak pada pelaksanaan tugas dan tanggungjawab divisi TI serta penerapan rencana strategis teknologi informasi.
3. Antarmuka aplikasi sesuai bagi pengguna yang dalam hal ini pegawai Seksi Pelayanan Penilaiaian, Kantor Pelayanan Kekayaan Negara Cabang Manado. Antarmuka harus memiliki tata letak yang tidak membuat pengguna bingung, serta paduan warna yang tepat.
4. Sistem aplikasi memiliki dokumentasi yang terintegrasi (menu help) untuk memudahkan pengguna.
5. Otorisasi sebelum melakukan peng-input-an data.
6. Dokumentasi / catatan / log kegiatan input data, dokumen sumber, beserta pengarsipannya.
I.6. WAKTU PELAKSANAAN AUDIT
Audit dilaksanakan pada hari Selasa, tanggal 7 Juni 2011 mulai pukul 09.00 s/d 11.05 waktu setempat.
I.7. PELAKSANA AUDIT
Kegiatan audit ini dilaksanakan oleh 
1. Stanley Karouw, ST., MTI
2. Febrianto Rompis (07 0213 059)
3. Daniel Febrian Sengkey (08 0213 015)

Berikut ini adalah beberapa artifak yang dikumpulkan selama pelaksanaan Audit!
1. Hasil Kuesioner (dapat diunduh disini)
2. Dokumen Hasil Penilaian Fakta (dapat diunduh disini)
3. Laporan Temuan (dapat dilihat pada Gambar dibawah)



Membangun Aplikasi e-Commerce


Perkembangan teknologi menjadikan saluran distribusi global untuk produk, jasa, lapangan pekerjaan bidang manajerial dan profesional semakin bersaing. Dampak yang ditimbulkan antara lain mengubah perekonomian, struktur pasar dan industri, produk dan jasa serta aliran distribusinya, segmentasi pasar, nilai bagi konsumen, perilaku konsumen, lapangan pekerjaan dan pasar tenaga kerja.

Salah satu dari teknologi itu adalah internet. Kemampuan dan keandalan internet  memberikan banyak kemudahan bagi berbagai aspek kehidupan. Internet  dapat menjadi sumber informasi dan sarana komunikasi yang murah dan cepat. 

Salah satu aplikasi yang menggunakan dan memanfaatkan teknologi internet adalah Electronic Commerce (e-Commerce) atau perdagangan secara elektronik adalah perdagangan yang dilakukan dengan memanfaatkan jaringan telekomunikasi terutama internet. 

Ada banyak bentuk perdagangan secara elektonik yang dilakukan saat ini, antara lain  internet  banking, pembelian dan penyedian barang, toko online dan sebagainya. Dalam proyek ini kami sebagai tim pengembang akan membuat e-Commerce dengan spesifik Toko Online Handphone. Yang menjadi tempat studi kasus yaitu Toko Handphone SentralFone. SentralFone adalah toko handphone yang menjual handphone, komponen, dan jasa servis handphone di kota Manado tepatnya di area Megamas. Dengan adanya aplikasi e-Commerce manfaat yang diberikan cukup banyak antara lain proses penjualan produk bisa secara online dan 24 jam sehingga antara pembeli dan penjual tidak perlu berhadapan langsung.

Alur Proses Bisnis e-Commerce dari Studi Kasus


Beberapa persyaratan aplikasi (user requirements) yang muncul saat wawancara:

a. Business Need
  1. Adanya laporan bulanan.
  2. Bisa melihat daftar barang yang ingin dibeli.
  3. Memudahkan pembeli dalam mencari jenis barang yang diinginkan.
  4. Proses pembayaran dilakukan melalui transfer via rekening.
  5. Menggunakan forum untuk memudahkan komunikasi antara pembeli dan penjual.
  6. Menggunakan bahasa Indonesia.
b. Functionality
  1. Fitur dalam menggolongkan barang berdasarkan jenis, sehingga bisa lebih memudahkan dalam pencarian spesifikasi dari suatu jenis barang.
  2. Membuat fitur Search untuk memudahkan pembeli dalam mencarim barang yang diinginkan.
  3. Fitur live chating untuk saling obrol antara penjual dan pembeli.
  4. Fitur laporan bulanan dan tahunan, yang berisi jumlah barang yang terjual, barang masih ada dan barang yang baru masuk.
c. Non-Functional
  1. Penggunaan bahasa Indonesia.
  2. Desain inteface harus menarik.
d. Expected Value
Manfaat Tangible:
  1. Meningkatkan akurasi pengontrolan jumlah barang yang masuk dan keluar sampai 80%.
  2. Mengurangi pemakaian waktu dalam mencari suatu jenis barang tertentu sampai 70%.
  3. Mengurangi biaya promosi sampai Rp. 1.100.000 per bulan.
  4. Mengurangi biaya print dan fotocopy Rp. 600.000 per bulan.
Manfaat Intangible:
  1. Meningkatkan kemudahan dalam pencarian suatu jenis barang.
  2. Meningkatkan tingkat kepuasan konsumen.
  3. Meningkatkan pelayanan terhadap konsumen.
e. Special Issues or Constraints
Proyek harus selesai waktu yang telah ditentukan yaitu bulan April.


Iterasi Jacobi

MODUL 6 Iterasi Jacobi
BAB I
TUJUAN DAN DASAR TEORI

I.1 Tujuan
1) Menguasai iterasi Jacobi yang digunakan dalam komputasi numerik.
2) Memahami algoritma pemrograman untuk merancang program iterasi Jacobi.
3) Menerapkan algoritma untuk perancangan dan pembuatan program iterasi Jacobi.

I.2 Dasar Teori
Metode iterasi Jacobi merupakan salah satu bidang analisis numerik yang digunakan untuk menyelesaikan permasalahan persamaan linear dan sering dijumpai dalam berbagai disiplin ilmu. Metode iterasi Jacobi merupakan salah satu metode tak langsung, yaitu bermula dari suatu hampiran penyelesaian awal dan kemudian berusaha memperbaiki hampiran dalam tak berhingga dengan langkah konvergen. Metode iterasi Jacobi ini digunakan untuk menyelesaikan persamaan linear berukuran besar dan proporsi koefisien nolnya besar. Metode ini ditemukan oleh matematikawan yang berasal dari Jerman, Carl Gustav Jakob Jacobi. Penemuan ini diperkirakan pada tahun 1800-an.
Jika merubah Sistem Persamaan Linear, maka dapat ditulis sebagai berikut
Ax = B
Kemudian, diketahui bahwa A = D + (L + U), dimana D merupakan matriks diagonal, L merupakan matriks segitiga bawah, dan U merupakan matriks segitiga atas. Setelah itu, persamaan diatas dapat diubah menjadi:
 
Dx | (L | U)x = b

Kemudian
x = D -1 [b – ( L | U ) x]

Jika ditulis dalam aturan iteratif, maka metode Jacobi dapat ditulis sebagai

x(k+1) = D -1 [b – ( L | U ) x(k)]
 
Dimana k merupakan banyaknya iterasi. Jika x(k) menyatakan hampiran ke-k penyelesaian Sistem Persamaan Linear, maka x(0) adalah hampiran awal.


BAB II
ALAT DAN BAHAN

II.1 Alat dan Bahan yang perlu dipersiapkan:
1) Buku Teks
2) Unit Pemroses
3) Aplikasi Pembuatan Program
            a. Notepad / Notepad++
            b. Aplikasi IDE C++ (Bloodsheed Dev C++)
            c. Mathematica
            d. Matlab
            e. IDE Visual Studio 2010
            f. Netbeans atau Eclipse


BAB III
PROSEDUR PERCOBAAN

III.1 Prosedur Umum
1) Memahami formulasi matematis Metode Iterasi Jacobi
2) Menulis Algoritma penyelesaian masalah (dengan menggunakan teks dan/atau flow chart)
3) Menulis pseudocode algoritma
4) Menguji pseducode algoritma penyelesaian masalah (misalnya dengan menggunakan prosedur Desk Check)
5) Melakukan kodifikasi
6) Menguji Program (misalnya dengan menggunakan prosedur Joel Test dan/atau tools seperti NUnit, NCover, NCoverExplorer dan TestDriven.NET, atau menggunakan prosedur pengujian langsung)
7) Membuat dokumentasi Praktikum (misalnya dengan menggunakan Version Control Subversion, Mercurial, Gita tau Veracity)

III.2 Prosedur Khusus
III.2.1 Contoh menulis program menggunakan IDE Bloodshed Dev C++
1)      Untuk menulis program baru caranya tekan CTRL+N atau pilih NEW lalu klik Source File terlebih dahulu sebelum mengetik program.
2)      Ketikkan program anda.
3)      Simpan program dengan menekan tombol CTRL+F12, pilih Save kemudian pada kotak dialog yang muncul ketikkan nama program pada tempat yang tersedia misalnya Contoh1.cpp, kemudian klik Save atau tekan <ENTER>
4)      Jalankan program dengan terlebih dahulu melakukan kompilasi. Hal ini dapat dilakukan sekaligus dengan mengklik Compile & Run (F9) pada menu bar ataulangsung menekan F9 pada keyboard.
5)      Bila kompilasi tidak berhasil dan memunculkan pesan error, periksa kembali kode program yang ada kemudian perbaiki kesalahan dan lakukan kembali langkah 3 dan 4.  
6)      Untuk membuka arsip yang ada, gunakan OPEN atau tekan CTRL+O pada keyboard.

III.2.2 Prosedur Uji Coba
Perhatikan penggalan program berikut
Lakukan langkah-langkah berikut:
1. Terdapat sebuah program dibawah
2. Pahami algoritma penyelesaian masalah pada program diatas!
3. Tuliskan program berdasarkan langkah-langkah algoritma penyelesaian masalah!
4. Jalankan program
5. Temukan kesalahan program
6. Membuat dokumentasi
7. Lakukan kembali langkah 4 hingga langkah 6
8. Tuliskan program yang sudah benar
9. Membuat dokumentasi laporan lengkap

Contoh Program:
#include <iostream>
#include <math.h>
using namespace std;
//Iterasi Jacobi
int main(){
int a, b, c, d, e, f, g, h, i, j, k, l, xb, yb, zb;
float x, xk, y, yk,z, zk, selisih_x, selisih_y, selisih_z;
char pil;
do
{
cout<<”Format: 4x – y + z = 7”<<endl;
cout<<” 4x – 8y + z = 21”<<endl;
cout<<” -2x + y + 5z = 15”<<endl;
cout<<”Harga awal:(1,2,2)”;
int n=1;
do {
xk=(7-(-4*y)-(1*z))/4;
yk=(-21-(4*x)-(1*z))/-8;
zk=(15-(-2*x)-(1*y))/5;
cout<<”x”<<n<<”: ”<<xk<<endl;
cout<<”y”<<n<<”: “<<yk<<endl;
cout<<”z”<<n<<”: “<<zk<<endl;
y=yk;
z=zk;
n++;
xb=x;
selisih_x=x-xb;
yb=y;
selisih_y=y-yb;
zb=z;
selisih_z=z-zb;
}
while((selisih_x>0.00001||selisih_x<-0.00001) \
||(selisih_y>0.00001||selisih_y<-0.00001) \
||(selisih_z>0.00001||selisih_z<-0.00001));
cout<<”\nApakah ingin diulang lagi?”;
cin>>pil;
cout<<endl;
}
while (pil==’Y’||pil=’y’);
return 0;
}

3.2.3 Saran
1. Pelajari buku teks dan sumber lainnya
2. Mintalah petunjuk dari dosen pengasuh, asisten laboratorium dan lainnya.
3. Lakukan dokumentasi dengan baik.
4. Belajarlah bekerja dalam kelompok.
5. Ikuti setiap langkah dari prosedur yang ada

Jumat, 04 Mei 2012

tentang WAP (bagian 3)

Tulisan ini merupakan bagian 3. 
Untuk bagian 1 dapat dilihat disini, dan untuk bagian 2 dapat dilihat disini.
Pengembangan aplikasi WAP dilakukan dalam suatu lingkungan kerja yang disebut Wireless Application Environment (WAE). Inti dari WAE ini terdiri Wireless Markup Language (WML) dan Wireless Markup Language Scripts (WMLScript). 

Pengembangan Aplikasi WAP dengan PHP
Untuk membuat aplikasi WAP menjadi lebih dinamis dan interaktif, yang mampu memberikan dan menerima respon dari dan ke pengakses, kita dapat menggunakan bahasa-bahasa script yang berjalan pada sisi server (server side-scripting). Dalam tugas akhir ini akan menggunakan PHP ( PHP Hypertext Processor), bahasa script server-side yang tangguh, populer di internet dan gratis untuk memberi unsur dinamik dan interaktif pada aplikasi WAP.

Pada prinsipnya, komunikasi antara web server dengan perangkat WAP sama dengan hubungan antara web server dengan browser berbasis PC, hanya saja dalam hal ini ada satu tahap tambahan. Tahap ekstra yang dibutuhkan adalah transfer informasi oleh WAP gateway. WAP gateway bertindak sebagai perantara antara browser nirkabel dengan server tempat informasi berada.


Proses Komunikasi browser nirkabel dengan web server     

Yang berperan sebagai WAP gateway biasanya adalah perusahaan telekomunikasi yang menyediakan layanan telepon nirkabel atau telepon seluler. Misalkan kita telah membuat deck yang berisi dua buah card. Kemudian user daengan perangkat nirkabelnya melakukan permintaan atau request  terhadap deck tersebut. Maka, urut-urutan event yang terjadi untuk permintaan user tersebut adalah sebagai berikut :
  1. Request dikirimkan ke WAP gateway dengan protocol WAP. WAP gateway, di bawah “kendali” dari perangkat WAP, melakukan request untuk URL tertentu dengan protocol HTTP.
  2. Request ditransmisikan via internet ke alamat IP dari perangkat WAP (alamat IP dari suatu perangkat WAP ditentukan oleh operator).
  3. Request mencapai tujuan akhirnya, yaitu web server.  Server membaca header dan memproses permintaan dokumen WAP. Kode program PHP yang terdapat dalam dokumen ini dikompilasi dan diformat sesuai dengan kebutuhan.
  4. Dokumen atau deck WAP yang telah diproses ini dikirimkan kembali melalui WAP gateway. Pada gateway, isi dari deck dikompres menjadi data biner dan dikirimkan keperangkat WAP.


Adalah mungkin dan sangat mudah untuk menambahkan unsur dinamik ke dalam WML dengan PHP. Pengembnagan aplikasi WAP dengan PHP memungkinkan kita membuat aplikasi seperti database, mailserver, pengiriman pesan dan lain-lain. Supaya script PHP dapat didukung oleh perangkat WAP, script ini harus menghasilkan outrput header WML kepada Client. Karena itu, setiap dokumen WML yang berisi kode PHP harus menyertakan baris-baris berikut yang ditempatkan pada awal deck:


Deklarasi ini diperlukan karena PHP secara default mengirim baris Content-type : text/html.


Interaksi PHP dengan MySQL
Komunikasi antara user dengan WAP browser dengan web server dapat menjadi lebih interaktif dengan penggunaan database. Dengan adanya PHP yang bekerja pada sisi server, komunikasi interaktif dapat dilakukan dengan antara user dengan server, baik Apache sebagai web server maupun database server MySQL. User yang mengakses dapat memperoleh data atau informasi dari server dan server dapat menyimpan data yang dikirimkan user dalam database MySQL.
Database yang dipakai adalah MySQL dengan beberapa alasan, antara lain karena MySQL gratis dan mudah dipelajari. Dalam PHP terdapat banyak fungsi yang digunakan sebagai penghubung atau antarmuka dengan MySQL sehingga data dalam database dapat dilihat di internet. Banyak situs di internet yang menggunakan PHP-MySQL dalam pengembangan situsnya. 

tentang WAP (bagian 2)

Bagian Pertama dari tulisan ini, dapat dilihat disini.
Pengembangan aplikasi WAP dilakukan dalam suatu lingkungan kerja yang disebut Wireless Application Environment (WAE). Inti dari WAE ini terdiri Wireless Markup Language (WML) dan Wireless Markup Language Scripts (WMLScript). 

WML merupakan bahasa mark-up yang  berbasis pada Extensible Markup Language (XML). WML adalah analogi dari HTML yang berjalan pada protocol nirkabel. Tag-tag pada WML mirip dengan tag-tag yang ada pada HTML.
Data WML terstruktur dalam bentuk koleksi kartu atau card. Sebuah koleksi card disebut deck. Tiap deck tersusun dari isi yang terstruktur dan spesifikasi navigasi. Penggunaan melakukan navigasi dalam susunan card, melihat isi tiap card, mengisi informasi yang dibutuhkan, membuat pilihan dan bernavigasi ke card selanjutnya atau kembali ke card sebelumnya.
Dalam HTML, user interface ditampilkan dalam bentuk halaman-halaman HTML di mana dalam card pada suatu deck dapat memiliki hyperlink ke card yang lain.
Jika WML merupakan analogi dari HTML pada media nirkabel, maka WMLScript merupakan analogi yang tepat dari JavaScript. WMLScript, seperti halnya JavaScript, berjalan pada sisi client (client side scripting). Bedanya, WMLScript tidak bisa ditempatkan menjadi satu dengan halaman WML yang menggunakan fungsi-fungsi dari WMLScript.

Fungsi-fungsi WMLScript yang akan digunakan oleh halaman WML ditempatkan dalam file yang terpisah. Pemisahan ini memberikan suatu keuntungan, yaitu dalam fokus pembuatan aplikasi. Jika kita bekerja dengan halaman WML, maka kita hanya berfokus pada isi atau user interface halaman yang kita inginkan. Dengan WMLScript, kita berfokus pada pembuatan prosedur atau fungsi dari logika pemrograman.

Aplikasi WML yang kita buat dapat diakses menggunakan browser yang disebut user agent (UA). UA mendownload halaman WML dan atau WMLScript yang dibutuhkan dan merender halaman tersebut. Hasil render halaman WML amat tergantung pada tipe alat yang digunakan. Dan tampilan yang diperoleh mungkin berbeda antara ponsel dengan kemampuan grafis yang baik dengan yang hanya mendukung modus teks.

Berikut adalah catatan terkait WML:
Prolog WML 8
Statetmen pertama dalam sebuah dokumen XML dalam sebuah dokumen WML disebut prolog ini adalah optional (tidak harus ada) dan mengandung  dua baris kode :
Deklarasi  XML : digunakan untuk mendefinisikan versi XML
Deklarasi DTD : penunjuk ke file yang mengandung DTD dokumen ini.

Contoh prolog adalah sebagai berikut : 
<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">

Setelah prolog, setiap dokumen XML mengandung sebuah elemen tunggal yang mengandung semua sub elemen dan entity yang lainnya. Seperti kalau di HTML, semua elemen dikurung  oleh karakter <> dan </>. Misalnya :
                    <element> datadatadata </element>

Hanya boleh ada satu elemen dokumen per dokumen. Dengan WML, elemen dokumennya adalah <wml>, (seperti di html elemen dokumennya adalah <html> ) semua elemen lainnya termasuk di dalamnya. 
Dua cara paling umum untuk menyimpan data dalam dokumen XML adalah dengan element dan attribute.
Element adalah item-item berstruktur dalam  dokumen tersebut yang ditandai dengan tag elemen pembuka dan penutup. Element juga dapat mengandung sub-element.
Attribute biasanya digunakan untuk mendeskripsikan sebuah elemen.

Contoh, misalkan ada kode seperti ini:


Dalam kode di atas, element mengandung attribute id dan title. (Catatan: komentar di WML mirip dengan HTML tetapi harus tampil dalam tag <!-- -->  

Element WML yang  valid
WML mendefinisikan sebelumnya sebuah kumpulan element yang dapat dikombinasikan bersama-sama untuk membuat sebuah dokumen WML. Pencantuman Elemen-eleman ini dapat dibagi menjadi dua kelmpok :
Element Deck/Card; dan Element Event.
Element Deck/Card : wml,card, template, head, acces, meta.
Element Event : do, on timer, onenterforward, onenterbackward, onpick, onevent, postfield.
Task : go, prev, refresh, noop.
Variabel : input, select, option, optgroup, fieldset.
Anchor, Image dan Timer : a, anchor, img, timer.
Text Formatting : br, p, table, tr, td.
Setiap elemen di atas dimasukkan ke dalam dokumen dengan sintaks seperti ini :
<element>nilai elemen itu</element>

Jika sebuah elemen tidak punya data di dalamnya (sebagaimana biasanya dalam kasus menformat elemen dengan <br> misalnya), kita dapat menghemat dengan hanya memasukkan satu tag yang ditambahi karakter / (misalnya: <br/>.