Powered By Blogger Submit Your Site To The Web's Top 50 Search Engines for Free! Online Marketing

Subscribe Now

Thursday, November 24

Program Sederhana DSS dengan VB6

Program DSS adalah program yang membantu anda untuk membantu anda untuk menentukan sebuah keputusan, berikut ini adalah contoh program DSS sederhana untuk menentukan Imunisasi apa yang bisa diberikan untuk anak kita.

Berikut ini adalah tampilah saat membuat di VB6:


dan saat program dijalankan akan menjadi seperti ini:

Adapun kode nya adalah sebagai berikut:

Private Sub isi_bulan()
CmbUmur.AddItem "00"
CmbUmur.AddItem "01"
CmbUmur.AddItem "02"
CmbUmur.AddItem "03"
CmbUmur.AddItem "04"
CmbUmur.AddItem "05"
CmbUmur.AddItem "06"
CmbUmur.AddItem "07"
CmbUmur.AddItem "08"
CmbUmur.AddItem "09"
CmbUmur.AddItem "10"
CmbUmur.AddItem "11"
CmbUmur.AddItem "12"
CmbUmur.AddItem "13"
CmbUmur.AddItem "14"
CmbUmur.AddItem "15"
CmbUmur.AddItem "16"
CmbUmur.AddItem "17"
CmbUmur.AddItem "18"
CmbUmur.AddItem "19"
CmbUmur.AddItem "20"
CmbUmur.AddItem "21"
CmbUmur.AddItem "22"
CmbUmur.AddItem "23"
CmbUmur.AddItem "24"
End Sub
Private Sub isi_tahun()
CmbUmur.AddItem "03"
CmbUmur.AddItem "04"
CmbUmur.AddItem "05"
CmbUmur.AddItem "06"
CmbUmur.AddItem "07"
CmbUmur.AddItem "08"
CmbUmur.AddItem "09"
CmbUmur.AddItem "10"
CmbUmur.AddItem "11"
CmbUmur.AddItem "12"
End Sub
Private Sub isi_umur()
Combo2.AddItem "Bulan"
Combo2.AddItem "Tahun"
End Sub
Private Sub Form_Load()
Form1.Height = "3000"
CmbUmur.Enabled = False
Label2.Caption = "" _
& vbCrLf & "Imunisasi  adalah  suatu  cara  untuk  meningkatkan  kekebalan tubuh" _
& vbCrLf & "secara aktif terhadap suatu penyakit, sehingga bila kelak ia terkena" _
& vbCrLf & "penyakit tersebut, maka dampaknya akan sedikit"
End Sub
Private Sub Form_Unload(Cancel As Integer)
Call MsgBox("" _
    & vbCrLf & "tingkatkan kesadaran imunisasi masyarakat Indonesia", vbOKOnly, "Terimakasih")
End Sub
Private Sub OptBulan_Click()
CmbUmur.Enabled = True
CmbUmur.Clear
isi_bulan
Label1.Caption = "Bulan"
End Sub
Private Sub OptTahun_Click()
CmbUmur.Enabled = True
CmbUmur.Clear
isi_tahun
Label1.Caption = "Tahun"
End Sub
Private Sub vbButton1_Click()
If OptBulan.Value = False And OptTahun.Value = False Then
MsgBox "anda melum memilih umur anak anda"
Exit Sub
End If
If CmbUmur = "" Then
MsgBox "Anda belum memilih umur anak anda"
Exit Sub
End If
If Not IsNumeric(CmbUmur) Then
MsgBox "Umur anak salah"
Exit Sub
End If
If OptBulan = True And CmbUmur < 0 Then
    Call MsgBox("Umur tidak boleh kurang dari nol")
    Exit Sub
ElseIf OptBulan = True And CmbUmur > 24 Then
    Call MsgBox("Nilai maksimum dalam Bulan adalah 24")
    Exit Sub
ElseIf OptTahun = True And CmbUmur < 0 Then
    Call MsgBox("Umur tidak boleh kurang dari nol")
    Exit Sub
ElseIf OptTahun = True And CmbUmur > 18 Then
    Call MsgBox("Umur anak anda melebihi kalender Imunisasi")
    Exit Sub
