Kamis, 26 April 2012

BAB 1
Pengenalan Visual Basic 6
Visual Basic 6 merupakan salah satu tool untuk pengembangan aplikasi yang
banyak diminati oleh orang. Di sini Visual Basic 6 menawarkan kemudahan dalam
pembuatan aplikasi dan dapat menggunakan komponen-komponen yang telah
disediakan. Untuk memulai Visual Basic 6 anda perlu menginstall Visual Basic 6.0.
Program ini biasanya dalam satu paket dengan Visual Studio 6.0.
Dengan menggunakan Visual Basic 6 kita bisa menghasilkan berbagai macam
jenis program. Dari aplikasi yang mengintegrasikan database, jaringan, office
automation, dan web application. Di sini kita akan membahasa dasar-dasar
pemrograman Visual Basic dengan sedikit tentang database.
Pada layar awal akan muncul tampilan seperti di atas. Visual Basic menyediakan
banyak jenis modul aplikasi. Untuk memulai program standar pilihlah Standard
EXE, kemudian klik pada tombol Open.
Setelah itu akan muncul tampilan seperti berikut ini. Sekarang kita akan mengenal
bagian-bagian dari IDE ( Integrated Development Environment ) yang kita gunakan.

Form Designer
Pada form design ini adalah tempat kita merancang user interface ( antar muka
pemakai ). Untuk menampilkan layar ini dapat mengklik pada tombol Design View
atau dengan menekan tombol Shift + F7. Sedangkan untuk ke layar coding dapat
menekan tombol F7.
Menu Toolbar
Menu standar pada Windows, dapat digunakan untuk membuka project, menyimpan
project, menjalankan project, dan sebagainya.
Toolbox
Di sinilah tempat komponen-komponen yang disediakan untuk merancang user
interface. Masing-masing komponen memiliki cirri dan kegunaan masing-masing.
Komponen kita gunakan sesuai kebutuhan kita.
Project Explorer
Di sini adalah struktur project yang sedang kita kerjakan. Suatu project dapat terdiri
dari beberapa form.

Properties
Pada kolom ini menampilkan Properties dari komponen yang sedang aktif. Property
adalah data-data atau karakteristik yang dimiliki oleh suatu objek komponen.
Sekarang kita akan membuat program sederhana.
Pilihlah Label pada Toolbox yang menggunakan simbol . Kemudian drag ke form
design. Kemudian pada kolom Properties ubah property Caption untuk mengubah
teks yang tertulis pada layar.
Berikut ini adalah property yang kita setting :
Nama Property Value Keterangan
(Name) lblJudul Nama dari objek
Alignment 2 – Center Untuk mengatur agar teks rata tengah
Caption Welcome Untuk mengatur teks yang terlihat pada layar
Font Pilih jenis tulisan Untuk mengatur jenis tulisan, ukuran dan sebagainya.
Rancanglah form anda menjadi seperti berikut ini. Komponen yang akan kita
gunakan adalah Label, TextBox, dan Command.

Namailah tiap-tiap komponen seperti di atas.
cmdTampil
Nama Property Value Keterangan
Caption &Tampil Mengatur teks pada tombol.
cmdReset
Nama Property Value Keterangan
Caption &Reset Mengatur teks pada tombol.
cmdExit
Nama Property Value Keterangan
Caption E&xit Mengatur teks pada tombol.
txtNama
Nama Property Value Keterangan
Text Mengosongkan teks pada textbox
Tanda & pada Caption Command menyatakan Mnemonic untuk tombol tersebut.
&Tampil akan menghasilkan pada tombol teks di mana huruf T nya bergaris bawah.
Penekanan tombol pada tombol ini dapat menggunakan kombinasi tombol Alt + T.
Demikian pula dengan yang lainnya.

Pemrograman pada Visual Basic menggunakan konsep event-driven, di mana suatu
prosedur dijalankan pada saat terjadi suatu kejadian tertentu. Misalkan kita ingin
membuat pada saat tombol Exit diklik maka langsung keluar dari program. Caranya,
kliklah dua kali pada tombol Exit dan akan membawa anda ke layar coding.
Pada bagian di atas menyatakan bahwa pada saat cmdExit di click maka akan
langsung keluar dari program. Untuk menjalankan aplikasinya anda dapat menekan
tombol F5 untuk run.
Kemudian kita akan membuat coding untuk tombol Reset dan Tampilnya.
Untuk tombol Reset kita akan membuat pada saat tombol Reset ditekan maka
txtNama akan dikosongkan. Perintah untuk mengosongkannya adalah dengan
memberi nilai pada Text nya dengan string kosong. Pada VB 6 anda dibantu untuk
tidak perlu mengingat semua property yang ada, karena pada saat anda mengakses
suatu objek maka akan dimunculkan propertynya.
Buatlah coding untuk ketiga tombol di atas.


Pada cmdTampil diklik kita masukkan coding dengan menggunakan MsgBox, di mana
akan menampilkan sebuah kotak dialog pesan.
Kita kembali ke form design ( tekan Shift + F7 ). Kemudian kita bisa merancang
tampilan dari program dengan mengatur property dari form yang ada. Rancanglah
user interface dengan mengganti warna background dan warna teks, jenis teks dan
sebagainya.
Form
Nama Property Value Keterangan
BackColor Warna lain Mengatur warna background dari form
Label
Nama Property Value Keterangan
BackStyle 0 – Transparent Agar label bersifat transparan dan warna backgroundnya
mengikuti warna form.
Command
Nama Property Value Keterangan
BackColor Warna lain Mengatur warna background untuk ketiga tombol yang
ada
Style 1 – Graphical Untuk memberikan mode Graphical pada button,
sehingga dapat menampilkan warna dan gambar.
Variabel
Variabel digunakan untuk menampung nilai sementara di memori.
Cara mendeklarasi variabel adalah sebagai berikut:
Dim [nama variabel] As [tipe data] atau
Public [nama variabel] As [tipe data] atau
Private [nama variabel] As [tipe data]

