Kamis, 03 Juni 2010

SEARCHING & SORTING

Pendahuluan

Sorting dan searching merupakan salah satu operasi dasar dalam ilmu komputer. Sorting merupakan suatu proses (operasi) yang mengurutkan data dalam suatu urutan yang diberikan (increasing atau decreasing). Searching merupakan suatu proses (operasi) untuk mencari lokasi dari data yang diberikan dalam suatu urutan data.
Secara tidak langsung sorting dan searching menunjuk pada operasi file yang merupakan kumpulan suatu dari record. Masing-masing record dalam file F dapat berisi banyak field, tetapi terdapat 1 buah field yang memiliki nilai unique atau merupakan key yang unique dalam record tersebut. Misal field K merupakan key unique yang disebut primary key, maka proses sorting file F akan berdasarkan key unique tersebut dan proses searching untuk mencari record tertentu berdasarkan nilai key unique yang diberikan.


Sorting

Terdapat 2 katagori dasar dalam tehnik sorting : internal sort dan external sort. Metoda Internal sort digunakan apabila koleksi data yang akan diurutkan tidak dalam jumlah besar sehingga proses dapat dilakukan dalam main memory. Metoda External sort digunakan apabila koleksi data yang akan diurutkan dalam jumlah besar dimana koleksi data tersebut ada dalam auxiliary memory device seperti magnetic tape atau disk.
(Yang akan di bahas adalah Internal Sort).
Misal A merupakan suatu daftar dari n elemen A1, A2, ..., An dalam memori. Sorting A merupakan operasi yang mengatur elemen dalam A sehingga ada dalam urutan yang terurut, misal dalam increasing order sehingga :

A1  A2  A3  .....  An

Contoh :
Misal suatu array DATA berisi 8 elemen sebagai berikut :

DATA : 77, 33, 44, 11, 88, 22, 66, 55

Setelah diurutkan :

DATA : 11, 22, 33, 44, 55, 66, 77, 88


Insertion Sort

Misal array A dengan n elemen A[1], A[2], ..... , A[N] dalam memori. Algoritma Insertion Sort memeriksa A dari A[1] sampai dengan A[N], menyisipkan setiap elemen A[K] ke dalam posisi yang seharusnya dalam subarray terurut A[1], A[2], ..... , A[K-1].

Algoritma sorting ini umumnya digunakan apabila jumlah elemennya sedikit (n kecil). Masalah yang akan muncul dengan metoda ini adalah bagaimana cara menyisipkan A[K] ke dalam letak yang seharusnya pada subarray terurut A[1], A[2], ....., A[K-1]. Hal ini dapat dilakukan dengan membandingkan A[K] dengan A[K-1], kemudian A[K] dengan A[K-2], A[K] dengan A[K-3] dan seterusnya, sampai menemukan elemen A[J] dimana A[J]  A[K].

Algoritma ini menggunakan sentinel elemen (A[0]) yang digunakan sebagai perbandingan. Yang dimaksud dengan sentinel elemen adalah elemen yang memiliki nilai yang sangat kecil.















Penggambaran proses Insertion Sort :

Proses A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8]

K = 1: - 77 33 44 11 88 22 66 55

K = 2: - 77 33 44 11 88 22 66 55

K = 3: - 33 77 44 11 88 22 66 55

K = 4: - 33 44 77 11 88 22 66 55

K = 5: - 11 33 44 77 88 22 66 55

K = 6: - 11 33 44 77 88 22 66 55

K = 7: - 11 22 33 44 77 88 66 55

K = 8: - 11 22 33 44 66 77 88 55

Urutan : - 11 22 33 44 55 66 77 88

Tabel 1.1
Contoh :
Array A dengan 8 elemen sebagai berikut :
77, 33, 44, 11, 88, 22, 66, 55
Tabel 1.1 menggambarkan algoritma insertion sort. Elemen yang dilingkari menandakan A[K] dalam masing-masing proses dari algoritma, dan tanda panah menandakan letak yang seharusnya untuk menyisipkan A[K].

Algoritma Insertion Sort :
1. A[0] = 0 {sentinel elemen}
2. Repeat langkah 3 sampai 5 untuk K = 2,3,.....,N
3. Temp := A[K] ; PTR = K - 1
4. Repeat While Temp < A[PTR]
a. A[PTR+1] = A[PTR]
b. PTR = PTR - 1
[End Of Loop]
5. A[PTR+1] = Temp
[End Loop Langkah 2]
6. Return
Complexity Insertion Sort = O(n2)

Selection Sort

Array A dengan n elemen A[1], A[2], ....., A[N] dalam memori. Algoritma untuk mengurutkan A sebagai berikut : Pertama, cari elemen terkecil dalam array A dan letakkan pada posisi pertama dalam array tersebut. Kemudian cari elemen kedua terkecil dalam array A dan letakkan dalam posisi kedua dari array tersebut, dan begitu seterusnya.

Proses 1 : Cari lokasi LOC yang merupakan elemen terkecil dalam array yang
terdiri dari N elemen , A[1], A[2], ...., A[N] dan kemudian tukar posisi
A[LOC] dengan A[1].