End If
Form1.Height = "4000"
Frame1.Enabled = False
Frame2.Enabled = False
vbButton1.Enabled = False
End Sub
Private Sub vbButton2_Click()
Form1.Height = "3000"
Frame1.Enabled = True
Frame2.Enabled = True
vbButton1.Enabled = True
End Sub
Private Sub vbButton3_Click()
If OptPanas = True Then
Call MsgBox("Maaf anak anda sedang dalam kondisi tidak layak imunisasi" _
    & vbCrLf & "akan membahayakan bila imunisasi tetap dilakukan", vbInformation, "Peringatan")
Exit Sub
End If
If OptBulan = True And CmbUmur = "00" And OptSehat = True Then
Call MsgBox("Imunisasi untuk anak anda" & vbCrLf _
    & vbCrLf & "Imunisasi BCG" _
    & vbCrLf & "Imunisasi Hepatitis B (12 jam setelah lahir" _
    & vbCrLf & "Imunisasi Polio", vbInformation, "Imunisasi")
ElseIf OptBulan = True And CmbUmur = "00" And OptSehat = True Then
Call MsgBox("Imunisasi untuk anak anda" & vbCrLf _
    & vbCrLf & "Imunisasi BCG (Jika sudah pernah maka tidak perlu imunisasi lanjutan)" _
    & vbCrLf & "Hepatitis B(Imunisasi kedua)", vbInformation, "Imunisasi")
ElseIf OptBulan = True And CmbUmur >= 2 And CmbUmur <= 3 And OptSehat = True Then
Call MsgBox("Imunisasi untuk anak anda" & vbCrLf _
    & vbCrLf & "Imunisasi BCG (Jika sudah pernah maka tidak perlu imunisasi lanjutan)" _
    & vbCrLf & "Imunisasi Polio(Imunisasi kedua)" _
    & vbCrLf & "Imunisasi DTP" _
    & vbCrLf & "Imunisasi pendukung Hib(Hemophilus influenzae)" _
    & vbCrLf & "dan Pneumokokus (PCV).", vbInformation, "Imunisasi")
ElseIf OptBulan = True And CmbUmur >= 4 And CmbUmur <= 5 And OptSehat = True Then
Call MsgBox("Imunisasi untuk anak anda" & vbCrLf _
    & vbCrLf & "Imunisasi Polio(Imunisasi ketiga)" _
    & vbCrLf & "Imunisasi DTP (Imunisasi kedua)" _
    & vbCrLf & "Imunisasi pendukung Hib (kedua)" _
    & vbCrLf & "Imunisasi Pneumokokus (kedua).", vbInformation, "Imunisasi")
ElseIf OptBulan = True And CmbUmur >= 6 And CmbUmur <= 8 And OptSehat = True Then
Call MsgBox("Imunisasi untuk anak anda" & vbCrLf _
    & vbCrLf & "Imunisasi Hepatitis B (kedua)" _
    & vbCrLf & "Imunisasi Polio (Imunisasi keempat)" _
    & vbCrLf & "Imunisasi DTP (Imunisasi ketiga)" _
    & vbCrLf & "Imunisasi pendukung Hib (ketiga)" _
    & vbCrLf & "Imunisasi Pneumokokus (ketiga)" _
    & vbCrLf & "Imunisasi Influenza (selanjutnya diberikan setiap tahun)", vbInformation, "Imunisasi")
ElseIf OptBulan = True And CmbUmur = "09" And OptSehat = True Then
Call MsgBox("Imunisasi untuk anak anda" & vbCrLf _
    & vbCrLf & "Imunisasi Campak" _
    & vbCrLf & "Imunisasi Influenza (bila tahun ini sudah pernah imunisasi influenza," _
    & vbCrLf & "     tidak perlu imunisasi lanjutan)", vbInformation, "Imunisasi")
ElseIf OptBulan = True And CmbUmur >= 12 And CmbUmur <= 15 And OptSehat = True Then
Call MsgBox("Imunisasi untuk anak anda" & vbCrLf _
    & vbCrLf & "Imunisasi Hib (keempat)" _
    & vbCrLf & "Imunisasi Pneumokokus (keempat)" _
    & vbCrLf & "Imunisasi Influenza (bila tahun ini sudah pernah imunisasi influenza," _
    & vbCrLf & "     tidak perlu imunisasi lanjutan)" _
    & vbCrLf & "Imunisasi pendukung Varisela (1x seumur hidup)" _
    & vbCrLf & "Imunisasi MMR(Bila sebelumnya belum mendapat Imunisasi Campak).", vbInformation, "Imunisasi")