Public akan Membuat suatu variable dapat diakses dari segala tempat di dalam
Project, sedangkan Dim dan Private akan Membuat suatu variable yang hanya dapat
diakses di dalam module dimana variable tersebut dideklarasikan.
Tipe Data
Tipe data memiliki ciri-ciri tersendiri, ada yang bersifat numeric, karakter, dan
sebagainya. Masing-masing memiliki batas-batas nilai yang beraneka ragam.
Dim I As Integer
I = 50

BAB 2
Control Flow
Pada bab ini akan mempelajari tentang control flow yaitu struktur pemilihan dan
perulangan.
Rancanglah terlebih dahulu form di atas. Kita akan membuat program sederhana
untuk menghitung nilai akhir. Nilai yang diketahui adalah TM, Mid dan Final. Rumus
penilaiannya kita asumsikan sebagai berikut ini.
Nilai Akhir = 10% TM + 40 % Mid + 50% Final
Pada saat tombol hitung ditekan, akan muncul Nilai Akhirnya dan Grade yang
ditentukan sebagai berikut
Nilai Akhir Grade
<55 E
55-64 D
65-74 C
75-84 B
Sisanya A

Struktur Pemilihan
Lanjutkanlah program di atas sehingga pada saat tombol Hitung ditekan, program
akan mengecek ketiga textbox tersebut tidak boleh kosong. Jika kosong tampilkan
pesan agar user mengisi semua nilai. Jika semua diisi baru hitung nilai akhir dan
munculkan gradenya.
Struktur lain dari pemilihan adalah menggunakan struktur select case.
Cobalah tampilkan grade berdasarkan nilai akhir dengan menggunakan struktur
Select Case.
If kondisi Then
…….
…….
End If
If kondisi Then
…….
…….
Else
…….
…….
End If
If kondisi Then
…….
…….
ElseIf kondisi Then
…….
…….
End If
Select Case
Case 0
…..
Case 1,3
…..
Case 5 to 10
…..
Case Is > 10
…..
Case Else
…..
End Select

Jawab
Struktur Perulangan
Sama
Dengan
Perintah di atas akan melakukan perulangan sebanyak 10 kali. Pada perintah
perulangan di atas STEP bersifat optional dan dapat dihilangkan.
Step menunjukkan pertambahan yang dilakukan di mana defaultnya adalah 1.
Untuk nilai dari besar ke kecil gunakan nilai step yang negatif.
Dim NilaiTm As Integer
Dim NilaiMid As Integer
Dim NilaiFinal As Integer
Dim NilaiAkhir As Integer
Dim Grade As String
Private Sub cmdHitung_Click()
NilaiTm = Val(txtTM.Text)
NilaiMid = Val(txtMid.Text)
NilaiFinal = Val(txtFinal.Text)
NilaiAkhir = NilaiTm * 0.2 + NilaiMid * 0.3 + NilaiFinal * 0.5
Select Case NilaiAkhir
Case Is < 55
Grade = "E"
Case 55 To 64
Grade = "D"
Case 65 To 74
Grade = "C"
Case 75 To 84
Grade = "B"
Case Else
Grade = "A"
End Select
lblNA = NilaiAkhir
lblGrade.Caption = Grade
End Sub
Dim i As Integer
For i = 1 to 10 STEP 1
……..
Next
Dim i As Integer
For i = 1 to 10
……..
Next
Dim i As Integer
For i = 10 to 1 STEP -1
……..
Next

Perintah random
Untuk membuat sebuah angka yang random, kita menggunakan perintah
rnd()*<Batasan angka random> .Untuk menghasilkan hasil random yang selalu
berbeda pada setiap kali pengacakan, kita menggunakan perintah Randomize().
contoh
Maka nilai i akan berkisar antara 0-99 secara acak.
Rancanglah pada layar seperti berikut ini.
Method
AddItem Untuk menambahkan item
RemoveItem Untuk meghapus item pada index tertentu
Clear Untuk menghapus semua item
Property
ListCount Mendapatkan jumlah item
ListIndex Mendapatkan index item yang terpilih. Jika tidak ada yang
terpilih nilainya adalah -1.
Struktur perulangan lainnya adalah sebagai berikut
i = 0
Do
………
i = i + 1
Loop Until i = 10
i = 0
Do
………
i = i + 1
Loop While i <= 10
i = 0
Do While i <= 10
………
i = i + 1
Loop
Dim I As integer
Randomize()
i=rnd()*100

Struktur perulangan bermacam-macam dan dapat digunakan sesuai kebutuhan.
Buatlah program untuk memilih tanggal, bulan, dan tahun. Masing-masing bulan
berbeda jumlah harinya, dan cek juga untuk tahun kabisat, dan pada saat mulai,
tanggal bulan dan tahunnya random.
i = 0
Do Until i = 10
………
i = i + 1
Loop
i = 0
While i <= 10
………
i = i + 1
Wend

Bab 4
Sub dan Function
Dalam pemrograman kita dapat memecah perintah-perintah program dalam
prosedur dan fungsi tertentu. Hal ini memudahkan dalam pemrograman karena lebih
terstruktur, dan prosedur-prosedur yang ada dapat dipakai berulang kali,
memudahkan untuk maintenance program, lebih mudah untuk mengidentifikasi bug.
Rancanglah form di atas terlebih dahulu. Kita akan membuat sub untuk inisialisasi
nilai-nilai pada Listbox. Method dan property pada ListBox hampir sama. Fungsi
untuk menambah atau mengurangi item masih sama.