Proses 2 : Cari lokasi LOC yang merupakan elemen terkecil dalam array yang
terdiri dari N-1 elemen , A[2], A[3], ...., A[N] dan tukar posisi A[LOC]
dengan A[2]. A[1] , A[2] terurut, jika dan hanya jika A[1]  A[2].

Proses 3 : Cari lokasi LOC yang merupakan elemen terkecil dalam array yang
terdiri dari N-2 elemen, A[3], A[4],......, A[N] dan tukar posisi A[LOC]
dengan A[3]. A[1], A[2], A[3] terurut, jika dan hanya jika A[2]  A[3].
Dst.................

Sehingga A akan terurut setelah N-1 proses.

Contoh ;
Array A dengan 8 elemen sbb :
77, 33, 44, 11, 88, 22, 66, 55
Proses algoritma digambarkan dalam Tabel 1.2. Misalkan LOC berisi nilai lokasi elemen terkecil A[K], A[K+1],...,A[N] selama proses K. Elemen yang dilingkari merupakan elemen yang akan ditukar posisinya.




Proses A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8]

K = 1 ; LOC = 4 77 33 44 11 88 22 66 55

K = 2 ; LOC = 6 11 33 44 11 88 22 66 55

K = 3 ; LOC = 6 11 22 44 77 88 33 66 55

K = 4 ; LOC = 6 11 22 33 77 88 44 66 55

K = 5 ; LOC = 8 11 22 33 44 88 77 66 55

K = 6 ; LOC = 7 11 22 33 44 55 77 66 88

K = 7 ; LOC = 7 11 22 33 44 55 66 77 88

Urutan : 11 22 33 44 55 66 77 88

Tabel 1.2

Algoritma :

Procedure SELECTION (A, N)
1. Repeat langkah 2 dan 3 untuk K = 1,2,.....,N-1
2. Call MIN(A, K, N, LOC)
3. Temp = A[K] ; A[K] = A[LOC] ; A[LOC] = Temp
[End Loop langkah 1]
4. Exit

Procedure MIN (A,K,N,LOC)
1. Min = A[K] ; LOC = K
2. Repeat For J = K+1, K+2, ......, N
If Min > A[J] Then Min = A[J] ; LOC = A[J] ; LOC = J
[End Loop]
3. Return

Complexity (kompleksitas) algoritma Selection Sort : O(n2)


Merging

Misal A merupakan himpunan data terurut dengan r buah elemen dan B himpunan data terurut dengan s buah elemen. Proses yang menggabungkan elemen-elemen dalam A dan B menjadi himpunan elemen data terurut tunggal, misal C dengan n = r + s buah elemen disebut dengan proses Merging.

Secara singkat, proses Merging dapat dijelaskan sebagai berikut ; ambil elemen pertama dari A, A[1] dan B, B[1]. Bandingkan kedua elemen tersebut. Jika A[1] > B[1], B[1] dimasukkan dalam C, jika tidak A[1] dimasukkan dalam C. Untuk himpunan data yang elemennya dimasukkan dalam C, elemen yang akan dibandingkan adalah elemen berikutnya. Dan seterusnya.

Contoh :
A = 11 12 23 33 45 67
B = 9 12 21 42

Disini A[1] = 11 dan B[1] = 9 dibandingkan dan A[1] > B[1], B[1] dimasukkan dalam C. Pembandingan berikutnya A[1] = 11 dibandingkan dengan B[2] = 12, A[1] dimasukkan dalam C, dan begitu seterusnya.


Algoritma MERGING :

1. NA = 1 ; NB = 1 dan PTR = 1
2. Repeat While NA  R and NB  S
If A[NA] < B[NB] then
a. C[PTR] = A[NA]
b. PTR = PTR + 1 ; NA = NA + 1
Else
a. C[PTR] = B[NB]
b. PTR = PTR + 1 ; NB = NB + 1
[End If Structure]
[End Loop]
3. If NA > R then
Repeat For k = 0,1,2,3,.....,S-NB
C[PTR+K] = B[NB+K]
[End loop]
Else
Repeat for K = 0,1,2,3,.....,R-NA
C[PTR+K] = A[NA+K]
[End loop]
[End If Structure]
4. Exit
Kompleksitas algoritma Merging = O(n). Dengan kata lain algoritma Merging dapat dijalankan dalam waktu yang linear.


Merge Sort

Misal : Array A dangan n elemen A[1], A[2], ....., A[N] dalam memori. Algoritma Merge Sort yang akan mengurutkan A akan digambarkan sebagai berikut :

Contoh :
Array A berisi 6 elemen sbb :
15 12 45 56 13 10

Masing-masing proses dalam algoritma merge sort akan dimulai dari elemen awal dalam A dan menggabungkan (merge) pasangan subarray yang terurut sbb :



Kompleksitas dari proses merge-sort = O(n).


Tournament Sort

Tournament Sort disebut juga dengan Tree Selection Sort. Misal terdapat elemen data sebagai berikut : 6, 25, 7, 2, 14, 10, 9, 22, 3, 14, 8, 12, 1, 30, 13. Asumsikan bahwa batasan proses dalam memori hanya 4 buah elemen setiap saatnya. Algoritma Tournament Sort membagi 4 elemen tersebut menjadi 2 pasangan elemen sbb :