ElseIf OptBulan = True And CmbUmur >= 16 And CmbUmur <= 18 And OptSehat = True Then
Call MsgBox("Imunisasi untuk anak anda" & vbCrLf _
    & vbCrLf & "Imunisasi Polio (keempat)" _
    & vbCrLf & "Imunisasi DTP (keempat)" _
    & vbCrLf & "Imunisasi Influenza (bila tahun ini sudah pernah imunisasi influenza," _
    & vbCrLf & "     tidak perlu imunisasi lanjutan)" _
    & vbCrLf & "Imunisasi Varisela (bila sudah pernah, tidak perlu imunisasi lanjutan).", vbInformation, "Imunisasi")
ElseIf OptBulan = True And CmbUmur >= 19 And CmbUmur <= 24 And OptSehat = True Then
Call MsgBox("Imunisasi untuk anak anda" & vbCrLf _
    & vbCrLf & "Imunisasi Polio (kelima)" _
    & vbCrLf & "Imunisasi DTP (kelima)" _
    & vbCrLf & "Imunisasi Campak (kedua)" _
    & vbCrLf & "Imunisasi Influenza (bila tahun ini sudah pernah imunisasi influenza," _
    & vbCrLf & "    tidak perlu imunisasi lanjutan)" _
    & vbCrLf & "Imunisasi Varisela (bila sudah pernah, tidak perlu imunisasi lanjutan)" _
    & vbCrLf & "Imunisasi MMR (kedua bila sebelumnya pernah Imunisasi MMR" _
    & vbCrLf & "    Imunisasi Campak, MMR tidak perlu)" _
    & vbCrLf & "Imunisasi Tifoid (diulang setiap 3 tahun)" _
    & vbCrLf & "Imunisasi Hepatitis A (dilakukan 2kali dengan interval 6-12 bulan).", vbInformation, "Imunisasi")
ElseIf OptTahun = True And CmbUmur >= 3 And CmbUmur <= 5 And OptSehat = True Then
Call MsgBox("Imunisasi untuk anak anda" & vbCrLf _
    & vbCrLf & "Imunisasi Campak (kedua" _
    & vbCrLf & "     bila bulan lalu sudah Imunisasi Campak, tidak perlu Imunisasi Lanjutan)" _
    & vbCrLf & "Imunisasi Influenza (bila tahun ini sudah pernah imunisasi influenza," _
    & vbCrLf & "     tidak perlu imunisasi lanjutan)" _
    & vbCrLf & "Imunisasi Varisela (bila sudah pernah, tidak perlu imunisasi lanjutan)" _
    & vbCrLf & "Imunisasi MMR (kedua, bila sudah Imunisasi Campak" _
    & vbCrLf & "     dan sudah melakukan Imunisasi MMR, tidak perlu Imunisasi lanjutan)" _
    & vbCrLf & "Imunisasi Tifoid (diulang setiap 3 tahun" _
    & vbCrLf & "     bila sebelumnya sudah pernah, tidak perlu Imunisasi Lanjutan)" _
    & vbCrLf & "Imunisasi Hepatitis A (dilakukan 2kali dengan interval 6-12 bulan" _
    & vbCrLf & "     bila sebelumnya sudah pernah, tidak perlu imunisasi lanjutan).", vbInformation, "Imunisasi")
ElseIf OptTahun = True And CmbUmur >= 6 And CmbUmur <= 7 And OptSehat = True Then
Call MsgBox("Imunisasi untuk anak anda" & vbCrLf _
    & vbCrLf & "Imunisasi Campak (kedua" _
    & vbCrLf & "     bila bulan lalu sudah Imunisasi Campak, tidak perlu Imunisasi Lanjutan)" _
    & vbCrLf & "Imunisasi Influenza (bila tahun ini sudah pernah imunisasi influenza," _
    & vbCrLf & "     tidak perlu imunisasi lanjutan)" _
    & vbCrLf & "Imunisasi Varisela (bila sudah pernah, tidak perlu imunisasi lanjutan)" _
    & vbCrLf & "Imunisasi MMR (kedua, bila sudah Imunisasi Campak" _
    & vbCrLf & "     dan sudah melakukan Imunisasi MMR, tidak perlu Imunisasi lanjutan)" _
    & vbCrLf & "Imunisasi Tifoid (diulang setiap 3 tahun" _
    & vbCrLf & "     bila sebelumnya sudah pernah, tidak perlu Imunisasi Lanjutan)" _
    & vbCrLf & "Imunisasi Hepatitis A (dilakukan 2kali dengan interval 6-12 bulan" _
    & vbCrLf & "     bila sebelumnya sudah pernah, tidak perlu imunisasi lanjutan).", vbInformation, "Imunisasi")