Kita dapat membuat Sub sendiri. Di sini kita beri nama Inisialisasi. Pada saat Form
Load kita dapat langsung memanggil Sub tersebut dan isi sub tersebut langsung
dieksekusi.
Pada saat pemanggilan Sub kita bisa menambahkan parameter.
Pada program di atas Sub Inisialisasi kita tambahkan satu buah parameter bertipe
integer. Pada saat pemanggilan prosedur tersebut kita perlu menyertakan sebuah
integer seperti pada gambar.
Selain Sub kita juga dapat membuat Function. Perbedaannya adalah function
memiliki suatu nilai yang dikembalikan. Misalkan kita membuat fungsi bertipe
Boolean yang akan mengecek apakah sebuah angka ada di dalam item-item di dalam
suatu listbox.
Pada program di atas fungsi tersebut digunakan pada saat akan memasukkan item
pada listbox, dicek terlebih dahulu apakah angka sudah ada, angka hanya akan
ditambahkan ke listbox jika belum ada.

Buatlah fungsi untuk menghitung total angka yang terdapat pada kedua listbox,
tampilkanlah pada kedua label total di bawah masing-masing listbox.
kita akan mempelajari komponen-komponen lanjutan dalam Visual Basic 6.0. Kita
akan membahas Check, Option, Frame, dan InputBox.
Pada program di atas user dipersilahkan untuk mengisi namanya, jenis kelaminnya
laki-laki atau perempuan, kemudian memilih jenis kamar yang diinginkan, kemudian
memilih fasilitas apa saja yang diinginkan.
Tiap kamar memiliki harga yang berbeda-beda. Untuk pilihan jenis kamar gunakan
Option, di sini user hanya dapat memilih salah satu saja. Sedangkan untuk fasilitas
dapat menggunakan Check, di mana user dapat tidak memilih dan bebas untuk
memilih yang mana saja.

Kita asumsikan harga kamar adalah sebagai berikut :
Jenis Kamar Harga
Standard 150000
Suite 250000
Silver 450000
Jenis Fasilitas Harga
Sauna 50000
Fitness 75000
Massage 150000
Kemudian tampilkan harga total pembayarannya. Dan minta input pembayaran
dengan menggunakan inputbox. Validasilah agar pembayaran mencukupi total
pembayaran jika terdapat uang kembali tampilkan jumlah uang kembaliannya. Dan
ucapkan terima kasih. Setelah itu resetlah kembali form ke keadaan semula sebelum
diisi.

Rabu, 11 April 2012

TAHAPAN PERANCANGAN SISTEM

1.    MERANCANG SPESIFIKASI TEKNIS KOMPONEN SISTEM INFORMASI
    Tujuan:
    Untuk melengkapi rancangan struktural sistem usulan dan sarana pendukung sistem yang nantinya akan diwujudkan secara teknis.

    Kegiatan:
    ►    Merancang bentuk keluaran / output
    ►    Merancang bentuk masukan / input
    ►    Merancang konfigurasi computer

    Kesimpulan:
    Menghasilkan suatu acuan teknis dari bentuk-bentuk keluaran maupun bentuk-bentuk masukkan yang akan diwujudkan dalam bentuk dokumen-dokumen dasar serta spesifikasi perangkat keras (hardware)


2.    MEMBUAT PROGRAM APLIKASI ATAU PERANGKAT LUNAK SISTEM
    Tujuan:
    Merancang spesifikasi perangkat lunak atau software untuk membantu proses pengolahan data di dalam sistem yang akan diusulkan.

    Kegiatan
    ►     Menyiapkan data awal & spesifikasi file
    ►     Membuat coding program
    ►     Melakukan test program atau Quality Assurance
    ►    Membuat dokumentasi program (Back UP)

    Kesimpulan:
    Suatu bentuk rekayasa perangkat lunak atau program aplikasi yang dapat membantu serta mendukung fungsi operasi sistem yang akan dirancang & di implementasikan.


3.    MELAKUKAN PELATIHAN KEPADA PEMAKAI SISTEM
    Tujuan
    Untuk memberikan pedoman serta mengoptimalkan sumber daya manusia (brainware) yang terlibat langsung di dalam operasional sistem yang akan di rancang & di implementasikan

    Kegiatan
    ►    Mempersiapkan materi pelatihan tentang sistem baru
    ►    Melaksanakan pelatihan sistem secara teori dan praktek
    ►    Membuat buku petunjuk pengoperasian sistem
   
    Kesimpulan
    Menghasilkan suatu petunjuk teknis (juknis) tentang pengoperasian sistem baru serta pendayagunaan tenaga pelaksana system (user) yang kompeten & berkualitas
    Spesifikasi teknis yang harus dibuat pada tahap rancangan sistem merupakan komponen sistem informasi yang harus dikomunikasikan kepada pemakai sistem (user). Adapun komponen sistem informasi yang harus dibuat pada tahap rancangan sistem ini adalah sebagai berikut :
    a.    Merancang Model Sistem
    b.    Merancang Output Sistem
    c.    Merancang Input Sistem
    d.    Merancang File & Database
    e.    Merancang Program
    f.    Merancang Jaringan

Rabu, 21 Maret 2012

8 Aturan emas dalam pembuatan web
1.    Konsistensi
Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah yang digunakan pada prompt, menu, serta layar bantuan.
Evaluasi :
Konsistensi pada website USNI dapat kita lihat pada urutan tindakan, perintah, menu serta layar bantuan  mempunyai bentuk konsisten dengan warna, bentuk yang sama pada setiap menunya bahkan ketika kita masuk ke halaman lain warna dan bentuknya tetap sama pada tempatnya.

2.    Shortcut
Ada kebutuhan dari pengguna yang sudah ahli untuk meningkatkan kecepatan interaksi, sehingga diperlukan singkatan, tombol fungsi, perintah tersembunyi, dan fasilitas makro.

Evaluasi:
Dalam website USNI terdapat beberapa tombol fungsi ataupun cara cepat untuk menuju halaman yang diinginkan sehingga dapat mempercepat dan memudahkan bagi para pengguna.