6
25

7
2
Asumsikan bahwa data tersebut akan diurutkan secara ascending, sehingga elemen terkecil pada masing-masing pasangan di atas adalah 2 dan 6.

6 6
25

7 2
2

2 adalah elemen terkecil dan merupakan elemen pertama pada output dari urutan yang diurutkan.
6 6
25
2 2
7 2
2

Proses yang berikutnya akan ditentukan elemen kedua dalam list terurut. 2 tidak diikutsertakan kembali.

6 6
25
6 2, 6
7 7
*

Proses selanjutnya :

6 6
25
6 2, 6
7 7
14


Proses ketiga :

10 10
25
7 2, 6, 7
7 7
14

Proses keempat :

10 10
25
9 2, 6, 7, 9
9 9
14

Proses kelima :
10 10
25
10 2, 6, 7, 9, 10
22 14
14

Pada proses keenam elemen 3 dimasukkan dalam tree :

3
25

22 14
14

Apabila 3 diikutkan dalam proses, maka urutan list terurut pada output akan berantakan. Untuk mengatasinya, terdapat aturan sbb :
If Keynew < Keylastout
then keynew diletakkan dalam tree tetapi untuk sementara waktu di-
diskualifikasikan.

Catatan : Keylastout adalah key terakhir yang ada dalam list terurut.

Elemen yang didiskualifikasikan akan ditandai dengan asterisk (*). Sehingga hasil dari proses enam adalah :
*3 25
25
14 2, 6, 7, 9, 10, 14
22 14
14

Pada proses ketujuh, elemen berikutnya adalah 14. Karena elemen terakhir dalam list terurut tidak lebih kecil dari elemen yang akan dimasukkan, yakni 14, maka elemen 14 masuk dalam list terurut.
*3 25
25
14 2, 6, 7, 9, 10, 14, 14
22 14
14

Proses kedelapan, elemen berikutnya 8 dan elemen ini untuk sementara akan didiskualifikasi karena 8 < dari elemen terakhir dalam list terurut yakni 14.
*3 25
25
22 2, 6, 7, 9, 10, 14, 14, 22
22 22
*8
Proses kesembilan :

*3 25
25
25 2, 6, 7, 9, 10, 14, 14, 22, 25
*12 *
*8

Proses kesepuluh, elemen berikutnya 1 :

*3
*1

*12
*8
Sekarang semua elemen yang ada adalah elemen yang didiskualifikasikan. Dan saat ini baru 9 elemen yang diurutkan. Sekarang elemen yang untuk sementara didiskualifikasikan, dilepaskan dari diskualifikasi dan proses dimulai kembali. Kali ini akan terbentuk list terurut kedua dari elemen-elemen yang didiskualifikasi sebelumnya. Sehingga
proses 10 :




3 1
1
1 2, 6, 7, 9, 10, 14, 14, 22, 25
12 8 1
8

Proses 11, elemen 30 :

3 3
30
3 2, 6, 7, 9, 10, 14, 14, 22, 25
12 8 1, 3
8

Proses 12 :

13 13
30
8 2, 6, 7, 9, 10, 14, 14, 22, 25
12 8 1, 3, 8
8

Sekarang input list kosong. Sehingga proses 13 :

13 13
30
12 2, 6, 7, 9, 10, 14, 14, 22, 25
12 12 1, 3, 8, 12
*
Proses 14 dan 15 tidak terdapat elemen yang dimasukkan dalam tree. Hasil akhir dari proses tournament sort ini menghasilkan 2 himpunan elemen data yang terurut :

2, 6, 7, 9, 10, 14, 14, 22, 25
1, 3, 8, 12, 13, 30

Kedua himpunan data yang terurut tersebut dapat digabungkan menjadi satu list data terurut dengan menggunakan algoritma Merging.

Shell Sort

Disebut juga dengan metoda pertambahan menurun (diminishing increment). Metoda ini dikembangkan oleh Donald L. Shell tahun 1959. Metoda ini memanfaatkan penukaran sepasang elemen untuk mencapai keadaan urut. Dalam hal ini jarak dua elemen yang dibandingkan dan ditukarkan tertentu.

Pada langkah pertama, ambil elemen pertama dan kita bandingkan dengan elemen pada jarak tertentu dari elemen pertama tersebut. Kemudian elemen kedua dibandingkan dengan elemen lain dengan jarak yang sama. Demikian seterusnya sampai seluruh elemen dibandingkan.
Pada contoh berikut, proses pertama kali jarak diambil separoh banyaknya elemen yang akan diurutkan. Proses kedua jaraknya diambil separuh jarak yang pertama, dst....

Misal terdapat elemen sebagai berikut :

23 45 12 24 56 34 27 23 16

Proses pengurutan menggunakan metoda Shell ada pada tabel 1.3. Dalam hal ini elemen yang ditulis miring adalah elemen yang dibandingkan dan kemudian ditukar, jika perlu.



















Jarak A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9]

Awal 23 45 12 24 56 34 27 23 16