ElseIf OptTahun = True And CmbUmur >= 8 And CmbUmur <= 9 And OptSehat = True Then
Call MsgBox("Imunisasi untuk anak anda" & vbCrLf _
    & vbCrLf & "Imunisasi Influenza (bila tahun ini sudah pernah imunisasi influenza," _
    & vbCrLf & "     tidak perlu imunisasi lanjutan)" _
    & vbCrLf & "Imunisasi Varisela (bila sudah pernah, tidak perlu imunisasi lanjutan)" _
    & vbCrLf & "Imunisasi MMR (kedua, bila sudah Imunisasi Campak" _
    & vbCrLf & "     dan sudah melakukan Imunisasi MMR, tidak perlu Imunisasi lanjutan)" _
    & vbCrLf & "Imunisasi Tifoid (diulang setiap 3 tahun" _
    & vbCrLf & "     bila sebelumnya sudah pernah, tidak perlu Imunisasi Lanjutan)" _
    & vbCrLf & "Imunisasi Hepatitis A (dilakukan 2kali dengan interval 6-12 bulan" _
    & vbCrLf & "     bila sebelumnya sudah pernah, tidak perlu imunisasi lanjutan).", vbInformation, "Imunisasi")
ElseIf OptTahun = True And CmbUmur >= 10 And CmbUmur <= 18 And OptSehat = True Then
Call MsgBox("Imunisasi untuk anak anda" & vbCrLf _
    & vbCrLf & "Imunisasi Influenza (bila tahun ini sudah pernah imunisasi influenza," _
    & vbCrLf & "     tidak perlu imunisasi lanjutan)" _
    & vbCrLf & "Imunisasi Varisela (bila sudah pernah, tidak perlu imunisasi lanjutan)" _
    & vbCrLf & "Imunisasi MMR (kedua, bila sudah Imunisasi Campak" _
    & vbCrLf & "     dan sudah melakukan Imunisasi MMR, tidak perlu Imunisasi lanjutan)" _
    & vbCrLf & "Imunisasi Tifoid (diulang setiap 3 tahun" _
    & vbCrLf & "     bila sebelumnya sudah pernah, tidak perlu Imunisasi Lanjutan)" _
    & vbCrLf & "Imunisasi Hepatitis A (dilakukan 2kali dengan interval 6-12 bulan" _
    & vbCrLf & "     bila sebelumnya sudah pernah, tidak perlu imunisasi lanjutan)" _
    & vbCrLf & "Imunisasi HPV (sebanyak 3 kali dengan jeda 1 tahun" _
    & vbCrLf & "     bila tahun ini sudah pernah, tidak perlu imunisasi lanjutan).", vbInformation, "Imunisasi")
End If
Form1.Height = "4500"
End Sub
Private Sub vbButton4_Click()
Unload Me
End Sub

Sunday, November 20

Speech Recognition

Voice recognition dibagi menjadi dua jenis, yaitu speech recognition dan speaker recognition. Speech recognition adalah proses identifikasi suara berdasarkan kata yang diucapkan. Parameter yang dibandingkan ialah tingkat penekanan suara yang kemudian akan dicocokkan dengan template database yang tersedia. Sedangkan sistem pengenalan suara berdasarkan orang yang berbicara dinamakan speaker recognition. Pada makalah ini hanya akan dibahas mengenai speech recognition karena kompleksitas algoritma yang diimplementasikan lebih sederhana daripada speaker recognition.
Biometrik, termasuk di dalamnya speech recognition, secara umum digunakan untuk identifikasi dan verifikasi. Identifikasi ialah mengenali identitas seseorang, dilakukan perbandingan kecocokan antara data biometric seseorang dalam database berisi record karakter seseorang. Sedangkan verifikasi adalah menentukan apakah seseorang sesuai dengan apa yang dikatakan terhadap dirinya.
Biometric recognition merupakan sistem pengenalan atau identifikasi seseorang berdasarkan karakteristik biologis khusus yang dimiliki oleh orang tersebut. Fungsinya selain untuk sistem keamanan dengan mengenali identitas seseorang, juga untuk identifikasi penyakit yang diderita seseorang, keperluan militer, dan lain-lain. Aplikasi biometric recognition antara lain retinal scan (identifikasi berdasarkan pola pembuluh darah pada retina mata), fingerprint recognition (identifikasi pola sidik jari unik pada setiap orang), face recognition (pengenalan seseorang berdasarkan raut dan ekspresi seseorang dengan kunci utama pada letak mata dan mulut), dan voice recognition.
Sedangkan voice recognition sendiri dibagi menjadi dua jenis, yaitu speech recognition dan speaker recognition. Berbeda dengan speaker recognition yang merupakan pengenalan identitas yang diklaim oleh seseorang dari suaranya (siri khusus dapat berupa intonasi suara, tingkat kedalaman suara, dan sebagainya), speech recognition adalah proses yang dilakukan komputer untuk mengenali kata yang diucapkan oleh seseorang tanpa mempedulikan identitas orang terkait. Implementasi speech recognition misalnya perintah suara untuk menjalankan aplikasi komputer.
Algoritma FFT (Fast fourier transform) merupakan salah satu metode untuk transformasi sinyal suara menjadi sinyal frekuensi. Artinya proses perekaman suara disimpan dalam bentuk digital berupa gelombang spektrum suara berbasis frekuensi. Sedangkan algoritma implementasi algoritma divide and conquer terletak pada pembagian objek permasalahan (data digital) menjadi upa masalah yang diselesaikan secara rekursif dan kemudian menggabungkan solusi masing-masing upa masalah sehingga membentuk solusi masalah semula pada tahap akhir.