3.    Memberikan Umpan Balik yang Informatif
Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan balik. Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat diberikan umpan balik yang sederhana. Tetapi ketika tindakan merupakan hal yang penting, maka umpan balik sebaiknya lebih substansial. Misalnya muncul suatu suara ketika salah menekan tombol pada waktu input data atau muncul pesan kesalahannya.

Evaluasi:
Pada website USNI belum ada umpan balik yang memunculkan suara atau pesan kesalahan, bahkan ketika kita ingin men-download materi seminar tidak muncul kotak yang memberikan informasi apakah kita ingin membuka saja file tersebut atau men-save pada komputer kita. Menu download hanya untuk mendownload kalender akademik.

4.    Merancang Dialog untuk Menghasilkan Suatu Penutupan
Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian awal, tengah, dan akhir. Umpan balik yang informatif akan memberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya.

Evaluasi:
Dalam website USNI menu dialog hanya ada di menu pendaftaran calon mahasiswa baru dan belum diorganisir dalam kelompok sehingga kita tidak dapat mengisi pendapat pada topik-topik tertentu.

5.    Memberikan Penanganan Kesalahan yang Ringan
Sedapat mungkin sistem dirancang sehingga pengguna tidak dapat melakukan kesalahan fatal. Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme yang sedehana dan mudah dipahami untuk penanganan kesalahan.

Evaluasi:
Adanya Penanganan Kesalahan yang Ringan Dalam website USNI, dapat kita lihat pada saat kita salah memasukan password ataupun NIM dan telah di submit, kita tidak akan bisa masuk ke layar “home” USNI tapi tetap pada layar awal website namun terdapat tambahan penulisan di layar utama tadi yang menginformasikan bahwa password atau NIM yang kita masukkan salah.

6.    Mempermudah untuk kembali ke tindakan sebelumnya
Hal ini dapat mengurangi kekuatiran pengguna karena pengguna mengetahui kesalahan yang dilakukan dapat dibatalkan; sehingga pengguna tidak takut untuk mengekplorasi pilihan-pilihan lain yang belum biasa digunakan.

Evaluasi:
Dalam website USNI, fungsi ini tidak kita temukan. Namun kita tetap dapat mengklik tombol “back” yang disediakan oleh browser bila kita kita ingin kembali ke menu sebelumnya.

7.    Adanya tempat pengendali internal (Locus of Control)
Pengguna ingin menjadi pengontrol sistem dan sistem akan merespon tindakan yang dilakukan pengguna daripada pengguna merasa bahwa sistem mengontrol pengguna. Sebaiknya sistem dirancang sedemikan rupa sehingga pengguna menjadi inisiator daripada responden.

Evaluasi:
Dalam hal ini, tidak ditemukan pada website USNI. Karena tidak ada menu untuk mengedit data ataupun merubah password sehingga ketika ada perubahan data atau ketika ingin merubah password pengguna tidak dapat berbuat apa-apa.

8.    Membantu dalam Mengurangi Kesalahan Ingatan (Ingatan Jangka Pendek)
Keterbatasan ingatan manusia membutuhkan tampilan yang sederhana atau banyak tampilan halaman yang sebaiknya disatukan, serta diberikan cukup waktu pelatihan untuk kode, mnemonic, dan urutan tindakan.

Evaluasi:
Dalam hal ini, pembuatan website USNI diusahakan untuk mudah dimengerti sehingga bagi pengguna awam ataupun pengguna yang masih baru bisa dapat mudah belajar dan mengingat dengan cepat.

Minggu, 11 Maret 2012

ini buat OOP, OOA, OOD

Object Oriented Analysis(OOA)

1.    Sejarah Objct Oriented Analisi(OOA)
Object-oriented analysis (OOA) telah ada sejak 1988. orang yang telah memakai metode ini adalah Shlaer-Mellor, Jacobson, Coad-Yourdon, and Rumbaugh. Hasil sukses dalam penerapan metode ini dibuktikan di AT & T Bell Labs. AT & T Bell Labs menerapkan metode ini dalam project besar yang disebut Call Attempt Data Collection System (CADCS). Dari proyek tersebut didapat bahwa penggunaan metode ini mengurangi 8% dari total waktu untuk spesifikasi kebutuhan project dan pengurangan 30% staff effort.
Ada hubungan yang sangat erat antara Object-oriented analysis dan teknologi object oriented yang lain. Diantaranya yaitu Object-Oriented Database, Object-Oriented Design, and Object-Oriented Programming Languages. Dalam penerapannya semua metode itu digunakan secara keseluruhan dalam project disebut dengan metode object-oriented. Jika hanya melakukan analisis saja dengan metode object-oriented dan tidak diikuti dengan design dan programming dengan metode yang sama tentunya akan menambah kesulitan dalam pengambangannya. Dalam kenyataannya ketiga metode diatas tidak bisa dilepaskan satu sama lain. Karena memang untuk mendapatkan hasil yang maksimal dari metode object-oriented, ketiganya harus ada. Karakteristik dari object-orientedcteristics of
1.    Abstraction and Classification: Pendefinisian sebuah class (object parent) yang memuat seluruh informasi dasar sebuah object meliputi semua informasi dasar calam object lain.
2.    Encapsulation and Information Hiding: Bisa disebut pengkapsulan. Internal proses suatu object/class yang tidak diperlukan untuk diketahui detailnya. Focus pada fungsi yang telah di jalankan oleh masing-masing object.
3.    Polymorphism and Inheritance: Kemampuan untuk membagi properties yang dimiliki dengan inheritance (penurunan object). Juga memungkinkan untuk menambah atau mengurangi properties yang didapat dari pewarisan sifat object.
    Pendekatan analisa object-oriented:
1.    Sistem / software dialokasikan menggunakan strategi formal, yaitu dengan memakai bahasa untuk mendeskripsikan. Strategi formal dapat dibuat dalam bentuk paragraph tunggal dengan tatabahasa yang benar.
2.    Objek diberi garis bawah (kata benda, atau anak kalimat yang bersifat sebagai kata benda) dan kemudian dimasukkan ke dalam tabel. Sinonim dicatat. Jika objek diperlukan untuk mengimplementasikan status solusi, maka object tersebut merupakan bagian dari “solution space”. Jika objek hanya diperlukan untuk mendeskripsikan status solusi, maka objek tersebut merupakan bagian dari “problem space”.
3.    Atribut dari objek diidentifikasi dengan menggarisbawahi semua kata sifat dan kemudian menghubungkannya dengan kata benda (objek) masing- masing.
4.    Operasi ditetapkan dengan menggarisbawahi semua kata kerja, anak kalimat kata kerja dan predikat, serta menghubungkan setiap operasi dengan objek yang sesuai.
5.    Attribut dari operasi diidentifikasikan dengan menggarisbawahi semua kata keterangan dan mengasosiasikan mereka dengan operasi ( kata kerja ) masing-masing.
    Menejemen proyek perangkat lunak berorientasi objek:
Menejmen proyek perangkat lunak moderndapat dibagi kedalam aktivitas – aktivitas berikut:
1.    Membangun kerangka kerja proses yang umum untuk proyek
2.    Membangun kerangka kerja dan matrik historis unutk membangun usaha dan estimasi waktu
3.    Menentukan produk kerja dan kejadian penting yang membuat kemajuan dapat di ukur
4.    Memetukan checkpoint bagi jaminan kualitas dan kontrol
5.    Mengatur perubahan yang terjadi pada saat proses berjalan
6.    Menelusuri, memonotori, dan mengontrol kemajuan








    Contoh pendefinisian object











2.    Pengertian Dari Object Oriented Analysis(OOA)
a.    Konsep objek
Obyek dalam ‘software analysis & design’ adalah sesuatu berupa konsep (concept), benda (thing), dan sesuatu yang membedakannya dengan lingkungannya. Secara sederhana obyek adalah mobil, manusia, alarm dan lainlainnya. Tapi obyek dapat pula merupakan sesuatu yang abstrak yang hidup didalam sistem seperti tabel, database, event, system messages. Obyek dikenali dari keadaannya dan juga operasinya. Sebagai contoh sebuah mobil dikenali dari warnanya, bentuknya, sedangkan manusia dari suaranya. Ciri-ciri ini yang akan membedakan obyek tersebut dari obyek lainnya. Alasan mengapa saat ini pendekatan dalam pengembangan software dengan object-oriented, pertama adalah scalability dimana obyek lebih mudah dipakai untuk menggambarkan sistem yang besar dan komplek. Kedua dynamic modeling, adalah dapat dipakai untuk permodelan sistem dinamis dan real time.
    Lima prinsip dasar untuk membangun model analisis
a.    Domain Informasi dimodelkan
b.    Fungsi modul digambarkan
c.    Tingkah laku model direpresentasikan
d.    Model di partisi untuk mengekpos detail yang lebih besar
e.    Model awal mempresentasikan inti masalah sementara model selanjutnya memberikan detail implementasi

b.    Pengertian OOA
Pada dasarnya kebanyakan metode analisis system memisahkan antara data dan proses. Walaupun SA dan IE telah melakukan usaha untuk menyelaraskan keduanya, namun usaha tersebut belum sepenuhnya berhasil. Analisis berbasis objek kemudian muncul dan digunakan untuk mengurangi batas pemisah abtara data dan proses. Seluruh data spesifik dan proses yang membuat, membaca, meng-update atau menghapus data-data tersebut diintegrasikan dan disebut dengan objek. Beberapa bahasa pemrograman yang berbasis objek ini antara lain adalah Visual Basic, C++, dan Powerbuilder.
Object-Oriented Analysis (OOA) adalah teknik pemodelan yang mengintegrasikan antara data dan proses kedalam suatu kesatuan yang disebut dengan objek. Model OOA berupa gambar yang mengilustrasikan objek system dari berbagai macam persepsi.
Selain itu OOA adalah Adalah suatu metode dalam pengembangan perangkat lunak berbasis object. Yang dimaksud dengan object bisa dipandang sebagai suatu item informasi atau representasi entitas di dunia nyata. Seperti contohnya dalam system reservasi penerbangan hal-hal yang bisa disebut sebagai object seperti pesawat, jalur penerbangan dll.
Dengan metode ini kita mempresentasikan sebuah permasalahan dalam dunia nyata kedalam object-object, khususnya dalam pegembangan perangkat lunak, agar dalam pelaksanaannya kita mendapatkan berbagai keuntungan dan kelebihan. Dari beberapa keuntungan dan kelebihannya, metode ini nantinya akan mendukung dalam konsep dibawah ini :
1. Maintainability , yaitu tingkat kemudahan dalam mengakomodasi perubahan- perubahan.
2.  mengurangi kompleksitas dalam perarancangan design system.
3. Reusability , kemampuan untuk bisa digunakan kembali sehingga dapat menghemat waktu dan biaya.
Dengan adanya konsep tersebut membuat metode ini seirng digunakan pada masa sekarang. Kemampuannya untuk dapat digunakan kembali akan mendukung terciptanya suatu perangkat lunak yang lebih sempurna dari yang sebelumnya dikarenakan kekurangan dari perangkat lunak sebelumnya diperbaiki, dan kelebihannya tetpa dipertahankan. Jadi bisa muncul sebuah perangkat lunak baru dengan kemampuan yang selalu lebh dari pada sebelumnya.
Dengan semakin dikenalnya OOA, kemudian muncul Unified Modeling Language (UML) yang menyediakan sintaks grafik untuk membuat model berbassi objek.
c.    Hubungan OOA dengan object oriented yang lain:
Ada hubungan yang sangat erat antara Object-oriented analysis dan teknologi object oriented yang lain. Diantaranya yaitu Object-Oriented Database, Object-Oriented Design, and Object-Oriented Programming Languages. Dalam penerapannya semua metode itu digunakan secara keseluruhan dalam project disebut dengan metode object-oriented. Jika hanya melakukan analisis saja dengan metode object-oriented dan tidak diikuti dengan design dan programming dengan metode yang sama tentunya akan menambah kesulitan dalam pengambangannya. Dalam kenyataannya ketiga metode diatas tidak bisa dilepaskan satu sama lain. Karena memang untuk mendapatkan hasil yang maksimal dari metode object-oriented, ketiganya harus ada.
d.    Teknik dasar OOA:
Dalam dunia pemodelan, metodologi implementasi obyek walaupun terikat kaidah-kaidah standar, namun teknik pemilihan obyek tidak terlepas pada subyektifitas software analyst & designer. Beberapa obyek akan diabaikan dan beberapa obyek menjadi perhatian untuk diimplementasikan di dalam sistem. Hal ini sah-sah saja karena kenyataan bahwa suatu permasalahan sudah tentu memiliki lebih dari satu solusi. Ada 3 (tiga) teknik/konsep dasar dalam OOA, yaitu pemodulan (encapsulation), penurunan (inheritance) dan polymorphism.
1.    Pemodulan (Encapsulation)
Pada dunia nyata, seorang ibu rumah tangga menanak nasi dengan menggunakan rice cooker, ibu tersebut menggunakannya hanya dengan menekan tombol. Tanpa harus tahu bagaimana proses itu sebenarnya terjadi. Disini terdapat penyembunyian informasi milik rice cooker, sehingga tidak perlu diketahui seorang ibu. Dengan demikian menanak nasi oleh si ibu menjadi sesuatu yang menjadi dasar bagi konsep information hiding.