Jarak = 4 23 45 12 24 56 34 27 23 16
23 45 12 24 56 34 27 23 16
23 34 12 24 56 45 27 23 16
23 34 12 24 56 45 27 23 16
23 34 12 23 56 45 27 24 16
23 34 12 23 16 45 27 24 56

Jarak = 2 23 34 12 23 16 45 27 24 56
12 34 23 23 16 45 27 24 56
12 23 23 34 16 45 27 24 56
12 23 16 34 23 45 27 24 56
12 23 16 34 23 45 27 24 56
12 23 16 34 23 45 27 24 56
12 23 16 34 23 24 27 45 56
12 23 16 34 23 24 27 45 56

Jarak = 1 12 23 16 34 23 24 27 45 56
12 23 16 34 23 24 27 45 56
12 16 23 34 23 24 27 45 56
12 16 23 34 23 24 27 45 56
12 16 23 23 34 24 27 45 56
12 16 23 23 24 34 27 45 56
12 16 23 23 24 27 34 45 56
12 16 23 23 24 27 34 45 56
12 16 23 23 24 27 34 45 56

Akhir 12 16 23 23 24 27 34 45 56

Searching

Pencarian data sering disebut juga dengan istilah table look-up atau storage and retrieval information, adalah suatu proses untuk mengumpulkan sejumlah informasi di dalam pengingat komputer dan kemudian mencari kembali informasi yang diperlukan.




Sequential Searching

Metoda yang paling sederhana dari sejumlah metoda pencarian adalah metoda pencarian berurutan (sequential searching). Secara singkat metoda ini dapat dijelaskan sebagai berikut :
Dari elemen-elemen yang diketahui, data yang dicari dibandingkan satu persatu sampai data tersebut ditemukan atau tidak ditemukan.

Algoritma Sequential Searching :
1. Baca himpunan data yang diketahui, misalnya sebagai himpunan A dengan N elemen.
2. Baca data yang dicari, misal Data
3. Ada = False
4. For I = 1 to N proses langkah 5

5. If Data = A[I] then
Ada = True ; Posisi = I ; I = N
6. If Ada = False Then
N = N+1 ; A[I] = Data
7. Selesai


Skema Move To The Front

Pada skema pencarian sekuensial move to the front, apabila proses pencarian berhasil, maka record tersebut dipindahkan pada posisi pertama dari daftar tersebut. Record pertama menjadi record kedua dan seterusnya.

Metoda move to the front ini, prosesnya lebih baik apabila menggunakan linked list dibandingkan dengan array. (cari alasannya, mengapa !)


Skema Transposition

Pada skema pencarian sekuensial transposition, apabila prose pencarian berhasil, maka record tersebut dipindahkan pada posisi berikutnya.

Kedua skema di atas (move to the front dan transposition) didasarkan pada kemungkinan proses pencarian apabila elemen data yang di cari akan digunakan dan dicari kembali.

(Cari kelebihan dan kekurangan kedua skema di atas dengan penggambaran secara linked list dan array !)

Pengenalan DAD/DFD

Konsep Dasar

DAD (Diagram Arus Data) adalah suatu modeling tool yang memungkinkan sistem analis menggambarkan suatu sistem sebagai suatu jaringan kerja proses dan fungsi yang dihubungkan satu sama lain oleh penghubung yang disbut alur data.

Fungsi DAD :
1. DAD membantu para analis sitem meringkas informas tentang sistem, mengetahui hubungan antar sub-sub sistem, membantu perkembangan aplikasi secara efektif.
2. DAD berfungsi sebagai alat komunikasi yang baik antara pemakai dan analis sistem.
3. DAD dapat menggambarkan sejumlah batasan otomasi untuk pengembangan alternative sistem fisik.

Komponen-komponen DAD
Ada beberapa simbol yang digunakan dalam DFD yang merupakan karakteristik dari suatu sistem, yaitu :

a. Terminator (External Entity)

Terminator disimbolkan dalam bentuk persegi panjang, yang mewakili entity luar dimana sistem berkomunikasi. Biasanya notasi ini melambangkan orang atau kelompok orang misalnya organisasi diluar sistem, grup, departemen, perusahaan pemerintah, dan berada di luar kontrol sistem yang dimodelkan. Pada sejumlah kasus dapat merupakan sistem lain, sebagai contoh : sistem komputer yang berkomunikasi dengan sistem yang dimodelkan.
b.
Proses


Proses disimbolkan dalam bentuk lingkaran. Melambangkan suatu proses dari data yang dimasukkan ke dalam sistem yang mengubah input menjadi output. Pemberian nama pada proses dengan menggunakan kata kerja transistif (membutuhkan objek).
c.
Nama Data Store Penyimpanan Data (Data Store)


Data store disimbolkan dengan garis sejajar, yang digunakan untuk memodelkan kumpulan data atau paket data. Penyimpanan kadangkala didefinisikan sebagai suatu mekanisme diantara dua proses yang dibatasi oleh jangka waktu tertentu.Data store dapat berupa fie/database yang tersimpan dlm disket, harddisk, dll.

d.
Alur data (Data Flow)
Data Flow disimbolkan dengan tanda anak panah, alur ini mengalir diantara proses, data store, dan terminator. Alur data menunjukkan arus data yang dapat berupa masukkan untuk sistem atau hasil proses sistem.