Terdapat 4 langkah utama dalam sistem pengenalan suara :
[1] Penerimaan data input
[2] Ekstraksi, yaitu penyimpanan data masukan sekaligus pembuatan database untuk template.
[3] Pembandingan / pencocokan, yaitu tahap pencocokan data baru dengan data suara (pencocokan tata bahasa) pada template.
[4] Validasi identitas pengguna..


Secara umum, speech recognizer memproses sinyal suara yang mask dan menyimpannya dalam bentuk digital. Hasil proses tersebut kemudian dikonversi dalam bentuk spektrum suara yang kemudian dianalisa dengan membandingkannya dengan template suara pada database sistem. Sebelumnya, data suara yang masuk akan dipisah dan diproses satu persatu berdasarkan waktu masuknya. Pemisahan ini dilakukan agar proses analisis suara dapat dilakukan secara paralel.
Proses yang pertama kali dilakukan adalah memproses gelombang spektrum suara ke dalam bentuk diskrit. Langkah selanjutnya adalah proses kalkulasi yang terdiri dari dua bagian, yaitu transformasi gelombang diskrit menjadi array data, toap elemen array data akan dihitung ketinggian gelombangnya (baik frekuensi ataupun amplitudonya).



Proses Divide and Conquer :
1. Memilih sebuah angka N, N adalah bilangan bulat kelipatan 2 yang berfungsi untuk menghitung jumlah elemen transformasi FFT.
2. Membagi dua data diskrit menjadi data diskrit yang lebih kecil berukuran N = N1.N2 .
3. Memasukkan objek data kedalam tabel.
4. Untuk setiap elemen data, dicocokkan dengan data pada template.
5. Setiap data array dianalisis secara keseluruhan.
6. Verifikasi datta.


Terdapat beberapa aplikasi yang dapat melakukan Speech Recognition diantaranya, Microsoft Voice, dan Microsoft Dictation, dan Microsoft Speech to Text, serta Microsoft Voice Recognition.
Microsoft Speech to Text dan Microsoft Dictation adalah aplikasi yang secara default ada di windows.
Kesimpulan.
Speech Recognition adalah suatu jenis Biometric Recognition, yaitu Proses komputer mengenali apa yang diucapkan seseorang berdasarkan intonasi suara yang dikonversi ke dalam digital print.
Pengenalan pola suara adalah salah satu aplikasi yang berkembang saat ini, sistem ini memungkinkan manusia berkomunikasi (memberikan instruksi) ke komputer.


Hambatan Speech Recognition.
Speech Recognition akan menjadi terhambat apabila :
1. Suara yang disimpan dalam template berubah, misal pada saat kalibrasi suara kita dalam kondisi fit, dan sekarang dalam kondisi hidung tersumbat, maka otomatis frekuensi suara yang diterima oleh komputer akan berbeda.
2. Kondisi lingkungan yang berbeda, misalkan saat kalibrasi suara dalam keadaan hening, dan saat eksekusi dalam kondisi berisik, maka data yang seharusnya mudah dikonversi menjadi data biner akan menjadi tercampur dengan suara - suara dari lingkungan.
Keuntungan Speech Recognition.
1. Mengurangi waktu untuk memberikan instruksi - instruksi umum, misal untuk menjalankan sebuah aplikasi dan sebagainya.
2. Dapat dijadikan sebagai Biometrik untuk keamanan, frekuensi yang berbeda dari setiap manusia dapat menjadikan voice recognition untuk memberikan instruksi True dan False dalam security.