2.    Penurunan (Inheritance)
Obyek-obyek memiliki banyak persamaan, namun ada sedikit perbedan. Contoh dengan beberapa buah mobil yang mempunyai kegunaan yang berbeda-beda. Ada mobil bak terbuka seperti truk, bak tertutup seperti sedan dan minibus. Walaupun demikian obyek-obyek ini memiliki kesamaan yaitu teridentifikasi sebagai obyek mobil, obyek ini dapat dikatakan sebagai obyek induk (parent). Sedangkan minibus dikatakan sebagai obyek anak (child), hal ini juga berarti semua operasi yang berlaku pada mobil berlaku juga pada minibus.
3.    Polymorphism
Pada obyek mobil, walaupun minibus dan truk merupakan jenis obyek mobil yang sama, namun memiliki juga perbedaan. Misalnya suara truk lebih keras dari pada minibus, hal ini juga berlaku pada obyek anak (child) melakukan metoda yang sama dengan algoritma berbeda dari obyek induknya. Hal ini yang disebut polymorphism, teknik atau konsep dasar lainnya adalah ruang lingkup/pembatasan. Artinya setiap obyek mempunyai ruang lingkup kelas, atribut, dan metoda yang dibatasi.
3.    Tujuan OOA
Tujuan dari OOA adalah menentukan semua kelas(dan hubungan serta tingkah laku yang berkaitan dengannya) yang relevan dengan masalah yang akan dipecahkan.
Untuk itu perlu melakukan sejumlah tugas yaitu:
a.    Persyaratan pemakaian dasar harus di komunikasikan diantara pelanggan dan perekayasa perangkat lunak.
b.    Kelas – kelas harus diidentifikasi(misalnya: atribut dan metode yang ditentukan)
c.    Hirarki kelas harus didpesifikasikan.
d.    Hubungan objek  - ke  - objek(koneksi objek) harus direpresentasikan.
e.    Tingkah laku objek dimodelkan.
f.    Tugas 1 sampai 5 diaplikasikan lagi secara sampai model selesai.
Selain menguji suatu dengan masalah dengan menggunakan model input-proses-onput  yang klasik(aliran informasi) atau model yang ditarik secara eksekutifdari struktur informasi) atau model yang tertarik secara eksklusif dari struktur infromasi hiraskis. OOA memperkenalkansejumlah konsep baru menurut Coad dan Yourdon yang menyinggung masalah ini dengan mengatakan:
“ OOA didasarkan pada konsep yang pertama kali kita pelajari di taman kanak – kanak. objek, atribut dan anggota. Keseluruhan dan bagian. Mengapa diperlukan waktu yang panjang unutk mengaplikasikan konsep –konsep ini ke analisis dan spesifikasi sistem informasi merupakan teka –teki bagi setiap orang – mungkin kita terlalu sibuk “mengikuti aliran” selama masa emas analisis terstruktur untuk mempertimbangkan  alternatif – alternatif tersebut.”
4.    Sasaran OOA
Sasaran OOA adalah mengembangkan sederetan model yang menggambarkan perangkat lunak komputer pada saat komputer itu bekerja unutk memenuhi serangkaian persyaratan yang ditentukan oleh pelanggan. OOA membangun metode multibagian untuk memenuhi sasaran tersebut.
5.    Pengujian model OOA
a.    Kebenaran dari model OOA
Kebenaran dari sintaks :
 Penggunaan simbol dan aturan pemodelan yang tepat
Kebenaran dari sematik:
1.    Model yang mewakili dunia nyata, dibutuhkan seorang ahli dalam domain  persoalan.
2.    Hubungan antar kelas
b.    Kekonsistenan dari model OOA
1.    hubungan antar entitas dalam model
2.    dapat digunakan model CRC dan object-relationship diagram

6.    Proses Analisis Domain:

                                   literatur teknis                                                                     teksonomikeras
                                  aplikasi yang ada                                                                  standar reuse                                                                                                                                  
                                  surve pelanggan                                                                   model fungsional
                                  nasehat ahli                                                                         modal fungsional
                                  persyaratan saat ini
  

input dan output unutk analisis domain