Ada beberapa konsep alur data yang perlu diperhatikan, yaitu : (Jogiyanto,1999)
 konsep paket dari data (packed of data)
Bila dua atau lebih data mengalir dari suatu sumber yang sama ketujuan yang sama, maka harus digambarkan sebagai suatu alur data tunggal.
 Konsep alur data menyebar (diverging data flow)
Alur data menyebar menunjukkan sejumlah tembusan dari alur data yang sama dari sumber yang sama ketujuan yang berbeda.
 Konsep alur data mengumpul (converging data flow)
Alur data yang mengumpul menunjukkan beberapa alur data yang berbeda dari sumber data yang berbeda bergabung bersama-sama menuju tujuan yang sama.
Panah yang bergerak dari penyimpanan berarti : penggunaan data paket tunggal, paket kelompok dan lain-lain. Sedangkan panah yang bergerak ke penyimpanan mendeskripsikan penulisan, perubahan atau penghapusan satu atau lebih paket yang dimasukkan ke penyimpanan sebagai bagian dari paket lama, atau merupakan paket baru, atau satu atau lebih paket dihapus, atau dipindahkan dari penyimpanan, atau merupakan satu atau lebih paket dimodifikasi atau berubah.

Tingkatan DAD
a. Diagram Konteks
Dimulai dengan diagram konteks yang merupakan level tertinggi (top level), diagram yang menggambarkan hubungan antar system dengan entitas diluar system, merupakan system secara keseluruhan.
Co/:
b. Diagram Nol (Zero)
Merupakan proses-proses yang ada didalam system berupa pecahan dari diagram konteks, diagram nol (zero) merupakan rincian dari diagram konteks.
Co/:












c. Diagram Rinci/detail/primitive
Menggambarkan rincian tiap proses yang terdapat pada diagram nol, dimana proses rinci ini dapat dipecahkan sampai pada proses yang paling rinci.
Co/:



Siklus Hidup Sistem

Definisi
Proses evolusi yang terjadi dalam pengimplementasian sistem atau subsistem Informasi berdasarkan komputer.

Komite SIM
Komite yang bertujuan untuk memberikan pedoman pelaksanaan, pengarahan, dan pengontrolan pada penggunan sumber komputerisasi perusahaan.

Fungsi Komite SIM
 Menetapkan kebijakan guna memastikan dukungan computer terhadap tujuan perusahaan
 Memberikan wewenang dalam memberi persetujuan untuk permintaan dana komputerisasi.
 Mengatasi konflik yang berhubungan dengan prioritas penggunaan computer

Team Proyek
Team yang mengembangkan sistem tertentu untuk memenuhi kebutuhan perorangan atau kelompok dalam organisasi.

Fase-fase Siklus Hidup Sistem :
1. perencanaan
2. Analisis dan Perancangan
3. Implementasi
4. Pengoperasian dan Pengawasan

Fase Perencanaan
Fungsi dari Perencanaan CBIS
- Mendefinisikan lingkup dari proyek
- Mengenali bidang masalah yang potensial
- Mengatur urutan tugas
- Memberikan dasar pengontrolan

Langkah-langkah :
1. Mengenali masalah
= Mengenali karakteristik proyek CBIS :
a. Proyek mempunyai cakupan luas untuk seluruh organisasi.
b. Proyek menghasilkan sistem yang berpengaruh terhadap penampilan jangka panjang perusahaan.
= Inventarisasi masalah dan kebutuhan dari tiap bagian
2. Mendefinisikan Masalah
o Manajer harus mengetahui & memahami masalah yang muncul
o Manajer & spesialis Informasi bekerja sama untuk mendefinisikan masalah.
3. Menyusun tujuan sistem
o Tujuan sistem diuraikan berdasarkan tujuan dari perusahaan
4. Mengidentifikasi Kendala sistem
o Kendala-kendala harus diidentifikasikan sebelum CBIS dimulai.
5. Melakukan studi kelayakan
o Meninjau factor factor yang mempengaruhi sistem agar manajer dapat memecahkan masalah yang telah didefinisikan untuk mencapai tujuan
o Dimensi studi kelayakan : Teknis, ekonomi, resmi, operasional, & terjadwal
6. Membuat proposal proyek
Analisis sistem merekap penemuan yang didapat dalam proposal proyek studi.
Co/: proposal.
1. Pengenalan : Alasan untuk proposal
2. pendefinisian masalah
3. Tujuan sistem dan kendala
4. Alternatif-alternaif yang mungkin
5. Kegiatan-kegiatan yang direkomendasikan : Tugas, sumber kebutuhan, Penjadualan & rekap biaya.
6. Hasil yang sudah diantisipasi Organisasi, operasional,financial
7. Implementasi umum
8. Tujuan studi proyek (tugas,biaya)
9. Kesimpulan.
7. Menyetujui/tidak menyetujui proyek
o Komite SIM memutuskan proyek disetujui/ tidak disetujui
o Hal pokok :
1. Apakah sistem sudah diidentifikasikan
2. Apakah proyek studi yang diajukan merupakan cara terbaik untuk menentukan perancangan CBIS.
8. Menetapkan mekanisme pengontrolan
o Komite SIM menetapkan mekanisme pengontrolan:
1. Apa yg perlu dilakukan
2. Siapa yang akan melakukan
3. Kapan pekerjaan akan dilakukan
o Komite SIM memonitor kemajuan proyek