Sumber Referensi :

http://agusza.its-sby.edu/kuliah/citra/bab4_detail.html
http://www.dspguru.com/info/faqs/fftfaq.htm
http://mathworld.wolfram.com/FastFourierTransform.html
http://en.wikipedia.org/wiki/Spectrum_analyzer
http://en.wikipedia.org/wiki/Speaker_recognition
http://www.relisoft.com/Science/Physics/fft.html
http://en.wikipedia.org/wiki/Speech_recognition

Friday, November 11

Cobol Nested IF-ELSE

Contoh program cobol dengan menggunakan gabungan dari If Then Else dan Evaluate.

       IDENTIFICATION DIVISION. 
       PROGRAM-ID.     ANOTHER-EXAMPLE.
       AUTHOR.         AKIRA.

      *  Program ini menggambarkan struktur kondisi IF Bersarang.
      *  perbandingan dengan sintaks EVALUATE, kondisi IF Bersarang
      *  dan EVALUATE menunjukkan sebuah logika yang sama

       ENVIRONMENT DIVISION. 

       DATA DIVISION. 

       WORKING-STORAGE SECTION. 

       01 KBD-ENTRY PIC X.

       PROCEDURE DIVISION. 

       MAIN-LINE. 
           PERFORM DO-SETUP.
           PERFORM DO-NESTED-IF.
           PERFORM DO-EVALUATE.
           STOP RUN.

       DO-SETUP.
           DISPLAY 'Enter a digit '.
           ACCEPT KBD-ENTRY.

       DO-NESTED-IF.
           IF KBD-ENTRY = '1'
              DISPLAY 'Freshman'
           ELSE IF KBD-ENTRY = '2'
                   DISPLAY 'Sophomore'
                ELSE IF KBD-ENTRY = '3'
                        DISPLAY 'Junior'
                     ELSE IF KBD-ENTRY = '4'
                             DISPLAY 'Senior'
                          ELSE IF KBD-ENTRY = '5'
                                  DISPLAY 'Graduate'
                               ELSE
                                  DISPLAY 'Undefined code'
                               END-IF
                          END-IF
                     END-IF
                END-IF
           END-IF.

       DO-EVALUATE.
           EVALUATE KBD-ENTRY
               WHEN '1'    DISPLAY 'Freshman'
               WHEN '2'    DISPLAY 'Sophomore'
               WHEN '3'    DISPLAY 'Junior'
               WHEN '4'    DISPLAY 'Senior'
               WHEN '5'    DISPLAY 'Graduate'
               WHEN OTHER  DISPLAY 'Undefined code'
           END-EVALUATE.

Perancangan Terstruktur dan Perancangan Berorientasi Objek

PERANCANGAN TERSTRUKTUR

 
Definisi
Perancangan terstruktur merupakan aktivitas mentransformasikan suatu hasil analisis ke dalam suatu perencanaan untuk dapat diimplementasikan (diotomasikan). Pendekatan perancangan terstruktur dimulai dari awal 1970. Pendekatan terstruktur dilengkapi dengan alat-alat (tools) dan teknikteknik (techniques) yang dibutuhkan dalam pengembangan sistem, sehingga hasil akhir dari sistem yang dikembangkan akan diperoleh sistem yang strukturnya didefinisikan dengan baik dan jelas.  
Melalui pendekatan terstruktur, permasalahan yang komplek di organisasi dapat dipecahkan dan hasil dari sistem akam mudah untuk dipelihara, fleksibel, lebih memuaskan pemakainya, mempunyai dokumentasi yang baik, tepat waktu, sesuai dengan anggaran biaya pengembangan, dapat  meningkatkan produktivitas dan kualitasnya akan lebih baik (bebas kesalahan).

 
Aspek Perancangan Terstruktur
  • Membantu pemecahan masalah
  • Melakukan penyederhanaan sistem
  • Menggunakan graphic tool agar sistem dapat dengan mudah dibaca dan dimengerti
  • Memberikan rangkaian strategi untuk pengembangan solusi
  • Memberikan kriteria dalam mengevaluasi solusi dengan melihat pada permasalahan aslinya