a.    menurut Firesmith mengambarkan analisis domain perangkat lunak dengan cara sebagai berikut:
analisis domain perangkat lunak adalah identifikasi, analisis, dan spesifikasi dari persyaratan umum suatu domain aplikasi spesifik.


b.    Akativitas  - aktivitas dalam proses analisis domain:
1.    Tentukan domain yang diselidiki
2.    Kategorikan item yang di ekstrak dari domain tersebut.
3.    Kumpulkan sempel  representatif  dari aplikasi di dalam domain tersebut
4.    Analisis masing –masing aplikasi pada sempel tersebut
5.    Kembangkan model a analis unutk objek tersebut.
7.    Kesimpulan
Dari keseluruhan penjelasan diatas dapat ditarik beberapa kesimpulan diantaranya:
a.    Metode analysis object-oriented memiliki beberapa kelebihan diantaranya dalam maintainability dan reuseability.
b.    Membutuhkan pelengkap metode object-oriented yang lain jika digunakan dalam pengerjaan suatu project seperti object-oriented design dan object- oriented design programming, untuk mendapatkan hasil yang maksimal jika menggunakan metode ini.


OOP
Bagian 1
OOP adalah paradigma pemrograman yang cukup dominan saat ini, karena mampu memberikan solusi kaidah pemrograman modern. Meskipun demikian, bukan berarti bahwa pemrograman prosedural sudah tidak layak lagi .
OOP diciptakan karena dirasakan masih adanya keterbatasan pada bahasa pemrograman tradisional. Konsep dari OOP sendiri adalah, semua pemecahan masalah dibagi ke dalam objek. Dalam OOP data dan fungsi-fungsi yang akan mengoperasikannya digabungkan menjadi satu kesatuan yang dapat disebut sebagai objek. Proses perancangan atau desain dalam suatu pemrograman merupakan proses yang tidak terpisah dari proses yang mendahului, yaitu analisis dan proses yang mengikutinya. Pembahasan mengenai orientasi objek tidak akan terlepas dari konsep objek seperti inheritance atau penurunan, encapsulation atau pembungkusan,
dan polymorphism atau kebanyakrupaan. Konsep-konsep ini merupakan fundamental dalam orientasi objek yang perlu sekali dipahami serta digunakan dengan baik, dan menghindari penggunaannya yang tidak tepat.
Class dan Objek
Dalam lingkungan program berorientasi objek, pemrogram mendefinisikan class secara statik. Pada saat run-time, class akan diinstantiasi menjadi objek. Ada pun objek yang merupakan instantiasi dari suatu class selalu dapat diacu melalui current objek, apa pun nama instant-nya.
Dapat didefinisikan bahwa class merupakan struktur data dari suatu objek, lebih jelasnya adalah sebuah bentuk dasar atau blueprint yang mendefinisikan variabel method umum pada semua objek dari beberapa macam. Objek sendiri adalah kumpulan variabel dan fungsi yang dihasilkan dari template khusus atau disebut class. objek adalah elemen pada saat run-time yang akan diciptakan, dimanipulasi, dan dihancurkan ketika eksekusi. Ada pun class merupakan definisi statik dari himpunan objek yang mungkin diciptakan sebagai instantiasi dari class. Sederhananya adalah kumpulan objek yang mempunyai atribut sama. Dengan demikian, pada saat run-time maka yang kita miliki adalah objek.
Class biasany dibuat seperti ini
Class nama_classnya{
//berisi sekumpulan fungsi,variabel dan
//statement-statement lainnya
}
Agar class tersebut dpt digunakan maka perlu memiliki atribut-atribut contonya dalam php/c++
//di php
class NamaClass {
var $atribut1;
var $atribut2;
function operasi(){}
}
//di c++
class NamaClass {
public:
int atribut1;
int atribut2;
int operasi(){retun nilai_int}
};
Pada bahasa pemerograman web lain ex. Java file harus disimpan dengan nama class berbeda dengan PHP kita dapat memberikan nama yang tidak mesti sama dengan nama classnya
Inheritance
Inheritance atau pewarisan adalah kalimat yang pasti ada di dalam pemerograman berorientasi objek disebut juga dengan istilah reusable.
Ketika kita menggunakan kembali atau mengganti method dari class yang sudah ada, serta ketika menambahkan field instant dan method baru, maka pada saat itulah Anda bekerja dengan inheritance. Konsep ini merupakan konsep yang fundamental dalam orientasi objek dan harus digunakan dengan baik, ada beberapa macam Inheritance atau pewarisan yang ada di dalam OOP Single Inheritance dan Multple Inheritance
- Single Inheritance

- Multiple Inheritance



dalam penggunaan inheritance class Induk akan mewariskan semua atribut yang ia miliki sehingga class bawahnya akan memilki atribut yang sama dengan class induk, bahkan dapat memilki kebabasan untuk memilki atribut berbeda dengan class induknya berikut ilustrasi dalam php
catatan :
sampai sekarang PHP belum mendukung multiple inheritance seperti C++ walapun PHP dan c/c++ begitu banyak kemiripannya, dan perubahan PHP versi 5 ditekankan pada OOP salah satunya adalah beberapa tambahan untuk kemampuan inheritance
/* inheritance.php */
class Bapak {
var $nama =”Bapak”;
function Bapak($n) {
$this->nama = $n;
}
function Hallo() {echo “Halo, saya $this->nama
”;}
}
class Anak extends Bapak {}
$test = new Anak(”Anak dari Bapak”);
$test->Hallo();
?>
Hasil tampilan dari listing program di atas adalah “Halo, saya Anak dari Bapak” dan bukannya “Halo, saya Bapak”. Mengapa demikian? Memang di dalam class Bapak didefinisikan variabel nama dengan nilai Bapak, selanjutnya kita membuat objek dari class Anak yang merupakan turunan dari class Bapak. Lihat bahwa instantiasi sekaligus mengisikan parameter baru “Anak dari Bapak”, sehingga ketika dipanggil maka mengisikan $this->nama dengan parameter tersebut. Ada pun di dalam implementasi pemrograman, kebanyakan pemrogram merasakan beberapa manfaat dari inheritance atau pewarisan, diantaranya:
Subclass mampu menyediakan perilaku khusus dari elemen dasar yang disediakan oleh superclass.
Pemrogram dapat mengimplementasikan superclass untuk memanggil class abstrak yang menyatakan perilaku umum.