Fase Analisis dan Perancangan
1. Mengumumkan proyek
Pihak perusahaan perlu menjelaskan sistem computer yang akan diterapkan dapat melalui pertemuan atau presentasi.
2. Menyusun Team Proyek
Team proyek dapat disusun berdasarkan kebutuhan pengembangan sistem
3. Mendefinisikan kebutuhan Informasi
Analis harus mengumpulkan Informasi mengenai kebutuhan Informasi dari pemakai.
Kegiatan-kegiatan yang dilakukan :
o Interview perorangan
o Observasi
o Pencarian record
o Survey
o Peranan Pendukung.
4. mendefinisikan criteria penampilan sistem
o Kriteria penampilan sistem dapat ditentukan berdasarkan kebutuhan Informasi.
5. Merancang subsistem secara lengkap
o Dalam merancang subsistem secara lengkap analis sistem memerlukan alat seperti : DFD, kamus data, dll
o Pendekatan yang banyak dipilih Top Down yaitu pertama kali menentukan proses secara umum lalu melengkapi dengan proses secara khusus.
6. Mengidentifikasi konfigurasi peralatan alternatif
o Analis sistem menentukan konfigurasi peralatan komputerisasi yg memungkinkan program dapat menjalankan pemrosesan secara efisien
7. Mengevaluasi konfigurasi alternative
o Analis sistem bersama dengan manajer mengevaluasi konfigurasi alternative.
8. Menentukan konfigurasi yang terbaik
o Analis sitem bersama dengan manajer mementukan konfigurasi yang terbaik bagi sistem secara keseluruhan.
9. Membuat proposal pengimplementasian proyek
o Analis sistem membuat proposal pengimplementasian proyek yang memberikan kerangka bagi pekerjaan yang dilakukan, keuntungan yang diharapkan dan biaya.
o Format proposal sama dengan proposal proyek studi
10. Menyetujui/tidak menyetujui pengimplementasian proyek
o CIO secara continue memberikan Informasi kemajuan pada komite
o Komite SIM ynag memutuskan persetujuan pengimplementasian proyek.
11. Melengkapi dokumentasi sistem

Fase Implementasi
Langkah-langkah :
1. Merencanakan implementasi
2. Mengumumkan pengimplementasi proyek
3. Mengorganisir staf pelayanan Informasi
4. Menentukan computer
5. Membuat perpustakaan software
6. Membuat database
7. Mendidik peserta dan pemakai
8. Membuat fasilitas fisik
9. Mengganti dengan sistem baru

Fase Pengoperasian
- Tinjauan post implementasi dilakukan, seperti evaluasi sejauh mana sistem tersebut memenuhi criteria penampilan.
- Tinjauan ini diulangi secara continue secara tahunan, sepanjang kehidupan operasi sistem tersebut.
- Bila memerlukan perbaikan atau pergantian, maka siklus hidup diulangi lagi dengan melakukan peningkatan-peningkatan yang menghasilkan sistem baru.


CASE (Computer Aded Software Engineering)
- Software Engineering adalah proses pembuatan dokumentasi an software secara evolusioner.
- Tujuan dari CASE yaitu membantu meringankan analis sitem dalam menganalisis, merancang dan mengimplementasikan sistem.
- Keuntungan CASE yaitu menghemat waktu analis sistem dalam mengembangkan sistem.

Prototyping
Penggambaran ide kepada pengembang dan calon pemakai mengenai bagaimana sistem dalam bentuk lengkap akan berfungsi.

Langkah-langkah Prototyping :
1. Mengidentifikasikan kebutuhan pemakai
2. Mengembangkan prototip
3. Mengevaluasi prototip
4. Menentukan apakah prototip tsb dapat diterima
5. Merevisi prototip
6. Menggunakan prototip atau menggantinya dengan sitem operasional.

PENGENALAN IRM

• Informasi merupakan salah satu sumber utama dari perusahaan & dapat dikelola seperti halnya sumber lain.
• IRM merupakan metodologi siklus hidup yang digunakan untuk menciptakan sistem yang menghasilkan informasi yang berkualitas.

Definisi
IRM adalah konsep manajemen sumber informasi yang mengenal informasi sebagai sumber organisasional utama yang harus dikelola dengan tingkat kepentingan yang sama seperti sumber organisasional dominan lain seperti orang, keuangan, peralatan & manajemen.

Tipe-tipe dari sumber informasi :
Informasi umum, informasi dari para spesialis, para pemakai, fasilitas-fasilitas, database, software, hardware.

Informasi sebagai sumber strategis
• Informasi merupakan salah satu sumber yang dapat menghasilkan keuntungan kompetitif.
Caranya : Dengan memfokuskan pada pelanggan & membangun sistem informasi yang bisa meningkatkan arus informasi antara perusahaan dan elemen lingkungannya.
• Arus Informasi antara perusahaan dan pelanggan :
- Informasi yang menerangkan kebutuhan produk
- Informasi yang menerangkan penggunaan produk
- Informasi yang menerangkan kepuasan produk