Elemen Perancangan Terstruktur
1. Modul
Modul merupakan sebuah instruksi atau sekumpulan instruksi program yang terdiri dari : input(masukan), output(keluaran), fungsi, mekanisme dan data internal. Contoh : Foxpro / Pascal (Procedure, function), 
COBOL (Program, section,paragraph), FORTRAN (subroutine).
2. Bagan terstruktur (Structured Chart)
Menggambarkan partisi sistem ke dalam : modul-modul, organisasi, dan komunikasi. Keuntungannya ; Menggunakan gambar, Dapat dipartisi, Fleksibel, Input sangat berguna pada implementasi, Membantu pemeliharaan (maintenance) dan modifikasi.
3. Strategi Perancangan
Mentransformasikan hasil analisis (DFD) menjadi Bagan Terstruktur, untuk diimplementasi. DFD memperlihatkan aliran data dan informasi dari sistem. Jika dalam suatu DFD aliran datanya ditentukan oleh suatu data item, misalnya ‘T’ yang mempunyai nilai/ karakteristik tertentu, kemudian nilai ini akan mempengaruhi / menentukan arah aliran data (men-trigger arah), maka titik proses dimana terjadi percabangan arah aliran data tsb disebut titik pusat transaksi
4. Optimasi dari perancangan (Design Heuristic)

 
Tools Perancangan Terstruktur
  1. DFD (Data Flow Diagram )
  2. Kamus Data
  3. Entity Relationship Diagram (ERD)
  4. State Transition Diagram (STD)
Metodologi Perancangan Terstruktur
Metodologi pemecahan fungsional
Metodologi ini menekankan pada pemecahan sistem ke dalam subsistem-subsistem yang lebih kecil, sehingga akan lebih mudah untuk dipahami, dirancang, dan diterapkan.
Metodologi berorientasi data
Metodologi ini menekankan pada karakteristik data yang akan diproses.
Prescriptive methodologies
Metodologi ini merupakan metodologi yang dikembangkan oleh sistem house dan pabrik-pabrik perangkat lunak dan tersedia secara komersial dalam paket-paket program.

 
Kelebihan dan Kekurangan Perancangan Terstruktur
Kelebihan
  • Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek.
  • SSAD merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna atau programmer.
  • Penggunaan analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan bagus untuk digunakan.
  • SSAD merupakan metode yang diketahui secara umum pada berbagai industry.
  • SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk digunakan.
  • SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan
  • SSAD relatif simpel dan mudah dimengerti.
Kekurangan
  • SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.
  • Sedikit sekali manajemen langsung terkait dengan SSAD.
  • Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses.
  • Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru).
  • Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sulit bagi pengguna untuk melakukan evaluasi.
  • Pada SAAD sulitt sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai membuat sistem.
  • SSAD tidak selalu memenuhi kebutuhan pengguna.
  • SSAD tidak dapat memenuhi kebutuhan terkait bahasa pemrograman berorientasi obyek, karena metode ini memang didesain untuk mendukung bahasa pemrograman terstruktur, tidak berorientasi pada obyek (Jadalowen, 2002).