Rabu, 07 Desember 2011

Kamis, 17 November 2011

matriks chiper


Gear Rotation Cipher

Gear Rotation Cipher ini merupakan algoritma kriptografi sendiri. Kriptografi ini dibuat menggunakan dasar kriptografi klasik. Sesuai dengan namanya yaitu Gear Rotation Cipher maka proses untuk Enkripsi dilakukan dengan cara merotasi karakter – karakter dari plaintext dan tentunya dengan pola yang telah ditentukan. Dibutuhkan suatu kunci yang diketahui oleh pihak-pihak tertentu, sehingga bisa mengenkripsi maupun didekripsi kembali. Untuk lebih jelasnya bagaimana proses enkripsi maupun dekripsi dengan menggunakan kriptografi ini, dibawah akan dijelaskan langkah demi langkah.

Proses Enkripsi
Ada beberapa ketentuan awal yang perlu diingat :
1.      Matrik plaintext minimal 2x2 (matrik persegi)
2.      Kunci minimal terdiri dari 4 karakter

Misal :
Plaintext          : Jurusan Teknik Informatika STMIK AMIKOM Yogyakarta
Kunci               : Kriptografi

Langkah – langkah :
1.    Merubah kunci ke bentuk angka
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
Kunci   :
 
K
R
I
P
T
O
G
R
A
F
I
10
17
8
15
19
14
6
17
0
5
8

2.    Menentukan ukuran matrik persegi untuk plaintext
·      Cari jumlah karakter pada plaintext
Plaintext            : Jurusan Teknik Informatika STMIK AMIKOM Yogyakarta
                          7          6           11             5           6               10            = 45 karakter
·      Tentukan ukuran matrik persegi yang memuat plaintext (45 karakter)
Matrik 7x7 karena 7x7 = 49 dimana 49 >= 45 sehingga memuat plaintext
3.    Masukkan Plaintext ke dalam matrik persegi
Jika matrik sisa maka isi dengan huruf awal dari kunci (K dari Kriptografi), dan seterusnya bebas asal tidak memuat huruf awal kunci.
J
U
R
U
S
A
N
T
E
K
N
I
K
I
N
F
O
R
M
A
T
I
K
A
S
T
M
I
K
A
M
I
K
O
M
Y
O
G
Y
A
K
A
R
T
A
K
Q
E
R

4.    Melakukan Rotasi pada matrik
·      Rotasi dilakukan dari persegi terluar dengan arah kekanan (searah jarum jam)
·      Rotasi persegi berikutnya dengan arah berlawanan, arah rotasi selalu berlawanan dengan persegi didekatnya
 



Pada matrik akan terbentuk beberapa persegi, seperti berikut :

Kunci   :
 
Pada matrik diatas terdapat 4 persegi, persegi terakhir berada ditengah dan hanya terdiri dari 1 karakter saja.
K
R
I
P
T
O
G
R
A
F
I
10
17
8
15
19
14
6
17
0
5
8
Persegi            1    2   3    4   1    2   3   4    1   2   3

Banyak rotasi yang harus dilakukan dengan cara menjumlahkan :
·      Persegi 1            : 10 + 19 + 0 = 29
·      Persegi 2            : 17 + 14 + 5 = 36
·      Persegi 3            : 8 + 6 + 8 = 22
·      Persegi 4            : 15 + 17 = 32



Matrik Plaintext
J
U
R
U
S
A
N
T
E
K
N
I
K
I
N
F
O
R
M
A
T
I
K
A
S
T
M
I
K
A
M
I
K
O
M
Y
O
G
Y
A
K
A
R
T
A
K
Q
E
R

Rotasi pada persegi 1 dengan rotasi 29 karakter, hasilnya :
J
U
R
U
S
A
N





Y
K
I
N
T
J
U
T
E
K
N
I
K
I





R
E
K
N
I
K
R
N
F
O
R
M
A
T





T
F
O
R
M
A
U
I
K
A
S
T
M
I




A
K
A
S
T
M
S
K
A
M
I
K
O
M





K
A
M
I
K
O
A
Y
O
G
Y
A
K
A





Q
O
G
Y
A
K
N
R
T
A
K
Q
E
R





E
R
A
M
I
T
I

Rotasi pada persegi 2 dengan rotasi 36 karakter, hasilnya :
Y
K
I
N
T
J
U





Y
K
I
N
T
J
U
R
E
K
N
I
K
R





R
K
A
M
O
K
R
T
F
O
R
M
A
U





T
I
O
R
M
A
U
A
K
A
S
T
M
S





A
N
A
S
T
Y
S
K
A
M
I
K
O
A





K
K
M
I
K
G
A
Q
O
G
Y
A
K
N





Q
E
F
K
A
O
N
E
R
A
M
I
T
I





E
R
A
M
I
T
I

Rotasi pada persegi 3 dengan rotasi 22 karakter, hasilnya :
Y
K
I
N
T
J
U





Y
K
I
N
T
J
U
R
K
A
M
O
K
R





R
K
A
M
O
K
R
T
I
O
R
M
A
U





T
I
M
T
K
A
U
A
N
A
S
T
Y
S





A
N
R
S
I
Y
S
K
K
M
I
K
G
A





K
K
O
A
M
G
A
Q
E
F
K
A
O
N





Q
E
F
K
A
O
N
E
R
A
M
I
T
I





E
R
A
M
I
T
I