Keuntungan kompetitif dicapai apabila :
 Terjalinnya hubungan yang baik antara elemen-elemen
 Diperlukan arus informasi dengan semua elemen-elemen lingkungannya
 Pentingnya efisiensi operasi internal

IOS (Interorganizational Information System)
 IOS merupakan sistem informasi yang digunakan oleh lebih dari satu perusahaan
 IOS fasilitator bertugas : menunjukkan para peserta bahwa dengan bekerja dalam sistem tsb mereka akan memperoleh keuntungan kompetitif.

CIO (Chief Information Officer)
 Kepala bagian Informasi turut berperan dalam pembuatan keputusan penting dalam perusahaan & memberi laporan langsung ke eksekutif.
 Sebutan lain dari CIO : Direktur SIM, Vice President SIM
 Tugas CIO :
- Mempelajari bisnis & teknologinya
- Menjalin kemitraan dengan unit bisnis & manajemen
- Fokus memperbaiki proses bisnis dasar
- Memperkirakan biaya sistem informasi dalam bisnis
- Membangun kredibilitas dengan mengirim service yang terpecaya.

SPIR ( Strategic Planning for Information Resources)
 Perencanaan strategic merupakan perencanaan yang paling memerlukan perhatian. Karena memerlukan perkiraan yang matang untuk dapat mencapai tujuan organisasi pada masa sekarang dan akan datang.
 Gagasan utama dari SPIR adalah adanya hubungan antara tujuan perusahaan secara keseluruhan dengan sumber-sumber informasi. Sumber-sumber informasi harus digunakan untuk pencapaian tujuan.
 Perencanaan yang digunakan Top Down :
Langkah pertama adalah menentukan tujuan organisasi kemudian direncanakan aktifitas setiap unit perusahaan.
 Pendekatan-pendekatan Top Down :
1. BSP IBM (Business System Planning)
 Pendekatan studi total
 Setiap manajer diinterview untuk menentukan kebutuhan informasi, kemudian sistem diimplementasikan sesuai dengan kebutuhan informasi.
2. CSF (Critical Success Factor)
 Perencanaan sumber informasi dengan mengidentifikasi kunci keberhasilan yang nenentukan keberhasilan dan kegagalan
3. Transformasi susunan strategis
 Misi, Tujuan, strategi dari perusahaan merupakan dasar tujuan, batasan, strategi perencanaan sistem.
 Proses pentransformasian dari susunan strategi organisasi menjadi susunan strategi SIM dinamakan proses perencanaan strategi SIM
Strategi Organisasi Strategi SIM






Proses Perencanaan Strategi SIM

Usaha-usaha yang diperlukan untuk mencapai IRM yang sukses adalah :
 Perusahaan berusaha untuk menggunakan informasi untuk mencapai keuntungan kompetitif.
 Para eksekutif harus menyadari bahwa pelayanan informasi sebagai area fungsional.
 Para eksekutif harus mengakui keberadaan CIO
 Para eksekutif harus memasukkan sumber-sumber informasi dalam perencanaan strategi.
 Adanya perencanaan strategi formal untuk sumber-sumber informasi
 Perencanaan strategis juga mengatur pemakai komputer.

Sistem Informasi Akuntansi

 Pengolahan Data (DP) adalah manipulasi atau transformasi symbol-simbol seperti angka dan abjad untuk tujuan meningkatkan kegunaannya.
 Istilah pengolahan transaksi makin banyak digunakan untuk menggambarkan pengolahan data yang diterapkan pada data bisnis
 SIA merupakan pelaksana tugas pengolahan data perusahaan yaitu mengumpulkan data, menjelaskan kegiatan perusahaan, mengubah data menjadi informasi, serta menyediakan informasi bagi pemakai didalam maupun diluar perusahaan.
 Tugas Pengolahan Data :
1. Pengumpulan Data, sistem pengolahan data mengumpulkan data yang menjelaskan setiap tindakan internal perusahaan dan transaksi lingkungan perusahaan.
2. Manipulasi Data, meliputi :
- Pengklasifikasian
- Pengurutan (sorting)
- Perhitungan
- Pengikhtisaran
3. Penyimpanan Data, sebagian besar data dalam database adalah akuntansi.
4. Penyiapan Dokumen, output pada SIA dipicu oleh dua hal :
a. Oleh suatu tindakan, output dihasilkan jika sesuatu terjadi
b. Oleh jadwal waktu, output dihasilkan pada suatu saat tertentu

 Karakteristik SIA
1. Melaksanakan tugas yang diperlukan
2. Berpegang pada prosedur yang relative standar
3. Menangani data yang rinci
4. Terutama berfokus historis
5. Menyediakan informasi pemecahan masalah minimal

Senin, 31 Mei 2010

Madrid, Jalan Mourinho Sebelum ke MU?

LONDON, KOMPAS.com — Hari ini Jose Mourinho akan datang ke Real Madrid untuk diperkenalkan sebagai pelatih baru di klub tersebut. Namun, sebelum kontraknya selesai dalam empat tahun, Mourinho mungkin saja pindah ke Manchester United, tim yang pernah ia rindukan.