PERANCANGAN BERORIENTASI OBJEK

 
Definisi
Perancangan berorientasi objek adalah suatu teknik atau cara pendekatan baru dalam melihat permasalahan dan sistem (sistem perangkat lunak. Sistem informasi, atau sistem lainnva). Pendekatan berorientasi objek akan memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek yang berkorespondensi dengan objek-objek dunia nyata. Pengertian "berorientasi objek" berarti bahwa kita mengorganisasi perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan perilakunya.

 
Karakteristik dari Objek
Objek ialah Identitas. Berarti bahwa data diukur mempunyai nilai tertentu yang membedakan entitas disebut Objek. Objek dapat kongkrit, seperti halnya arsip dalam sistem, atau konseptual seperti kebijakan penjadualan dalam multiprocessing pada sistem operasi. Setiap objek mempunyai sifat yang melekat pada identitasnya. Dua objek dapat berbeda walaupun bila semua nilai atributnya identik.
Kelas Objek ialah gambaran sekumpulan Objek yang terbagi dalam atribut, operasi, metode, hubungan, dan makna yang sama. Suatu kegiatan mengumpulkan data (atribut) dan perilaku (operasi) yang mempunyai struktur data sama ke dalam satu grup. Kelas Objek merupakan wadah bagi Objek. Dapat digunakan untuk menciptakan Objek. Objek mewakili fakta / keterangan dari sebuah kelas.

 
Metodologi Berorientasi Objek
Metodologi pengembangan sistem berorientasi objek mempunyai 3 karakteristik utama :
Encapsulation
Encapsulation merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses. Data dan prosedur atau fungsi dikemas bersama-sama dalam suatu objek, sehingga prosedur atau fungsi lain dari luar tidak dapat mengaksesnya. Data terlindung dari prosedur atau objek lain, kecuali prosedur yang berada dalam objek itu sendiri.
Inheritance
Inheritance adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung. Atribut dan metode dari objek dari objek induk diturunkan kepada anak objek, demikian seterusnya. Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama di anatara kelas yang mempunyai hubungan secara hirarki. Suatu kelas dapat ditentukan secara umum, kemudian ditentukan spesifik menjadi subkelas. Setiap subkelas mempunyai hubungan atau mewarisi semua sifat yang dimiliki oleh kelas induknya, dan ditambah dengan sifat unik yang dimilikinya. Kelas Objek dapat didefinisikan atribut dan service dari kelas Objek lainnya. Inheritance menggambarkan generalisasi sebuah kelas.
Polymorphism
Polimorfisme yaitu konsep yang menyatakan bahwa seuatu yang sama dapat mempunyai bentuk dan perilaku berbeda. Polimorfisme mempunyai arti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda. Kemampuan objek-objek yang berbeda untuk melakukan metode yang pantas dalam merespon message yang sama. Seleksi dari metode yang sesuai bergantung pada kelas yang seharusnya menciptakan Objek.

 
Tools Perancangan Berorientasi Objek
  1. Object Oriented Analysis (OOA) dan Object Oriented Design (OOD) dari Peter Coad dan Edward Yourdon [1990].
  2. Object Modeling Technique (OMT) dan James Rumbaugh, Michael Blaha, William Premerlan, Frederick Eddy dan William Lorensen [1991].
  3. Object Oriented Software Engineering (OOSE) dan Ivar Jacobson [1992].
  4. Booch Method dan Grady Booch [1994].
  5. Sritrop dan Steve Cook dan John Daniels [1994].
  6. UML (Unified Modeling Language) dari James Rumbaugh. Grady Booch dan Ivar Jacobson [1997].
Kelebihan dan Kekurangan Perancangan Berorientasi Objek
Kelebihan
  • Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan sistem.
  • Dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD (Sommerville, 2000).
  • Tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan sistem.
  • Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.
  • Relasi obyek dengan entitas (thing) umumnya dapat di mapping dengan baik seperti kondisi pada dunia nyata dan keterkaitan dalam sistem. Hal ini memudahkan dalam mehami desain (Sommerville, 2000).
  • Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks (Booch, 2007).
  • Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga.
  • OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.
  • Dekomposisi obyek, memungkinkan seorang analis untuk memcah masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang dimanage secara terpisah. Kode program dapat dikerjakan bersama-sama. Metode ini memungkinkan pembangunan software dengan cepat, sehingga dapat segera masuk ke pasaran dan kompetitif. Sistem yang dihasilkan sangat fleksibel dan mudah dalam memelihara.
Kekurangan
  • Pada awal desain OOAD, sistem mungkin akan sangat simple.
  • Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD.
  • Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD.
  • Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem.
  • Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan anlisisis terhadap fungsional siste, sementara metode OOAD tidak berbasis pada fungsional sistem.
  • OOAD merupakan jenis manajemen proyek yang tergolong baru, yang berbeda dengan metode analisis dengan metode terstruktur. Konsekuensinya adalah, team developer butuh waktu yang lebih lama untuk berpindah ke OOAD, karena mereka sudah menggunakan SSAD dalam waktu yang lama ( Hantos, 2005).
  • Metodologi pengembangan sistem dengan OOAD menggunakan konsep reuse. Reuse merupakan salah satu keuntungan utama yang menjadi alasan digunakannya OOAD. Namun demikian, tanpa prosedur yang emplisit terhadap reuse, akan sangat sliit untuk menerapkan konsep ini pada skala besar (Hantos, 2005).
Sumber Referensi :

Algoritma Perancangan Terstruktur
Perancangan Terstruktur
Perancangan Terstruktur
Perancangan Terstruktur


Popular Posts This Months

Related Posts Plugin for WordPress, Blogger...

IP