Mourinho memang pernah mengakui bahwa ia berniat menggantikan Sir Alex Ferguson sebagai "The Gaffer" di Old Trafford. Namun, Mourinho pun mengakui bahwa keinginan besar itu tak akan terwujud sebelum Ferguson merasa masanya telah usai.

Sampai saat ini setidaknya Ferguson masih ingin membawa MU menjadi juara di musim 2010/2011. Karena itu, tidak ada jalan lain bagi Mourinho selain mencari jalan memutar sebelum mendarat ke Manchester.

Banyak jalan menuju Roma, pun banyak cara menjadi pelatih MU. Slogan ini barangkali cocok untuk menggambarkan skenario panjang "The Special One" untuk kembali ke Liga Primer. Sudah menjadi rahasia umum bila pelatih asal Portugal tersebut punya hasrat besar untuk kembali merasakan atmosfer Liga Inggris.

Sebagai pencinta Chelsea, tempat ia menjuarai liga di negara itu, wajar jika Mourinho ingin pulang ke Inggris. Namun, bukankah "Theatre of Dreams" milik MU juga berada di Inggris?

"Saya akan mempertimbangkan pergi ke Manchester United, tetapi United harus mempertimbangkan apakah mereka menginginkan saya untuk menggantikan Sir Alex Ferguson. Jika mereka mau, tentu saja (saya mau)," kata Mourinho pada September tahun lalu.

Dengan kontrak empat tahun bersama "El Real", Mourinho akan cukup aman meninggalkan Santiago Bernabeu setelah tahun kedua. Di waktu itu, ia berharap sudah sukses membawa Madrid menjadi raja Eropa untuk ke-10 kali. Jika itu terjadi, momennya akan sangat tepat karena usia Ferguson akan membuatnya siap merelakan jabatannya berpindah tangan.

Ferguson adalah muara segala desas-desus pelatih masa depan MU. Dialah yang akan memberikan jawaban kepada dewan klub tentang siapa yang layak memangku jabatan nakhoda MU pada masa datang.

Ketua Eksekutif MU David Gill mengakui, tidak banyak pelatih yang bisa disebut menjadi bakal pelatih "Setan Merah". Mourinho bisa jadi masuk dalam skala kecil itu.

"Dia (Mourinho) bekerja sangat baik, bukan?" jawab Gill terhadap pertanyaan Mirror Football soal kemungkinan Mourinho sebagai suksesor Ferguson. "Dia jelas-jelas memiliki sesuatu dalam dirinya. Dia seorang juara," katanya.

Jawaban Gill ini memang multitafsir, bisa ya, bisa juga tidak. Satu hal yang jelas adalah pernyataannya tentang kualitas Mourinho sebagai juara. Pria kelahiran Setubal, 47 tahun lalu, itu telah memenangi 18 piala penting dalam sembilan tahun terakhir. Titel membanggakan yang diraihnya adalah triplete bersama Inter Milan, termasuk titel Liga Champions musim ini.

milan berburu pemain ke spanyol

AC Milan mulai berburu pemain untuk musim depan. Kali ini Wakil Presiden Milan Adriano Galliani bergerilya mencari pemain dari Liga Spanyol.

Kedatangan Galliani ke Madrid, Minggu (30/5/2010) malam, itu diyakini untuk membuka pintu transfer beberapa pemain sekaligus. Targetnya adalah pemain-pemain Real Madrid, seperti Royston Drenthe, Fernando Gago, Guti, dan Rafael van der Vaart.

"I Rossoneri" juga akan kembali mendekati Luis Fabiano, pemain Sevilla yang urung pindah ke San Siro musim ini. Pada bursa transfer pemain tahun lalu, Milan hampir mendapatkan striker Brasil tersebut. Namun, Sevilla mematok harga 20 juta euro dan itu terlalu mahal bagi Milan. Milan kemudian pindah haluan dan membeli Klaas-Jan Huntelaar dari Madrid.

Tidak menutup kemungkinan jika Galliani merapat ke Barcelona untuk membujuk Zlatan Ibrahimovic. Striker asal Swedia itu masih merupakan pemain dambaan setiap tim meski gajinya banyak dikeluhkan klub-klub di Italia.

Di luar Spanyol, pemain lain yang menjadi target potensial Milan adalah defender Benfica, David Luiz. Milan cukup dekat dengan tim asal Portugal itu karena mantan pemain mereka, Manuel Rui Costa, menjadi Direktur Umum Benfica. (FBI)

Sabtu, 29 Mei 2010

LINEAR LIST

Linear List adalah suatu struktur data yang merupakan himpunan terurut. Misal didefinisikan suatu linear list A yang terdiri atas T buah elemen sebagai berikut :

A = [a1, a2, .........., aT]

Jika T = 0, maka A dikatakan sebagai “Null List”.

Suatu elemen dari sembarang posisi pada linear list A dapat dihilangkan. Sebaliknya, suatu elemen baru dapat dimasukkan ke dalam list dan dapat menempati sembarang posisi pada list tersebut. Jadi suatu linear list dapat berkurang atau bertambah setiap saat.