SlideShare uma empresa Scribd logo
1 de 39
Ilustrasi Materi Kuliah Sistem Berorientasi Objek
Studi Kasus : Sistem Informasi Riset Mahasiswa (SIRM)
Revisi tgl 28 September 2009




Fatchurrochman, M.Kom



Tulisan ini adalah pendahuluan untuk memahami cara melakukan analisis, desain dan
implementasi perangkat lunak menggunakan paradigma berorientasi objek. Tools yang
digunakan untuk melakukan analisis dan desain adalah Rational Rose serta menggunakan
bahasa pemrograman Java untuk implementasinya. Studi kasus yang digunakan adalah
persoalan sederhana dalam kegiatan administrasi akademik di tingkat jurusan, dimana
dimaksudkan bahwa dengan kasus sederhana ini berbagai aktifitas dalam sistem
berorientasi objek dapat dilihat dengan jelas.

Tulisan ini dibuat sebagai alat bantu bagi pembaca untuk mengenal sistem berorientasi
objek. Tulisan ini tidak dimaksudkan sebagai pola dalam pembuatan sistem berorientasi
objek karena disadari masih banyak hal yang belum tersentuh dalam materi ini karena
keterbatasan pemahaman dan pengalaman penulis dalam memahami sistem berorientasi
objek. Dengan adanya tulisan ini diharapkan bahwa pembaca mendapatkan gambaran
tentang apa yang disebut dengan Sistem Berorientasi Objek dan memahami korelasi antara
analisis dan desain sistem beserta implementasinya dalam bahasa pemrograman. Berbagai
literatur dapat dipelajari lebih lanjut untuk mendapatkan pemahaman lebih akurat tentang
sistem berorientasi objek.

1. Beginning a Project

     1.1. Latar Belakang

           Sistem Informasi Riset Mahasiswa adalah sistem sederhana dalam kegiatan
           administratif di sebuah jurusan di lingkungan perguruan tinggi. Sistem ini berupaya
           melakukan otomasi terhadap kegiatan penelitian formal yang dilakukan mahasiswa
           dalam menempuh studinya. Jurusan berharap bahwa dengan adanya sistem ini,
           data akademik yang berhubungan dengan skripsi mahasiswa dapat terdokumentasi
           dengan baik sehingga dapat digunakan untuk memberikan laporan dengan cepat
           dan akurat pada fakultas dan mahasiswa. Pada akhirnya sistem ini diharapkan dapat
           membantu kelancaran mahasiswa dalam menempuh studinya di jurusan
           bersangkutan.

     1.2. Problem Statement Sistem Informasi Riset Mahasiswa
Dalam menempuh studi di perguruan tinggi, mahasiswa diwajibkan untuk
       melaksanakan penelitian sebagai bagian dari kegiatan akademisnya. Bentuk dari
       aktifitas ini adalah pembuatan skripsi di akhir masa perkuliahan. Prosedur
       pembuatan skripsi dimulai dengan pengajuan proposal skripsi oleh mahasiswa,
       pelaksanaan uji kelayakan proposal skripsi, penentuan dosen pembimbing dan
       pelaksanaan ujian skripsi. Sebagai tambahan, proses pembimbingan juga perlu
       didokumentasikan untuk mengetahui kemajuan mahasiswa dalam melaksanakan
       penelitian. Dalam tulisan ini proses yang berhubungan dengan kegiatan
       pembimbingan belum dilaksanakan karena saat ini lebih fokus pada proses utama
       kegiatan riset mahasiswa.

       Saat ini semua proses tersebut dilaksanakan dengan menggunakan perangkat lunak
       microsoft office, terutama excel dan word. Persoalan utama dengan kondisi ini
       adalah masalah integrasi data, konsistensi data dan kecepatan proses. Diperlukan
       sebuah sistem yang terintegrasi sehingga berbagai kebutuhan informasi seputar
       riset mahasiswa dapat ditampilkan dengan akurat dan cepat.

       Sistem yang baru ini dimulai ketika mahasiswa mengajukan proposal skripsi kepada
       panitia seminar proposal skripsi disertai dengan berbagai kelengkapan persyaratan
       administratif yang diperlukan, misalnya proposal sebanyak 3 exemplar dan
       poster/diagram blok. Dalam satu semester, seminar proposal dilaksanakan minimal
       dua kali sehingga mahasiswa yang tidak lulus pada gelombang pertama dapat
       mengikuti kembali di gelombang kedua atau gelombang berikutnya. Selanjutnya
       panitia menentukan jadwal seminar proposal skripsi yang terdiri dari waktu, ruang
       dan penguji. Aktifitas terakhir adalah pelaksanaan seminar proposal untuk
       menentukan apakah proposal layak dijadikan skripsi atau tidak. Pada saat ini dosen
       penguji akan memberikan nilai kepada mahasiswa bersangkutan. Dosen penguji
       terdiri dari 3 orang. Bila proposal tersebut dinilai layak maka jurusan akan
       menentukan pembimbing skripsi, serta mencatat kembali judul skripsi yang telah
       direvisi oleh mahasiswa. Data ini akan digunakan pada saat bimbingan dan ujian
       skripsi. Sistem juga akan memberikan laporan-laporan berupa informasi kepada
       mahasiswa status kelengkapan administratif peserta, jadwal seminar, nilai seminar
       dan dosen pembimbing skripsi. Bagi fakutas, sistem diharapkan dapat dengan cepat
       memberikan informasi tentang pelaksanaan seminar proposal yang akan digunakan
       untuk membuat SK penguji skripsi dan SK pembimbing skripsi.



2. Analis dan Desain Sistem

   2.1. Use case Diagram

       Use Case Diagram adalah diagram yang menampilkan actor, use case dan relasi
       diantara keduanya dalam sebuah sistem. Use case diagram menggambarkan ruang
lingkup dari sistem yang akan dibangun dan merupakan sarana komunikasi dengan
pengguna akhir untuk mendapatkan pemahaman yang lebih baik tentang sistem
yang akan dibuat.

Kandidat actor yang terlibat dalam SIRM dapat dilakukan dengan memperhatikan
problem statement di atas. Dari problem statement kandidat actor-nya adalah
mahasiswa, panitia seminar dan penguji. Kandidat actor juga dapat diperoleh
dengan menjawab pertanyaan-pertanyaan berikut :

•   Siapa yang terlibat dalam requirement tertentu

       o   Sistem diharapkan dapat digunakan untuk menangani pendaftaran
           peserta. Kandidat actor : mahasiswa, panitia

       o   Sistem diharapkan dapat digunakan untuk membuat jadwal pelaksanaan
           seminar. Kandidat actor : panitia

       o   Sistem diharapkan dapat digunakan untuk memberikan penilaian pada
           saat presentasi. Kandidat actor : penguji, panitia

       o   Sistem diharapkan dapat digunakan untuk menentukan pembimbing
           skripsi. Kandidat actor : panitia

       o   Sistem diharapkan dapat segera memberikan laporan ke jurusan tentang
           pelaksanaan seminar proposal : panitia, jurusan

       o   Sistem dapat segera memberikan laporan ke fakultas untuk membuat SK
           penguji dan SK pembimbing skripsi : panitia, fakultas

•   Dimana sistem akan digunakan dalam organisasi? Bagian Tata usaha jurusan

•   Siapa yang mendapat keuntungan dari penggunaan sistem? Jurusan, fakultas,
    bagian tata usaha jurusan, mahasiswa

•   Siapa yang menyediakan, menggunakan dan memindahkan informasi dalam
    sistem? Menyediakan informasi : mahasiswa, panitia, penguji. Menggunakan
    informasi : penguji. Memindahkan informasi dalam sistem : panitia, penguji.

•   Siapa yang akan mendukung dan mengelola sistem? Bagian tata usaha jurusan

•   Apakah sistem menggunakan sumberdaya external? Tidak.

•   Apakah satu orang memainkan beberapa tugas berbeda? Ya, seorang dosen
    dapat menjadi panitia juga sekaligus penguji.

•   Apakah sistem berinteraksi dengan sistem yang lain? Tidak.
Dari berbagai langkah yang telah dilakukan di atas, kita memperoleh kandidat actor
berikut : mahasiswa, panitia, penguji, dosen, bagian tata usaha jurusan, jurusan dan
fakultas. Perlu ditentukan good actor dari kandidat actor tersebut dengan
mempertimbangkan cara mereka menggunakan sistem, yaitu bila mereka
menggunakan sistem dengan cara yang berbeda maka mereka adalah actor yang
berbeda. Mahasiswa berperan sebagai penyedia data dalam sistem yang akan di
bangun sehingga dipilih sebagai actor. Seorang dosen dapat berperan sebagai
panitia dapat pula berperan sebagai penguji, berdasarkan problem statement dan
requirement di atas, peran dosen sebagai actor tidaklah berbeda dengan peran dari
panitia maupun penguji sehingga dosen untuk saat ini tidak dipertimbangkan
sebagai actor. Bagian tata usaha jurusan adalah bagian dari panitia dan dalam
persoalan SIRM ini perannya tidak berbeda dengan panitia sehingga tidak dipilih
sebagai actor. Jurusan dan fakultas berperan menerima informasi dari sistem
sehingga dipilih sebagai actor.

Pada saat menentukan actor, perlu disadari bahwa actor adalah seseorang atau
sesuatu yang memberikan informasi ke dalam sistem, memberikan dan menerima
informasi dari sistem atau hanya menerima informasi dari sistem saja.

Dari langkah-langkah di atas, actor dalam SIRM yang dipilih adalah mahasiswa,
panitia, penguji, jurusan dan fakultas.




                           Gambar 1 Actor dalam SIRM
Setelah memilih actor, sekarang menentukan use case untuk melengkapi use case
diagram yang sedang dibangun. Kandidat use case dapat ditemukan dengan
menjawab pertanyaan-pertanyaan berikut:

•   Apakah tugas dari masing-masing actor?

       o Mahasiswa : menyerahkan berkas kelengkapan pendaftaran seminar
         proposal

       o   Panitia : melakukan pendaftaran peserta seminar, membuat jadwal
           pelaksanaan seminar, menentukan pembimbing skripsi

       o   Penguji : memberikan penilaian

       o   Jurusan : menerima laporan pelaksanaan seminar

       o   Fakultas : menerima laporan penguji seminar skripsi, menerima laporan
           pembimbing skripsi

•   Apakah ada actor yang membuat, menyimpan, mengubah, memindahkan atau
    membaca informasi dalam sistem? Ada.

•   Apakah use case akan membuat, menyimpan, mengubah, memindahkan atau
    membaca informasi ini? Ya.

•   Apakah ada actor yang memberikan informasi ke sistem bila terjadi perubahan
    external? Tidak.

•   Use case apa yang akan mendukung pengelolaan sistem?

•   Dapatkah semua fungsi dalam requirement dikerjakan oleh use case? Dapat.

Langkah selanjutnya adalah menentukan use case yang baik dengan
mempertimbangkan bahwa use case yang baik adalah use case yang
merepresentasikan fungsi yang lengkap dari awal sampai akhir.
Gambar 2 Use case dan actor dalam SIRM




Komponen ketiga dari use case diagram adalah association, yang digunakan untuk
menunjukkan hubungan antara actor dengan use case atau use case dengan use
case yang lain. Petunjuk berikut dapat kita jadikan pedoman pada saat membuat
asosiasi :

•   Jangan memodelkan asosiasi antara aktor ke aktor.

•   Jangan menggambarkan asosiasi secara langsung antara dua use case.

•   Setiap use case harus diinisiasi oleh actor, sehingga arah panah dimulai dari
    actor dan berakhir di use case, kecuali untuk relasi include dan extend.

•   Memasukkan informasi ke basis data menggunakan satu use case dan
    mengaksesnya menggunakan use case yang lain.
Gambar 3 Use case Diagram SIRM




                   Gambar 4 Use case Diagram SIRM revisi 1



Sampai disini diharapkan pihak pengembang maupun pihak pengguna/klien telah
memperoleh gambaran umum dari sistem yang akan dibangun. Perubahan masih
dapat dilakukan seiring dengan pemahaman yang lebih baik terhadap persoalan
yang dihadapi seperti ditampilkan pada gambar 4, dimana ada penambahan actor
sistem administrasi jurusan yang merupakan sistem lain yang berhubungan dengan
SIRM ketika disadari bahwa SIRM ini membutuhkan informasi tentang data
mahasiswa. Sistem administrasi jurusan adalah sistem yang digunakan oleh jurusan
untuk menangani proses administrasi jurusan secara umum, misalnya data
mahasiswa, data dosen dan data akademik.




                        Pendaftaran Peserta
         peserta                                                                            Sistem
                                                                                          Adminstra...


                                                <<extend>>



                       Penjadwalan Presentasi                 Laporan Penguji Seminar



                                                 <<extend>>                               fakultas
         panitia

                        Penentuan Pembimbing                 Laporan Pembimbing Skripsi




                    Pembuatan Laporan Pelaksanaan
                                                                                           jurusan




                      Pemberian Nilai
        penguji




                    Gambar 5 Use case Diagram SIRM revisi 2



Gambar 5 adalah revisi use case diagram yang dilakukan ketika disadari bahwa actor
mahasiswa masih memiliki peran yang terlalu luas bagi SIRM, hanya mahasiswa
yang telah siap dengan penelitian saja yang dapat mendaftar sebagai peserta
seminar oleh karena itu actor mahasiswa diganti dengan actor peserta.



Langkah selanjutnya adalah memahami lebih detil dari setiap fitur yang telah
digambarkan melalui use case diagram di atas. Caranya yaitu dengan membuat flow
of event (aliran kejadian) untuk setiap use case yang ada dalam diagram use case.
Flow of event yang disebut juga skenario, adalah langkah detil yang terjadi dalam
sebuah use case dan dinyatakan dengan kalimat. Struktur flow of event adalah
sebagai berikut:
1.0 Flow of event dari use case ‘ ... ‘

                       1.1 Preconditions

                       1.2 Main Flow

                       1.3 Subflows

                       1.4 Alternative Flows




                               Gambar 6 Struktur Flow of Event



Berikut ini adalah contoh flow of event dari sebuah use case. Gambar 5 adalah flow
of event dari use case Pendaftaran Peserta. Sub bagian 1.1 adalah prakondisi yang
harus dilakukan sebelum sub bagian 1.2 dilaksanakan. Dalam contoh ini
prakondisinya adalah kesiapan data primer yang harus tersedia agar sistem dapat
berjalan. Contoh data primer misalnya data mahasiswa, data dosen, data ruang,
data matakuliah dll. Dalam use case diagram di atas data primer ini ditangani oleh
actor sistem administrasi jurusan.


       1.0 Flow of Event dari use case Pendaftaran Peserta

       1.1 Preconditions

       Sistem administrasi jurusan yang berhubungan dengan data mahasiswa telah dilaksanakan
       sehingga data mahasiswa telah tersedia.

       1.2 Main Flow

       Use case ini dimulai ketika panitia seminar menentukan waktu pelaksanaan seminar proposal
       skripsi dengan memasukkan data tahun ajaran, semester dan periode. Selanjutnya panitia
       memasukkan nomor induk mahasiswa (NIM) mahasiswa ke dalam sistem. Sistem akan
       memeriksa apakah mahasiswa tersebut ada di dalam database. Bila ada maka sistem akan
       menampilkan nama mahasiswa (E-1). Selanjutnya panitia seminar memasukkan judul
       proposal skripsi dari mahasiswa dan menyimpannya.

       1.3 Subflows

       Bila mahasiswa dinyatakan lulus tetapi perlu melakukan revisi, maka panitia melakukan edit
       judul proposal dan meng-update data tersebut.

       1.4 Alternative Flows

       E1 : bila NIM tidak ada maka sistem akan memberikan peringatan bahwa nama mahasiswa
       tidak ada dan disarankan untuk memeriksa kembali kebenaran dari NIM mahasiswa tersebut.
Gambar 7 Flow of Event dari use case Pendaftaran Peserta



    Main flow adalah aliran kejadian dengan asumsi semua kondisi bernilai true
    sehingga tidak ada pilihan yang harus diputuskan. Flow of event di atas
    menunjukkan bahwa mahasiswa dengan NIM tersebut memang ada di jurusan
    bersangkutan, kemudian judul dimasukkan dan data disimpan ke database. Item 1.3
    merupakan langkah yang harus dilakukan bila mahasiswa telah melakukan seminar
    dan dinyatakan lulus tetapi perlu melakukan revisi judul. Pada saat ini panitia perlu
    menampilkan kembali data pendaftaran peserta, meng-edit judul proposal lalu
    melakukan update terhadap data tersebut. Kode E-1 menunjukkan adanya kondisi
    perkecualian yang mungkin terjadi, kondisi ini merupakan alternative flow yang
    merupakan aliran kejadian yang harus dilaksanakan ketika kondisi main flow bernilai
    false. Flow of event ini akan menjadi bahan untuk pembuatan Activity Diagram.



2.2. Activity Diagram

    Activity diagram adalah bentuk visual dari flow of event. Apa yang disampaikan
    melalui kata-kata pada flow of event diterjemahkan dalam bentuk diagram sehingga
    detil dari sistem akan lebih mudah dipahami. Activity diagram dibuat untuk setiap
    use case yang ada dalam use case diagram.
masukkan
                                    Tahun Ajaran



                                    masukkan
                                    Semester



                                    masukkan
                                     periode




                                   masukkan NIM




                                    periksa NIM




                                                   No   tampil Pesan

                                   Yes


                                    tampil Nama




                                     input Judul




                                      input
                                    Pesyaratan



                                      simpan




          Gambar 8 Activity diagram untuk use case pendaftaran peserta



Gambar 8 adalah activity diagram dari flow of event pendaftaran peserta yang
digunakan untuk mendaftar peserta yang akan mengikuti seminar proposal skripsi.
Gambar 9 adalah activity diagram yang digunakan untuk melakukan update judul
proposal ketika seorang mahasiswa dinyatakan lulus seminar dengan revisi.
masukkan
                                         Tahun Ajaran


                                          masukkan
                                          Semester


                                          masukkan
                                           periode


                                         masukkan NIM




                                          periksa NIM




                                                         No   tampil Pesan




                                          tampil Nama




                                          tampil Judul




                                           edit Judul




                                          update Judul




              Gambar 9 Activity diagram pendaftaran peserta dengan subflow




2.3. Class Diagram

    Class diagram adalah diagram yang menampilkan class dan interaksi diantaranya.
    Bagi pengembang perangkat, lunak class diagram adalah alat utama dalam
    melakukan implementasi perangkat lunak yang dikembangkan.
Class dapat ditemukan melalui flow of event dari suatu use case dengan
memperhatikan kata benda yang ada dalam flow of event tersebut. Relasi adalah
koneksi antar class yang memungkinkan sebuah class mengetahui atribut dan
operasi dari class yang lain.

Berdasarkan use case diagram yang telah dijabarkan dalam flow of event dan
digambarkan dengan activity diagram maka kita bisa menentukan calon class yang
mungkin terlibat dalam SIRM.



    1.0 Flow of Event dari use case Pendaftaran Peserta

    1.1 Preconditions

    Sistem administrasi jurusan yang berhubungan dengan data mahasiswa telah dilaksanakan sehingga
    data mahasiswa telah tersedia.

    1.2 Main Flow

    Use case ini dimulai ketika panitia seminar menentukan waktu pelaksanaan seminar proposal skripsi
    dengan memasukkan data tahun ajaran, semester dan periode. Selanjutnya panitia memasukkan
    nomor induk mahasiswa (NIM) mahasiswa ke dalam form pendaftaran. Sistem akan memeriksa apakah
    mahasiswa tersebut ada di dalam database. Bila ada maka sistem akan menampilkan nama mahasiswa
    (E-1). Selanjutnya panitia seminar memasukkan judul proposal skripsi dari mahasiswa dan
    menyimpannya.

    1.3 Subflows

    Bila peserta dinyatakan lulus tetapi perlu melakukan revisi, maka panitia melakukan edit judul proposal
    skripsi dan meng-update data tersebut.

    1.4 Alternative Flows

    E1 : bila NIM tidak ada maka sistem akan memberikan peringatan bahwa nama mahasiswa tidak ada
    dan disarankan untuk memeriksa kembali kebenaran dari NIM mahasiswa tersebut.
Gambar 10 menemukan kandidat class dari flow of event pendaftaran peserta



Kata yang dicetak hijau pada gambar 10 adalah kadidat class yang ditemukan
dengan mencari kata benda dari flow of event. Kata-kata tersebut adalah :

•   Sistem administrasi jurusan

•   Data mahasiswa

•   Panitia seminar

•   Tahun ajaran

•   Semester

•   Periode

•   Form pendaftaran

•   Nama mahasiswa

•   Judul proposal skripsi

•   Mahasiswa

•   Peserta



Kandidat class tersebut belum tentu digunakan sebagai class, bisa jadi hanya
digunakan sebagai atribut dari class. Dalam hubungannya dengan pendaftaran
peserta, sistem administrasi jurusan merupakan sistem lain yang berhubungan
dengan SIRM dan bukan sebuah class. Dari sistem administrasi jurusan ini SIRM
mendapatkan data mahasiswa, sehingga data mahasiswa juga bukan sebuah class.
Panitia dipertimbangkan sebagai class karena dimungkinkan akan menjadi data yang
permanen. Tahun ajaran, semester dan periode adalah atribut bagi class. Form
pendaftaran adalah class yang akan digunakan untuk interaksi antara pengguna
dengan sistem. Nama mahasiswa dan judul proposal skripsi adalah atribut class.
Mahasiswa dan peserta adalah class karena akan menjadi data yang permanen
dalam database, tetapi peserta lebih erat kaitannya dengan SIRM. Dengan demikian
pada tahap awal ini terdapat class panitia, from pendaftaran dan peserta.
FormPendaftaran
                                                    tahunajaran
                                                    semester
                                                    periode
                                                    nim
                                                    nama
                                                    judul




                 <<Actor>>                                                                 <<Actor>>
                   panitia                                                                  peserta
              (from Use Case View)                                                      (from Use Case Vi ew)
               nama                                                                      nim
               jabatan                                                                   judul




                       Gambar 11 Class Diagram SIRM tahap awal



Pada tahap awal ini class diagram yang terbentuk masih sangat sederhana karena
hanya memiliki nama class dengan beberapa atribut dasar. Seiring dengan
pengamatan lebih lanjut terhadap activity diagram maka class diagram dapat
dilengkapi dengan atribut dan method seperti gambar 12.




                                       <<Actor>>                      FormPendaftaran
                                        peserta                       tahunajaran
                                 (from Use Case View)
                                                                      semester
                                     nim                              periode
                                     judul                            nim
                                                                      nama
                                                                      judul

                                                                      getData()
                                                                      saveDaftar()
                                       <<Actor>>                      updateDaftar()
                                         panitia
                                 (from Use Case View)
                                     nama
                                     jabatan




                          Gambar 12 Class Diagram SIRM revisi 1



Pada titik ini dipikirkan bahwa method getData() adalah method yang akan
digunakan untuk mengambil data mahasiswa berupa nama dan judul proposal
skripsi. Method saveDaftar() adalah method yang akan digunakan untuk
menyimpan data pendaftaran peserta dan updateDaftar() adalah method yang akan
digunakan untuk menyimpan kembali perubahan yang telah dilakukan terhadap
    judul proposal skripsi setelah dilakukan revisi.



2.4. Sequence Diagram

    Sequence diagram digunakan untuk menunjukkan partisipasi objek-objek dalam
    aliran yang melalui use case dengan mengirimkan pesan antar objek. Komponen
    dari sequence diagram adalah actor, objek dan message. Pada akhirnya objek harus
    dihubungkan dengan class dan message diubah menjadi method agar model
    menjadi benar.




                                                          frmdaftar :               konekpeserta
                           : panitia
                                                       FormPendaftaran


                                        setTahun( )


                                       setSemester( )


                                       setPeriode( )


                                         setNim( )


                                                                         getNama


                                                                         getJudul



                                         setJudul( )



                                                                     savePeserta




              Gambar 13 Sequence Diagram Pendaftaran Peserta tahap awal
Pada gambar 13 ada objek bernama konekpeserta yang memiliki message getNama,
getJudul dan savePeserta. Bila saat ini dilakukan check model maka akan muncul
pesan kesalahan seperti gambar 14. Hal ini terjadi karena objek konekpeserta belum
dihubungkan dengan class tertentu dan message belum menjadi method. Objek
yang telah dihubungkan dengan sebuah class tertentu ditandai dengan tanda titik
dua, misalnya frmdaftar:FormPendaftaran pada gambar 13. Sebuah method
ditandai dengan tanda kurung buka dan kurung tutup, misalnya setTahun(),
setSemester(), setPeriode(), setNim() dan setJudul().




            Gambar 14 Pesan kesalahan ketika dilakukan check model



Dari sequence diagram di atas terlihat bahwa ada kebutuhan untuk membentuk
class baru yang akan digunakan untuk meng-akses data mahasiswa dan data
peserta. Maka pada class diagram dapat ditambahkan class KoneksiPeserta untuk
menangani tugas ini.
<<Actor>>            FormPendaftaran   KoneksiPeserta
          peserta             tahunajaran
      (from Use Case Vi ew)
                              semester
       nim                    periode
       judul                  nim
                              nama
                              judul

                              getData()
                              saveDaftar()
                              updateDaftar()
         <<Actor>>            setNim()
           panitia            setTahun()
      (from Use Case Vi ew)   setSemester()
       nama                   setPeriode()
       jabatan                setJudul()




Gambar 15 Class Diagram setelah pembuatan Sequence Diagram
frmdaftar :                   konekpeserta :
           : panitia
                                         FormPendaftaran                  KoneksiPeserta


                          setTahun( )


                         setSemester( )


                         setPeriode( )


                           setNim( )


                                                            getNama( )


                                                            getJudul( )



                           setJudul( )



                                                           savePeserta( )




Gambar 16 Penambahan method di class KoneksiPeserta




     <<Actor>>                            FormPendaftaran                   KoneksiPeserta
      peserta                             tahunajaran
  (from Use Case View)
                                          semester                          getNama()
   nim                                    periode                           getJudul()
   judul                                  nim                               savePeserta()
                                          nama
                                          judul

                                          getData()
                                          saveDaftar()
                                          updateDaftar()
     <<Actor>>                            setNim()
       panitia                            setTahun()
  (from Use Case View)                    setSemester()
   nama                                   setPeriode()
   jabatan                                setJudul()
Gambar 17 Method pada class KoneksiPeserta



Karena fungsi dari method getData() dan saveDaftar() pada class FormPendaftaran
telah digantikan oleh method getNama(), getJudul() dan savePeserta() pada class
KoneksiPeserta maka method getData() dan saveDaftar() dihapus dari class
FormPendaftaran.




                   <<Actor>>           FormPendaftaran     KoneksiPeserta
                    peserta            tahunajaran
               (from Use Case View)
                                       semester            getNama()
                nim                    periode             getJudul()
                judul                  nim                 savePeserta()
                                       nama
                                       judul

                                       updateDaftar()
                                       setNim()
                                       setTahun()
                   <<Actor>>           setSemester()
                     panitia           setPeriode()
               (from Use Case View)    setJudul()
                nama
                jabatan




                          Gambar 18 Revisi class FormPendaftaran




                 <<Actor>>             FormPendaftaran     KoneksiPeserta
                  peserta              tahunajaran
              (from Use Case Vi ew)
                                       semester            getNama()
               nim                     periode             getJudul()
               judul                   nim                 savePeserta()
                                       nama                updatePeserta()
                                       judul

                                        setNim()
                                        setTahun()
                                        setSemester()
                 <<Actor>>              setPeriode()
                   panitia              setJudul()
              (from Use Case Vi ew)
               nama
               jabatan
Gambar 19 Class Diagram SIRM Revisi 2



    Selain class, dalam class diagram juga terdapat relasi yang menghubungkan satu
    class dengan class yang lain. Jenis-jenis relasi terdiri dari asosiasi, dependensi,
    agregasi, realisasi dan generalisasi. Asosiasi adalah bentuk yang paling umum dari
    hubungan antar class. Pada saatnya nanti, yaitu ketika proses coding dijalankan
    maka asosiasi ini akan menyebabkan suatu class mempunyai objek dari class yang
    lain.

    Dalam persoalan SIRM terdapat asosiasi antara class FormPendaftaran dengan class
    KoneksiPeserta, hal ini dapat diketahui dengan memperhatikan sequence diagram
    dimana terdapat message antara FormPendaftaran dengan KoneksiPeserta. Adanya
    message menunjukkan bahwa terdapat relasi antara suatu class dengan class yang
    lain.




                         <<Actor>>           FormPendaftaran   KoneksiPeserta
                          peserta            tahunajaran
                      (from Use Case View)
                                             semester          getNama()
                       nim                   periode           getJudul()
                       judul                 nim               savePeserta()
                                             nama              updatePeserta()
                                             judul

                                             setNim()
                                             setTahun()
                                             setSemester()
                         <<Actor>>           setPeriode()
                           panitia           setJudul()
                      (from Use Case View)
                       nama
                       jabatan




    Gambar 20 Asosiasi satu arah antara class FormPendaftaran & class KoneksiPeserta




2.5. State Diagram

    State diagram adalah diagram yang digunakan untuk menggambarkan siklus hidup
    sebuah objek tunggal dari saat dibuat sampai objek itu dihapus. State diagram
    memodelkan perilaku dinamis dari sebuah class. State diagram tidak dibuat untuk
    setiap class, tetapi hanya dibuat untuk class yang memiliki sifat dinamis. Gambar 21
    adalah contoh yang bagus untuk memahami makna dari sifat dinamis, dimana
    terdapat sebuah objek bernama penerbangan yang memiliki atribut
status_penerbangan. State dari variabel status_penerbangan ini dapat berada pada
kondisi : Sementara, Dijadwalkan, Terbuka, Penuh, Tertutup, Ditunda, Dalam
penerbangan, Dibatalkan dan Telah mendarat sesuai dengan nilai dari variabel class
penerbangan.




                                                                                        dijadwalkan
                  Sement ara        menyetujui jadwal penerbangan
                                                                     entry/ Upload jadwal penerbangan ke internet
                                                                     do/ Cek t anggal aktif

                            [ tanggal aktif <= 60 hari t anggal penerbangan ] / set jumlah penumpang = 0


           tambah/hapus penumpang
                                                                 tambah penumpang[ tempat duduk terakhir terjual ]

                                       terbuka                                                                                          penuh


                                                                                 hapus penumpang
                                                    10 menit sebelum take off                              10 menit sebelum take off

                                                                                                                                       dalam perjalanan
                  ditunda                                                               t ertut up             tak off
                                            Jadwal take off[ Pesawat tidak datang ]                                            exit/ catat waktu pendaratan
     do/ ^Penjadwal.jadwalUlang(waktu)
                                                                                                                                                  mendarat
                                                                             [ kurang dari 50 penumpang ]
                                                                                                                                             t elah
                                                    pesawat datang
                                                                                                                                            mendarat

                                                                                      dibatalkan
                [ 4 jam setelah jadwal take off ]
                                                              do/ mencari alt ernatif penerbangan untuk pelanggan




                             Gambar 21 State diagram untuk objek penerbangan



Bentuk segi empat yang ujungnya tidak lancip adalah simbol dari state. Penjelasan
dari beberapa state dia atas adalah sebagai berikut, State dalam keadaan terbuka
ketika jumlah penumpang lebih kecil dari 50 dalam pesawat. State dalam keadaan
penuh ketika jumlah penumpang sama dengan 50. State dalam keadaan dibatalkan
ketika jumlah penumpang kurang dari 50. State dalam keadaan tertutup 10 menit
sebelum jadwal take off. State dalam keadaan ditunda ketika jadwal take off
ternyata pesawat tidak datang. Kata-kata yang dicetak dengan warna hijau
menunjukkan variabel beserta nilainya. Dalam contoh di atas, perubahan nilai
variabel jumlah penumpang ternyata mempengaruhi nilai dari variabel
   status_penerbangan, dengan perubahan nilai variabel waktu dari jadwal take off
   juga mempengaruhi nilai dari variabel status_penerbangan dan perubahan nilai
   variabel status kedatangan pesawat juga mempengaruhi nilai dari variabel
   status_penerbangan. Inilah yang disebut dengan sifat dinamis dari sebuah objek.

   Dalam persoalan SIRM, khususnya bagian class FormPendaftaran, terdapat variabel
   tahun ajaran, semester, periode, nim, nama dan judul. Perubahan nilai dari variabel
   yang satu tidak memberikan efek pada nilai dari variabel lain sehingga dapat
   disimpulkan bahwa class FormPendaftaran tidak memiliki sifat dinamis seperti
   halnya objek penerbangan sehingga tidak perlu dibuat state diagram untuk class ini.
   State diagram dapat digunakan untuk membantu menemukan method dari sebuah
   class.




2.6. Component Diagram

   Menggambarkan organisasi modul dari software yang dikembangkan. Terdiri dari
   package, component dan hubungan diantara keduanya. Package merepresentasikan
   pembagian fisik dari sistem dan component merepresentasikan file dari software
   yang dikandung oleh package. Dalam bahasa pemrograman C++ file terdiri dari file
   dengan ekstensi h dan cpp sedangkan dalam bahasa pemrograman Java file
   berekstensi java.

   Gambar 22 adalah contoh component diagram dari sistem registrasi pada sebuah
   perguruan tinggi. Terdapat lima buah package yaitu interface, university, error
   handling, database dan fondation. Dalam setiap package terdapat file pendukung
   yang digunakan oleh sistem seperti tampak pada gambar 23.
Interface




                                                 University




                  Error Handling                 Database                         Fondations




                       Gambar 22 Contoh Component Diagram


                   Course                       CourseOffering                        UserInformation




                         ProfessorInformation                    StudentInformation




         Gambar 23 Contoh Software Component dari package University



Dalam persoalan SIRM tahap awal, didapat tiga buah package terdiri dari interface,
AksesDatabase dan fundamental. Package Interface berisi class-classs yang akan
digunakan untuk berinteraksi dengan pengguna. Package AksesDatabase adalah
pakage yang digunakan untuk melakukan koneksi dengan database. Package
fundamental berisi class-class yang memiliki kegunaan umum sehingga konsep
reusable dapat dilakukan dengan optimal.
Interface




                 AksesDatabase
                                                              Fundamental




                    Gambar 23 Contoh Component SIRM Tahap Awal




2.7. Deployment Diagram

   Deployment diagram adalah diagram yang digunakan memetakan software ke
   processing node. Menunjukkan konfigurasi elemen pemroses pada saat run time
   dan software yang ada di dalamnya.




                 Registration                      Database
                                                    Server




                                Dorm
                                                                Library

                                             Main
                                            Building




                           Gambar 24 Contoh Deployment Diagram
3. Implementasi

   Implementasi adalah tahap pembangunan perangkat lunak. Diagram terpenting yang
   digunakan pada tahap ini adalah class diagram. Diagram class tahap akhir untuk use case
   pendaftaran peserta tampak pada gambar 24.




               <<Actor>>            FormPendaftaran
                peserta            tahunajaran                           KoneksiPeserta
            (from Use Case View)   semester
             nim                   periode                               getNama()
             judul                                     +konekpeserta     getJudul()
                                   nim
                                   nama                                  savePeserta()
                                   judul                                 updatePeserta()

                                   setNim()
                                   setTahun()
                                   setSemester()
               <<Actor>>           setPeriode()
                 panitia           setJudul()
            (from Use Case View)   komponenVisual()
                                                               FormPenjadwalan
             nama                  aksiReaksi()
             jabatan




          Gambar 24 Class Diagram tahap akhir untuk use case Pendaftaran Peserta



   Bila diperhatikan lebih dalam method savePeserta() (gambar 25), pada tab General
   terdapat informasi nama dan kemablian dari method. Pada tab Detail (gambar 26) dapat
   ditambahkan argumen yang diperlukan oleh method agar dapat digunakan dengan
   benar.
Gambar 25 spesifikasi dari method savePeserta()




                         Gambar 26 Argumen dari method savePeserta()



3.1. Class FormPendaftaran



    import javax.swing.*;

    import java.awt.*;
import java.awt.event.*;

import java.sql.*;



public class FormPendaftaran extends JFrame

{

    String tahunajaran;

    String semester;

    String periode;

    String nim;

    String nama;

    String judul;



    JLabel lbltahunajaran = new JLabel ("Tahun Ajaran");

    JLabel lblsemester = new JLabel ("Semester");

    JLabel lblperiode = new JLabel ("Periode");

    JTextField txttahunajaran = new JTextField ("");

    JTextField txtsemester = new JTextField ("");

    JTextField txtperiode = new JTextField ("");



    JLabel lblnim = new JLabel ("NIM");

    JLabel lblnama = new JLabel ("Nama");

    JLabel lbljudul = new JLabel ("Judul");

    JLabel lblsyarat = new JLabel ("Persyaratan");

    JTextField txtnim = new JTextField ("");

    JTextField txtnama = new JTextField ("");

    JTextArea txtjudul = new JTextArea (3, 20);



    JButton tblsave = new JButton ("Save");

    JButton tblupdate = new JButton ("Update");

    JButton tblview = new JButton ("View Peserta");



    public Connection connection;
public Statement statement;



KoneksiPeserta konekpeserta=new KoneksiPeserta();



public FormPendaftaran()

{

    Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();

    setTitle("Form Pendaftaran Seminar Proposal Skripsi");

    setSize(400,380);

    int lebar = (screen.width - getSize().width) / 2;

    int tinggi = (screen.height - getSize().height) / 2;

    setLocation(lebar, tinggi);

    setResizable(false);

    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

    try

    {

        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

        connection = DriverManager.getConnection("jdbc:odbc:aksessirm;uid='admin';pw='admin'");

    }

    catch (Exception e)

    {

    }

}



public String setNim()

{

    nim=txtnim.getText();

    return nim;

}



public String setTahun()

{
tahunajaran=txttahunajaran.getText();

    return tahunajaran;

}



public String setSemester()

{

    semester=txtsemester.getText();

    return semester;

}



public String setPeriode()

{

    periode=txtperiode.getText();

    return periode;

}



public String setJudul()

{

    judul=txtjudul.getText();

    return judul;

}



void komponenVisual()

{

    getContentPane().setLayout(null);

    getContentPane().add(lbltahunajaran);

    lbltahunajaran.setBounds(10,10,100,20);

    getContentPane().add(txttahunajaran);

    txttahunajaran.setBounds(110,10,100,20);

    txttahunajaran.setBorder(BorderFactory.createEtchedBorder(1));



    getContentPane().add(lblsemester);
lblsemester.setBounds(10,30,100,20);

getContentPane().add(txtsemester);

txtsemester.setBounds(110,30,100,20);

txtsemester.setBorder(BorderFactory.createEtchedBorder(1));



getContentPane().add(lblperiode);

lblperiode.setBounds(10,50,100,20);

getContentPane().add(txtperiode);

txtperiode.setBounds(110,50,100,20);

txtperiode.setBorder(BorderFactory.createEtchedBorder(1));



getContentPane().add(lblnim);

lblnim.setBounds(10,70,100,20);

getContentPane().add(txtnim);

txtnim.setBounds(110,70,100,20);

txtnim.setBorder(BorderFactory.createEtchedBorder(1));



getContentPane().add(lblnama);

lblnama.setBounds(10,90,100,20);

getContentPane().add(txtnama);

txtnama.setBounds(110,90,250,20);

txtnama.setBorder(BorderFactory.createEtchedBorder(1));



getContentPane().add(lbljudul);

lbljudul.setBounds(10,110,100,20);



getContentPane().add(txtjudul);

txtjudul.setBounds(110,110,250,60);

txtjudul.setBorder(BorderFactory.createEtchedBorder(1));

txtjudul.setLineWrap(true);

txtjudul.setWrapStyleWord(true);
getContentPane().add(tblsave);

    tblsave.setBounds(260,260,100,20);

    getContentPane().add(tblupdate);

    tblupdate.setBounds(260,282,100,20);



    setVisible(true);

}



void aksiReaksi()

{

    txttahunajaran.addKeyListener(new KeyAdapter()

    {

          public void keyPressed(KeyEvent event)

        {

                if(event.getKeyCode()==event.VK_ENTER)

                {

                    txtsemester.requestFocus();

            }

        }

});



txtsemester.addKeyListener(new KeyAdapter()

{

    public void keyPressed(KeyEvent event)

    {

            if(event.getKeyCode()==event.VK_ENTER)

            {

                    txtperiode.requestFocus();

            }

      }

});
txtperiode.addKeyListener(new KeyAdapter()

{

    public void keyPressed(KeyEvent event)

    {

        if(event.getKeyCode()==event.VK_ENTER)

        {

            txtnim.requestFocus();

        }

    }

});



txtnim.addKeyListener(new KeyAdapter()

{

    public void keyPressed(KeyEvent event)

    {

        if(event.getKeyCode()==event.VK_ENTER)

        {

                    try

                {

                         nama=konekpeserta.getNama(connection,setNim());

                         txtnama.setText(nama);

                         judul=konekpeserta.getJudul(connection,setNim(),setTahun(),setSemester(),setPeriode());

                         txtjudul.setText(judul);

                    }

                catch(Exception e)

                {

                        JOptionPane.showMessageDialog(null,"Data     telah   ada   dalam   database","Konfirmasi",
                        JOptionPane.INFORMATION_MESSAGE);

                }

                    txtjudul.requestFocus();

            }

        }
});



txtjudul.addKeyListener(new KeyAdapter()

{

      public void keyPressed(KeyEvent event)

      {

              if(event.getKeyCode()==event.VK_ENTER)

              {

                  tblsave.requestFocus();

              }

      }

});



tblsave.addKeyListener(new KeyAdapter()

{

      public void keyPressed(KeyEvent event)

      {

              if(event.getKeyCode()==event.VK_ENTER)

              {

                  String prop="";

                  String post="";

                  judul=txtjudul.getText();

                  konekpeserta.savePeserta(connection,setNim(),judul,prop,post,setTahun(),setSemester(),

                  setPeriode());

                  txtnim.setText("");

                  txtnama.setText("");

                  txtjudul.setText("");

                  txtnim.requestFocus();

              }

          }

    });
tblupdate.addKeyListener(new KeyAdapter()

        {

            public void keyPressed(KeyEvent event)

            {

                  if(event.getKeyCode()==event.VK_ENTER)

                  {

                      judul=txtjudul.getText();

                      konekpeserta.updatePeserta(connection,setNim(),judul,setTahun(),setSemester(),

                      setPeriode());

                      txtnim.setText("");

                      txtnama.setText("");

                      txtjudul.setText("");

                      txtnim.requestFocus();

                  }

              }

        });

    }



    public static void main(String args[])

    {

        FormPendaftaran fp=new FormPendaftaran();



        fp.komponenVisual();

        fp.aksiReaksi();

    }

}




Bila source code tersebut kita jalankan maka akan diperoleh gambar 27. Setelah
informasi tahun ajaran, semester dan periode telah dimasukkan maka dapat
dimasukkan pula NIM mahasiswa. Setelah dilakukan penekanan tombol enter pada
komponen NIM maka nama mahasiswa akan ditampilkan dan bila mahasiswa
bersangkutan telah mengambil seminar proposal maka judulnya juga akan
ditampilkan. Tombol save digunakan untuk menyimpan data peserta baru dan data
update digunakan untuk melakukan perubahan terhadap judul skripsi yang telah
    ada.




                                Gambar 27 Form Pendaftaran Peserta



3.2. Class KoneksiPeserta
    import java.sql.*;

    public class KoneksiPeserta

    {

        public String getNama(Connection connection, String nimmhs)

        {

            String nm="";

            try

            {

                Statement statement = connection.createStatement();

                String sql="select NamaMahasiswa from TabelMahasiswa where NIM='"+nimmhs+"'";

                ResultSet rs=statement.executeQuery(sql);



                if(rs.next())
{

            nm=rs.getString(1);

        }

        statement.close();

    }

    catch (Exception e)

    {

    }

    return nm;

}



public String getJudul(Connection connection, String nimmhs,String thn,String smt,String prd)

{

    String jdl="";

    try

    {

        Statement statement = connection.createStatement();

        String sql="select Judul from TabelPeserta where NIM='"+nimmhs+"' and ThnAjaran='"+thn+"'

                        and Semester='"+smt+"' and Periode='"+prd+"'";

        ResultSet rs=statement.executeQuery(sql);



        if(rs.next())

        {

            jdl=rs.getString(1);

        }

        statement.close();

    }

    catch (Exception e)

    {

    }

    return jdl;

}
public void savePeserta(Connection connection, String nimmhs, String jdl,

                              String prop,String post,String thn,String smt,String prd)

{

    try

    {

        Statement statement = connection.createStatement();

        String sql="insert into TabelPeserta values ('"+nimmhs+"','"+jdl+"','"+prop+"',

                                                         '"+post+"','"+thn+"','"+smt+"','"+prd+"');";

        statement.executeUpdate(sql);

        statement.close();

    }

    catch (Exception e)

    {

    }

}



public void updatePeserta(Connection connection, String nimmhs,String judul,String thn,

                                                                                       String smt,String prd)

{

    try

    {

        Statement statement = connection.createStatement();

        String sql="update TabelPeserta set Judul='"+judul+"' where NIM='"+nimmhs+"'

                    and ThnAjaran='"+thn+"' and Semester='"+smt+"' and Periode='"+prd+"'";

        statement.executeUpdate(sql);

        statement.close();

    }

    catch (Exception e)

    {

    }

}
}




4. Tugas 2

   4.1. Buatlah analisis dan perancangan berorientasi objek untuk sistem pakar.



5. Daftar pustaka

   •   Quatrani, Terry.1998.Visual Modelling with Rational Rose and UML.Addison Wesley
       Longman inc.

   •   Sholiq.2006.Pemodelan Sistem Informasi Berorientasi Objek dengan UML.Graha
       Ilmu.Yogyakarta.

   •   Munawar.2005.Pemodelan Visual dengan UML.Graha Ilmu.Yogyakarta.

   •   Nugroho, Adi.2005.Rational Rose untuk Pemodelan Berorientasi Objek. Penerbit
       Informatika.Bandung.

   •   Dwi, Didik Prasetyo.2007.150         Rahasia    Pemrograman      Java.Elex   Media
       Komputindo.Jakarta.

Mais conteúdo relacionado

Mais procurados

Jbptunikompp gdl-rninankari-22216-12-unikom r-.
Jbptunikompp gdl-rninankari-22216-12-unikom r-.Jbptunikompp gdl-rninankari-22216-12-unikom r-.
Jbptunikompp gdl-rninankari-22216-12-unikom r-.Munir Maestro
 
Modul perkuliahan sim
Modul perkuliahan simModul perkuliahan sim
Modul perkuliahan simFirdaus Abadi
 
The synchronization of database at the faculty of engineering and the rectora...
The synchronization of database at the faculty of engineering and the rectora...The synchronization of database at the faculty of engineering and the rectora...
The synchronization of database at the faculty of engineering and the rectora...Yuyun Wabula
 
Its undergraduate-10283-paper
Its undergraduate-10283-paperIts undergraduate-10283-paper
Its undergraduate-10283-paperJamil Jamil
 
contoh analisa dan perancangan sistem absensi Siswa
contoh analisa dan perancangan sistem absensi Siswacontoh analisa dan perancangan sistem absensi Siswa
contoh analisa dan perancangan sistem absensi SiswaAsrin Nurjannah
 

Mais procurados (8)

Tugas 7
Tugas 7Tugas 7
Tugas 7
 
Jbptunikompp gdl-rninankari-22216-12-unikom r-.
Jbptunikompp gdl-rninankari-22216-12-unikom r-.Jbptunikompp gdl-rninankari-22216-12-unikom r-.
Jbptunikompp gdl-rninankari-22216-12-unikom r-.
 
Modul perkuliahan sim
Modul perkuliahan simModul perkuliahan sim
Modul perkuliahan sim
 
The synchronization of database at the faculty of engineering and the rectora...
The synchronization of database at the faculty of engineering and the rectora...The synchronization of database at the faculty of engineering and the rectora...
The synchronization of database at the faculty of engineering and the rectora...
 
Bab iv
Bab ivBab iv
Bab iv
 
Its undergraduate-10283-paper
Its undergraduate-10283-paperIts undergraduate-10283-paper
Its undergraduate-10283-paper
 
contoh analisa dan perancangan sistem absensi Siswa
contoh analisa dan perancangan sistem absensi Siswacontoh analisa dan perancangan sistem absensi Siswa
contoh analisa dan perancangan sistem absensi Siswa
 
jurnal tugas akhir
jurnal tugas akhirjurnal tugas akhir
jurnal tugas akhir
 

Semelhante a SIRM-Sistem Informasi Riset Mahasiswa

Contoh Power Point Presentasi Seminar Proposal Skripsi.pptx
Contoh Power Point Presentasi Seminar Proposal Skripsi.pptxContoh Power Point Presentasi Seminar Proposal Skripsi.pptx
Contoh Power Point Presentasi Seminar Proposal Skripsi.pptxAltiQuery
 
Proposal ta bakat dan minat
Proposal ta bakat dan minatProposal ta bakat dan minat
Proposal ta bakat dan minatRio Putra
 
Aplikasi Penghitung Lama Pengerjaan Skripsi
Aplikasi Penghitung Lama Pengerjaan SkripsiAplikasi Penghitung Lama Pengerjaan Skripsi
Aplikasi Penghitung Lama Pengerjaan SkripsiWim Sonevel
 
Tugas MPPL 3 - Pembuatan aplikasi pengajuan skripsi
Tugas MPPL 3 - Pembuatan aplikasi pengajuan skripsiTugas MPPL 3 - Pembuatan aplikasi pengajuan skripsi
Tugas MPPL 3 - Pembuatan aplikasi pengajuan skripsiBenito Dannes
 
SI - PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, ...
SI - PI, Yohana Premavari, Hapzi Ali,  Infrastruktur TI dan Teknologi Baru,  ...SI - PI, Yohana Premavari, Hapzi Ali,  Infrastruktur TI dan Teknologi Baru,  ...
SI - PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, ...yohana premavari
 
5 SI-PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, Un...
5 SI-PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, Un...5 SI-PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, Un...
5 SI-PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, Un...yohana premavari
 
SI - PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, U...
SI - PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru,  U...SI - PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru,  U...
SI - PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, U...yohana premavari
 
SI - PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, ...
SI - PI, Yohana Premavari, Hapzi Ali,  Infrastruktur TI dan Teknologi Baru,  ...SI - PI, Yohana Premavari, Hapzi Ali,  Infrastruktur TI dan Teknologi Baru,  ...
SI - PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, ...yohana premavari
 
SI - PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, ...
SI - PI, Yohana Premavari, Hapzi Ali,  Infrastruktur TI dan Teknologi Baru,  ...SI - PI, Yohana Premavari, Hapzi Ali,  Infrastruktur TI dan Teknologi Baru,  ...
SI - PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, ...yohana premavari
 
TUGAS 3 - Kerangka Acuan Kerja Sistem Informasi Skripsi
TUGAS 3 - Kerangka Acuan Kerja Sistem Informasi SkripsiTUGAS 3 - Kerangka Acuan Kerja Sistem Informasi Skripsi
TUGAS 3 - Kerangka Acuan Kerja Sistem Informasi Skripsisafiravanillia
 
SI & PI 4, Achmad Lukman Harun, Hapzi Ali, Infrasturktur TI dan Teknologi Bar...
SI & PI 4, Achmad Lukman Harun, Hapzi Ali, Infrasturktur TI dan Teknologi Bar...SI & PI 4, Achmad Lukman Harun, Hapzi Ali, Infrasturktur TI dan Teknologi Bar...
SI & PI 4, Achmad Lukman Harun, Hapzi Ali, Infrasturktur TI dan Teknologi Bar...Achmad Lukman Harun
 
Maya anggraini (43115120353 sim analisis dan perancangan sistem informasi_mer...
Maya anggraini (43115120353 sim analisis dan perancangan sistem informasi_mer...Maya anggraini (43115120353 sim analisis dan perancangan sistem informasi_mer...
Maya anggraini (43115120353 sim analisis dan perancangan sistem informasi_mer...maya_anggraini
 
maya anggraini 43115120353 (analisis dan perancangan sistem informasi_sim_pro...
maya anggraini 43115120353 (analisis dan perancangan sistem informasi_sim_pro...maya anggraini 43115120353 (analisis dan perancangan sistem informasi_sim_pro...
maya anggraini 43115120353 (analisis dan perancangan sistem informasi_sim_pro...maya_anggraini
 
Analisis sistem
Analisis sistemAnalisis sistem
Analisis sistemRyo Jamun
 
KAK Universitas Narotama_5116100060
KAK Universitas Narotama_5116100060KAK Universitas Narotama_5116100060
KAK Universitas Narotama_5116100060nadarosadi
 
Seminar proporsal 1815015085 Taufiq Saiful Ardhi.pptx
Seminar proporsal 1815015085 Taufiq Saiful Ardhi.pptxSeminar proporsal 1815015085 Taufiq Saiful Ardhi.pptx
Seminar proporsal 1815015085 Taufiq Saiful Ardhi.pptxTaufiqSaifulArdhi
 

Semelhante a SIRM-Sistem Informasi Riset Mahasiswa (20)

Contoh Power Point Presentasi Seminar Proposal Skripsi.pptx
Contoh Power Point Presentasi Seminar Proposal Skripsi.pptxContoh Power Point Presentasi Seminar Proposal Skripsi.pptx
Contoh Power Point Presentasi Seminar Proposal Skripsi.pptx
 
Proposal ta bakat dan minat
Proposal ta bakat dan minatProposal ta bakat dan minat
Proposal ta bakat dan minat
 
93 211-1-sm
93 211-1-sm93 211-1-sm
93 211-1-sm
 
Aplikasi Penghitung Lama Pengerjaan Skripsi
Aplikasi Penghitung Lama Pengerjaan SkripsiAplikasi Penghitung Lama Pengerjaan Skripsi
Aplikasi Penghitung Lama Pengerjaan Skripsi
 
Tugas MPPL 3 - Pembuatan aplikasi pengajuan skripsi
Tugas MPPL 3 - Pembuatan aplikasi pengajuan skripsiTugas MPPL 3 - Pembuatan aplikasi pengajuan skripsi
Tugas MPPL 3 - Pembuatan aplikasi pengajuan skripsi
 
Makalah seminar
Makalah seminarMakalah seminar
Makalah seminar
 
SI - PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, ...
SI - PI, Yohana Premavari, Hapzi Ali,  Infrastruktur TI dan Teknologi Baru,  ...SI - PI, Yohana Premavari, Hapzi Ali,  Infrastruktur TI dan Teknologi Baru,  ...
SI - PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, ...
 
5 SI-PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, Un...
5 SI-PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, Un...5 SI-PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, Un...
5 SI-PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, Un...
 
SI - PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, U...
SI - PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru,  U...SI - PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru,  U...
SI - PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, U...
 
SI - PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, ...
SI - PI, Yohana Premavari, Hapzi Ali,  Infrastruktur TI dan Teknologi Baru,  ...SI - PI, Yohana Premavari, Hapzi Ali,  Infrastruktur TI dan Teknologi Baru,  ...
SI - PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, ...
 
SI - PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, ...
SI - PI, Yohana Premavari, Hapzi Ali,  Infrastruktur TI dan Teknologi Baru,  ...SI - PI, Yohana Premavari, Hapzi Ali,  Infrastruktur TI dan Teknologi Baru,  ...
SI - PI, Yohana Premavari, Hapzi Ali, Infrastruktur TI dan Teknologi Baru, ...
 
TUGAS 3 - Kerangka Acuan Kerja Sistem Informasi Skripsi
TUGAS 3 - Kerangka Acuan Kerja Sistem Informasi SkripsiTUGAS 3 - Kerangka Acuan Kerja Sistem Informasi Skripsi
TUGAS 3 - Kerangka Acuan Kerja Sistem Informasi Skripsi
 
SI & PI 4, Achmad Lukman Harun, Hapzi Ali, Infrasturktur TI dan Teknologi Bar...
SI & PI 4, Achmad Lukman Harun, Hapzi Ali, Infrasturktur TI dan Teknologi Bar...SI & PI 4, Achmad Lukman Harun, Hapzi Ali, Infrasturktur TI dan Teknologi Bar...
SI & PI 4, Achmad Lukman Harun, Hapzi Ali, Infrasturktur TI dan Teknologi Bar...
 
Its undergraduate-10283-paper
Its undergraduate-10283-paperIts undergraduate-10283-paper
Its undergraduate-10283-paper
 
Maya anggraini (43115120353 sim analisis dan perancangan sistem informasi_mer...
Maya anggraini (43115120353 sim analisis dan perancangan sistem informasi_mer...Maya anggraini (43115120353 sim analisis dan perancangan sistem informasi_mer...
Maya anggraini (43115120353 sim analisis dan perancangan sistem informasi_mer...
 
maya anggraini 43115120353 (analisis dan perancangan sistem informasi_sim_pro...
maya anggraini 43115120353 (analisis dan perancangan sistem informasi_sim_pro...maya anggraini 43115120353 (analisis dan perancangan sistem informasi_sim_pro...
maya anggraini 43115120353 (analisis dan perancangan sistem informasi_sim_pro...
 
Analisis sistem
Analisis sistemAnalisis sistem
Analisis sistem
 
KAK Universitas Narotama_5116100060
KAK Universitas Narotama_5116100060KAK Universitas Narotama_5116100060
KAK Universitas Narotama_5116100060
 
Seminar proporsal 1815015085 Taufiq Saiful Ardhi.pptx
Seminar proporsal 1815015085 Taufiq Saiful Ardhi.pptxSeminar proporsal 1815015085 Taufiq Saiful Ardhi.pptx
Seminar proporsal 1815015085 Taufiq Saiful Ardhi.pptx
 
Prak rpl
Prak rplPrak rpl
Prak rpl
 

Mais de Ainul Yaqin

Materi Kuliah Sistem Informasi 12 Audit Menggunakan Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 12 Audit Menggunakan Sistem Informasi.pptxMateri Kuliah Sistem Informasi 12 Audit Menggunakan Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 12 Audit Menggunakan Sistem Informasi.pptxAinul Yaqin
 
Materi Kuliah Sistem Informasi 11 Manajemen Proyek Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 11 Manajemen Proyek Sistem Informasi.pptxMateri Kuliah Sistem Informasi 11 Manajemen Proyek Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 11 Manajemen Proyek Sistem Informasi.pptxAinul Yaqin
 
Materi Kuliah Sistem Informasi 10 Pengembangan Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 10 Pengembangan Sistem Informasi.pptxMateri Kuliah Sistem Informasi 10 Pengembangan Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 10 Pengembangan Sistem Informasi.pptxAinul Yaqin
 
Materi Kuliah Sistem Informasi 09 Perencanaan Strategis Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 09 Perencanaan Strategis Sistem Informasi.pptxMateri Kuliah Sistem Informasi 09 Perencanaan Strategis Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 09 Perencanaan Strategis Sistem Informasi.pptxAinul Yaqin
 
Materi Kuliah Sistem Informasi 08 Kecerdasan dalam Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 08 Kecerdasan dalam Sistem Informasi.pptxMateri Kuliah Sistem Informasi 08 Kecerdasan dalam Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 08 Kecerdasan dalam Sistem Informasi.pptxAinul Yaqin
 
Materi Kuliah Sistem Informasi 07 Enterprise System.pptx
Materi Kuliah Sistem Informasi 07 Enterprise System.pptxMateri Kuliah Sistem Informasi 07 Enterprise System.pptx
Materi Kuliah Sistem Informasi 07 Enterprise System.pptxAinul Yaqin
 
Materi Kuliah Sistem Informasi 06 Arsitektur Infrastruktur dalam Sistem Infor...
Materi Kuliah Sistem Informasi 06 Arsitektur Infrastruktur dalam Sistem Infor...Materi Kuliah Sistem Informasi 06 Arsitektur Infrastruktur dalam Sistem Infor...
Materi Kuliah Sistem Informasi 06 Arsitektur Infrastruktur dalam Sistem Infor...Ainul Yaqin
 
Materi Kuliah Sistem Informasi 05 Arsitektur Data dalam Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 05 Arsitektur Data dalam Sistem Informasi.pptxMateri Kuliah Sistem Informasi 05 Arsitektur Data dalam Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 05 Arsitektur Data dalam Sistem Informasi.pptxAinul Yaqin
 
Materi Kuliah Sistem Informasi 04 Teknologi dalam Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 04 Teknologi dalam Sistem Informasi.pptxMateri Kuliah Sistem Informasi 04 Teknologi dalam Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 04 Teknologi dalam Sistem Informasi.pptxAinul Yaqin
 
Materi Kuliah Sistem Informasi 03 Sistem Informasi dalam Organisasi.pptx
Materi Kuliah Sistem Informasi 03 Sistem Informasi dalam Organisasi.pptxMateri Kuliah Sistem Informasi 03 Sistem Informasi dalam Organisasi.pptx
Materi Kuliah Sistem Informasi 03 Sistem Informasi dalam Organisasi.pptxAinul Yaqin
 
Materi Kuliah Sistem Informasi 02 Pengantar Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 02 Pengantar Sistem Informasi.pptxMateri Kuliah Sistem Informasi 02 Pengantar Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 02 Pengantar Sistem Informasi.pptxAinul Yaqin
 
Materi Kuliah Sistem Informasi 01 Pendahuluan.pptx
Materi Kuliah Sistem Informasi 01 Pendahuluan.pptxMateri Kuliah Sistem Informasi 01 Pendahuluan.pptx
Materi Kuliah Sistem Informasi 01 Pendahuluan.pptxAinul Yaqin
 
Materi Kuliah Sistem Informasi 13 Tata Kelola Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 13 Tata Kelola Sistem Informasi.pptxMateri Kuliah Sistem Informasi 13 Tata Kelola Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 13 Tata Kelola Sistem Informasi.pptxAinul Yaqin
 
12 Software Measurement
12 Software Measurement12 Software Measurement
12 Software MeasurementAinul Yaqin
 
14 Software Engineering Economics
14 Software Engineering Economics14 Software Engineering Economics
14 Software Engineering EconomicsAinul Yaqin
 
13 Software Engineering Model and Methods
13 Software Engineering Model and Methods13 Software Engineering Model and Methods
13 Software Engineering Model and MethodsAinul Yaqin
 
08 Software Testing
08 Software Testing08 Software Testing
08 Software TestingAinul Yaqin
 
04 Software Design Strategies and Methods
04 Software Design Strategies and Methods04 Software Design Strategies and Methods
04 Software Design Strategies and MethodsAinul Yaqin
 
07 Software Construction Technology
07 Software Construction Technology07 Software Construction Technology
07 Software Construction TechnologyAinul Yaqin
 

Mais de Ainul Yaqin (20)

Materi Kuliah Sistem Informasi 12 Audit Menggunakan Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 12 Audit Menggunakan Sistem Informasi.pptxMateri Kuliah Sistem Informasi 12 Audit Menggunakan Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 12 Audit Menggunakan Sistem Informasi.pptx
 
Materi Kuliah Sistem Informasi 11 Manajemen Proyek Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 11 Manajemen Proyek Sistem Informasi.pptxMateri Kuliah Sistem Informasi 11 Manajemen Proyek Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 11 Manajemen Proyek Sistem Informasi.pptx
 
Materi Kuliah Sistem Informasi 10 Pengembangan Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 10 Pengembangan Sistem Informasi.pptxMateri Kuliah Sistem Informasi 10 Pengembangan Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 10 Pengembangan Sistem Informasi.pptx
 
Materi Kuliah Sistem Informasi 09 Perencanaan Strategis Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 09 Perencanaan Strategis Sistem Informasi.pptxMateri Kuliah Sistem Informasi 09 Perencanaan Strategis Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 09 Perencanaan Strategis Sistem Informasi.pptx
 
Materi Kuliah Sistem Informasi 08 Kecerdasan dalam Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 08 Kecerdasan dalam Sistem Informasi.pptxMateri Kuliah Sistem Informasi 08 Kecerdasan dalam Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 08 Kecerdasan dalam Sistem Informasi.pptx
 
Materi Kuliah Sistem Informasi 07 Enterprise System.pptx
Materi Kuliah Sistem Informasi 07 Enterprise System.pptxMateri Kuliah Sistem Informasi 07 Enterprise System.pptx
Materi Kuliah Sistem Informasi 07 Enterprise System.pptx
 
Materi Kuliah Sistem Informasi 06 Arsitektur Infrastruktur dalam Sistem Infor...
Materi Kuliah Sistem Informasi 06 Arsitektur Infrastruktur dalam Sistem Infor...Materi Kuliah Sistem Informasi 06 Arsitektur Infrastruktur dalam Sistem Infor...
Materi Kuliah Sistem Informasi 06 Arsitektur Infrastruktur dalam Sistem Infor...
 
Materi Kuliah Sistem Informasi 05 Arsitektur Data dalam Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 05 Arsitektur Data dalam Sistem Informasi.pptxMateri Kuliah Sistem Informasi 05 Arsitektur Data dalam Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 05 Arsitektur Data dalam Sistem Informasi.pptx
 
Materi Kuliah Sistem Informasi 04 Teknologi dalam Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 04 Teknologi dalam Sistem Informasi.pptxMateri Kuliah Sistem Informasi 04 Teknologi dalam Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 04 Teknologi dalam Sistem Informasi.pptx
 
Materi Kuliah Sistem Informasi 03 Sistem Informasi dalam Organisasi.pptx
Materi Kuliah Sistem Informasi 03 Sistem Informasi dalam Organisasi.pptxMateri Kuliah Sistem Informasi 03 Sistem Informasi dalam Organisasi.pptx
Materi Kuliah Sistem Informasi 03 Sistem Informasi dalam Organisasi.pptx
 
Materi Kuliah Sistem Informasi 02 Pengantar Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 02 Pengantar Sistem Informasi.pptxMateri Kuliah Sistem Informasi 02 Pengantar Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 02 Pengantar Sistem Informasi.pptx
 
Materi Kuliah Sistem Informasi 01 Pendahuluan.pptx
Materi Kuliah Sistem Informasi 01 Pendahuluan.pptxMateri Kuliah Sistem Informasi 01 Pendahuluan.pptx
Materi Kuliah Sistem Informasi 01 Pendahuluan.pptx
 
Materi Kuliah Sistem Informasi 13 Tata Kelola Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 13 Tata Kelola Sistem Informasi.pptxMateri Kuliah Sistem Informasi 13 Tata Kelola Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 13 Tata Kelola Sistem Informasi.pptx
 
01. Pendahuluan
01. Pendahuluan01. Pendahuluan
01. Pendahuluan
 
12 Software Measurement
12 Software Measurement12 Software Measurement
12 Software Measurement
 
14 Software Engineering Economics
14 Software Engineering Economics14 Software Engineering Economics
14 Software Engineering Economics
 
13 Software Engineering Model and Methods
13 Software Engineering Model and Methods13 Software Engineering Model and Methods
13 Software Engineering Model and Methods
 
08 Software Testing
08 Software Testing08 Software Testing
08 Software Testing
 
04 Software Design Strategies and Methods
04 Software Design Strategies and Methods04 Software Design Strategies and Methods
04 Software Design Strategies and Methods
 
07 Software Construction Technology
07 Software Construction Technology07 Software Construction Technology
07 Software Construction Technology
 

SIRM-Sistem Informasi Riset Mahasiswa

  • 1. Ilustrasi Materi Kuliah Sistem Berorientasi Objek Studi Kasus : Sistem Informasi Riset Mahasiswa (SIRM) Revisi tgl 28 September 2009 Fatchurrochman, M.Kom Tulisan ini adalah pendahuluan untuk memahami cara melakukan analisis, desain dan implementasi perangkat lunak menggunakan paradigma berorientasi objek. Tools yang digunakan untuk melakukan analisis dan desain adalah Rational Rose serta menggunakan bahasa pemrograman Java untuk implementasinya. Studi kasus yang digunakan adalah persoalan sederhana dalam kegiatan administrasi akademik di tingkat jurusan, dimana dimaksudkan bahwa dengan kasus sederhana ini berbagai aktifitas dalam sistem berorientasi objek dapat dilihat dengan jelas. Tulisan ini dibuat sebagai alat bantu bagi pembaca untuk mengenal sistem berorientasi objek. Tulisan ini tidak dimaksudkan sebagai pola dalam pembuatan sistem berorientasi objek karena disadari masih banyak hal yang belum tersentuh dalam materi ini karena keterbatasan pemahaman dan pengalaman penulis dalam memahami sistem berorientasi objek. Dengan adanya tulisan ini diharapkan bahwa pembaca mendapatkan gambaran tentang apa yang disebut dengan Sistem Berorientasi Objek dan memahami korelasi antara analisis dan desain sistem beserta implementasinya dalam bahasa pemrograman. Berbagai literatur dapat dipelajari lebih lanjut untuk mendapatkan pemahaman lebih akurat tentang sistem berorientasi objek. 1. Beginning a Project 1.1. Latar Belakang Sistem Informasi Riset Mahasiswa adalah sistem sederhana dalam kegiatan administratif di sebuah jurusan di lingkungan perguruan tinggi. Sistem ini berupaya melakukan otomasi terhadap kegiatan penelitian formal yang dilakukan mahasiswa dalam menempuh studinya. Jurusan berharap bahwa dengan adanya sistem ini, data akademik yang berhubungan dengan skripsi mahasiswa dapat terdokumentasi dengan baik sehingga dapat digunakan untuk memberikan laporan dengan cepat dan akurat pada fakultas dan mahasiswa. Pada akhirnya sistem ini diharapkan dapat membantu kelancaran mahasiswa dalam menempuh studinya di jurusan bersangkutan. 1.2. Problem Statement Sistem Informasi Riset Mahasiswa
  • 2. Dalam menempuh studi di perguruan tinggi, mahasiswa diwajibkan untuk melaksanakan penelitian sebagai bagian dari kegiatan akademisnya. Bentuk dari aktifitas ini adalah pembuatan skripsi di akhir masa perkuliahan. Prosedur pembuatan skripsi dimulai dengan pengajuan proposal skripsi oleh mahasiswa, pelaksanaan uji kelayakan proposal skripsi, penentuan dosen pembimbing dan pelaksanaan ujian skripsi. Sebagai tambahan, proses pembimbingan juga perlu didokumentasikan untuk mengetahui kemajuan mahasiswa dalam melaksanakan penelitian. Dalam tulisan ini proses yang berhubungan dengan kegiatan pembimbingan belum dilaksanakan karena saat ini lebih fokus pada proses utama kegiatan riset mahasiswa. Saat ini semua proses tersebut dilaksanakan dengan menggunakan perangkat lunak microsoft office, terutama excel dan word. Persoalan utama dengan kondisi ini adalah masalah integrasi data, konsistensi data dan kecepatan proses. Diperlukan sebuah sistem yang terintegrasi sehingga berbagai kebutuhan informasi seputar riset mahasiswa dapat ditampilkan dengan akurat dan cepat. Sistem yang baru ini dimulai ketika mahasiswa mengajukan proposal skripsi kepada panitia seminar proposal skripsi disertai dengan berbagai kelengkapan persyaratan administratif yang diperlukan, misalnya proposal sebanyak 3 exemplar dan poster/diagram blok. Dalam satu semester, seminar proposal dilaksanakan minimal dua kali sehingga mahasiswa yang tidak lulus pada gelombang pertama dapat mengikuti kembali di gelombang kedua atau gelombang berikutnya. Selanjutnya panitia menentukan jadwal seminar proposal skripsi yang terdiri dari waktu, ruang dan penguji. Aktifitas terakhir adalah pelaksanaan seminar proposal untuk menentukan apakah proposal layak dijadikan skripsi atau tidak. Pada saat ini dosen penguji akan memberikan nilai kepada mahasiswa bersangkutan. Dosen penguji terdiri dari 3 orang. Bila proposal tersebut dinilai layak maka jurusan akan menentukan pembimbing skripsi, serta mencatat kembali judul skripsi yang telah direvisi oleh mahasiswa. Data ini akan digunakan pada saat bimbingan dan ujian skripsi. Sistem juga akan memberikan laporan-laporan berupa informasi kepada mahasiswa status kelengkapan administratif peserta, jadwal seminar, nilai seminar dan dosen pembimbing skripsi. Bagi fakutas, sistem diharapkan dapat dengan cepat memberikan informasi tentang pelaksanaan seminar proposal yang akan digunakan untuk membuat SK penguji skripsi dan SK pembimbing skripsi. 2. Analis dan Desain Sistem 2.1. Use case Diagram Use Case Diagram adalah diagram yang menampilkan actor, use case dan relasi diantara keduanya dalam sebuah sistem. Use case diagram menggambarkan ruang
  • 3. lingkup dari sistem yang akan dibangun dan merupakan sarana komunikasi dengan pengguna akhir untuk mendapatkan pemahaman yang lebih baik tentang sistem yang akan dibuat. Kandidat actor yang terlibat dalam SIRM dapat dilakukan dengan memperhatikan problem statement di atas. Dari problem statement kandidat actor-nya adalah mahasiswa, panitia seminar dan penguji. Kandidat actor juga dapat diperoleh dengan menjawab pertanyaan-pertanyaan berikut : • Siapa yang terlibat dalam requirement tertentu o Sistem diharapkan dapat digunakan untuk menangani pendaftaran peserta. Kandidat actor : mahasiswa, panitia o Sistem diharapkan dapat digunakan untuk membuat jadwal pelaksanaan seminar. Kandidat actor : panitia o Sistem diharapkan dapat digunakan untuk memberikan penilaian pada saat presentasi. Kandidat actor : penguji, panitia o Sistem diharapkan dapat digunakan untuk menentukan pembimbing skripsi. Kandidat actor : panitia o Sistem diharapkan dapat segera memberikan laporan ke jurusan tentang pelaksanaan seminar proposal : panitia, jurusan o Sistem dapat segera memberikan laporan ke fakultas untuk membuat SK penguji dan SK pembimbing skripsi : panitia, fakultas • Dimana sistem akan digunakan dalam organisasi? Bagian Tata usaha jurusan • Siapa yang mendapat keuntungan dari penggunaan sistem? Jurusan, fakultas, bagian tata usaha jurusan, mahasiswa • Siapa yang menyediakan, menggunakan dan memindahkan informasi dalam sistem? Menyediakan informasi : mahasiswa, panitia, penguji. Menggunakan informasi : penguji. Memindahkan informasi dalam sistem : panitia, penguji. • Siapa yang akan mendukung dan mengelola sistem? Bagian tata usaha jurusan • Apakah sistem menggunakan sumberdaya external? Tidak. • Apakah satu orang memainkan beberapa tugas berbeda? Ya, seorang dosen dapat menjadi panitia juga sekaligus penguji. • Apakah sistem berinteraksi dengan sistem yang lain? Tidak.
  • 4. Dari berbagai langkah yang telah dilakukan di atas, kita memperoleh kandidat actor berikut : mahasiswa, panitia, penguji, dosen, bagian tata usaha jurusan, jurusan dan fakultas. Perlu ditentukan good actor dari kandidat actor tersebut dengan mempertimbangkan cara mereka menggunakan sistem, yaitu bila mereka menggunakan sistem dengan cara yang berbeda maka mereka adalah actor yang berbeda. Mahasiswa berperan sebagai penyedia data dalam sistem yang akan di bangun sehingga dipilih sebagai actor. Seorang dosen dapat berperan sebagai panitia dapat pula berperan sebagai penguji, berdasarkan problem statement dan requirement di atas, peran dosen sebagai actor tidaklah berbeda dengan peran dari panitia maupun penguji sehingga dosen untuk saat ini tidak dipertimbangkan sebagai actor. Bagian tata usaha jurusan adalah bagian dari panitia dan dalam persoalan SIRM ini perannya tidak berbeda dengan panitia sehingga tidak dipilih sebagai actor. Jurusan dan fakultas berperan menerima informasi dari sistem sehingga dipilih sebagai actor. Pada saat menentukan actor, perlu disadari bahwa actor adalah seseorang atau sesuatu yang memberikan informasi ke dalam sistem, memberikan dan menerima informasi dari sistem atau hanya menerima informasi dari sistem saja. Dari langkah-langkah di atas, actor dalam SIRM yang dipilih adalah mahasiswa, panitia, penguji, jurusan dan fakultas. Gambar 1 Actor dalam SIRM
  • 5. Setelah memilih actor, sekarang menentukan use case untuk melengkapi use case diagram yang sedang dibangun. Kandidat use case dapat ditemukan dengan menjawab pertanyaan-pertanyaan berikut: • Apakah tugas dari masing-masing actor? o Mahasiswa : menyerahkan berkas kelengkapan pendaftaran seminar proposal o Panitia : melakukan pendaftaran peserta seminar, membuat jadwal pelaksanaan seminar, menentukan pembimbing skripsi o Penguji : memberikan penilaian o Jurusan : menerima laporan pelaksanaan seminar o Fakultas : menerima laporan penguji seminar skripsi, menerima laporan pembimbing skripsi • Apakah ada actor yang membuat, menyimpan, mengubah, memindahkan atau membaca informasi dalam sistem? Ada. • Apakah use case akan membuat, menyimpan, mengubah, memindahkan atau membaca informasi ini? Ya. • Apakah ada actor yang memberikan informasi ke sistem bila terjadi perubahan external? Tidak. • Use case apa yang akan mendukung pengelolaan sistem? • Dapatkah semua fungsi dalam requirement dikerjakan oleh use case? Dapat. Langkah selanjutnya adalah menentukan use case yang baik dengan mempertimbangkan bahwa use case yang baik adalah use case yang merepresentasikan fungsi yang lengkap dari awal sampai akhir.
  • 6. Gambar 2 Use case dan actor dalam SIRM Komponen ketiga dari use case diagram adalah association, yang digunakan untuk menunjukkan hubungan antara actor dengan use case atau use case dengan use case yang lain. Petunjuk berikut dapat kita jadikan pedoman pada saat membuat asosiasi : • Jangan memodelkan asosiasi antara aktor ke aktor. • Jangan menggambarkan asosiasi secara langsung antara dua use case. • Setiap use case harus diinisiasi oleh actor, sehingga arah panah dimulai dari actor dan berakhir di use case, kecuali untuk relasi include dan extend. • Memasukkan informasi ke basis data menggunakan satu use case dan mengaksesnya menggunakan use case yang lain.
  • 7. Gambar 3 Use case Diagram SIRM Gambar 4 Use case Diagram SIRM revisi 1 Sampai disini diharapkan pihak pengembang maupun pihak pengguna/klien telah memperoleh gambaran umum dari sistem yang akan dibangun. Perubahan masih dapat dilakukan seiring dengan pemahaman yang lebih baik terhadap persoalan yang dihadapi seperti ditampilkan pada gambar 4, dimana ada penambahan actor
  • 8. sistem administrasi jurusan yang merupakan sistem lain yang berhubungan dengan SIRM ketika disadari bahwa SIRM ini membutuhkan informasi tentang data mahasiswa. Sistem administrasi jurusan adalah sistem yang digunakan oleh jurusan untuk menangani proses administrasi jurusan secara umum, misalnya data mahasiswa, data dosen dan data akademik. Pendaftaran Peserta peserta Sistem Adminstra... <<extend>> Penjadwalan Presentasi Laporan Penguji Seminar <<extend>> fakultas panitia Penentuan Pembimbing Laporan Pembimbing Skripsi Pembuatan Laporan Pelaksanaan jurusan Pemberian Nilai penguji Gambar 5 Use case Diagram SIRM revisi 2 Gambar 5 adalah revisi use case diagram yang dilakukan ketika disadari bahwa actor mahasiswa masih memiliki peran yang terlalu luas bagi SIRM, hanya mahasiswa yang telah siap dengan penelitian saja yang dapat mendaftar sebagai peserta seminar oleh karena itu actor mahasiswa diganti dengan actor peserta. Langkah selanjutnya adalah memahami lebih detil dari setiap fitur yang telah digambarkan melalui use case diagram di atas. Caranya yaitu dengan membuat flow of event (aliran kejadian) untuk setiap use case yang ada dalam diagram use case. Flow of event yang disebut juga skenario, adalah langkah detil yang terjadi dalam sebuah use case dan dinyatakan dengan kalimat. Struktur flow of event adalah sebagai berikut:
  • 9. 1.0 Flow of event dari use case ‘ ... ‘ 1.1 Preconditions 1.2 Main Flow 1.3 Subflows 1.4 Alternative Flows Gambar 6 Struktur Flow of Event Berikut ini adalah contoh flow of event dari sebuah use case. Gambar 5 adalah flow of event dari use case Pendaftaran Peserta. Sub bagian 1.1 adalah prakondisi yang harus dilakukan sebelum sub bagian 1.2 dilaksanakan. Dalam contoh ini prakondisinya adalah kesiapan data primer yang harus tersedia agar sistem dapat berjalan. Contoh data primer misalnya data mahasiswa, data dosen, data ruang, data matakuliah dll. Dalam use case diagram di atas data primer ini ditangani oleh actor sistem administrasi jurusan. 1.0 Flow of Event dari use case Pendaftaran Peserta 1.1 Preconditions Sistem administrasi jurusan yang berhubungan dengan data mahasiswa telah dilaksanakan sehingga data mahasiswa telah tersedia. 1.2 Main Flow Use case ini dimulai ketika panitia seminar menentukan waktu pelaksanaan seminar proposal skripsi dengan memasukkan data tahun ajaran, semester dan periode. Selanjutnya panitia memasukkan nomor induk mahasiswa (NIM) mahasiswa ke dalam sistem. Sistem akan memeriksa apakah mahasiswa tersebut ada di dalam database. Bila ada maka sistem akan menampilkan nama mahasiswa (E-1). Selanjutnya panitia seminar memasukkan judul proposal skripsi dari mahasiswa dan menyimpannya. 1.3 Subflows Bila mahasiswa dinyatakan lulus tetapi perlu melakukan revisi, maka panitia melakukan edit judul proposal dan meng-update data tersebut. 1.4 Alternative Flows E1 : bila NIM tidak ada maka sistem akan memberikan peringatan bahwa nama mahasiswa tidak ada dan disarankan untuk memeriksa kembali kebenaran dari NIM mahasiswa tersebut.
  • 10. Gambar 7 Flow of Event dari use case Pendaftaran Peserta Main flow adalah aliran kejadian dengan asumsi semua kondisi bernilai true sehingga tidak ada pilihan yang harus diputuskan. Flow of event di atas menunjukkan bahwa mahasiswa dengan NIM tersebut memang ada di jurusan bersangkutan, kemudian judul dimasukkan dan data disimpan ke database. Item 1.3 merupakan langkah yang harus dilakukan bila mahasiswa telah melakukan seminar dan dinyatakan lulus tetapi perlu melakukan revisi judul. Pada saat ini panitia perlu menampilkan kembali data pendaftaran peserta, meng-edit judul proposal lalu melakukan update terhadap data tersebut. Kode E-1 menunjukkan adanya kondisi perkecualian yang mungkin terjadi, kondisi ini merupakan alternative flow yang merupakan aliran kejadian yang harus dilaksanakan ketika kondisi main flow bernilai false. Flow of event ini akan menjadi bahan untuk pembuatan Activity Diagram. 2.2. Activity Diagram Activity diagram adalah bentuk visual dari flow of event. Apa yang disampaikan melalui kata-kata pada flow of event diterjemahkan dalam bentuk diagram sehingga detil dari sistem akan lebih mudah dipahami. Activity diagram dibuat untuk setiap use case yang ada dalam use case diagram.
  • 11. masukkan Tahun Ajaran masukkan Semester masukkan periode masukkan NIM periksa NIM No tampil Pesan Yes tampil Nama input Judul input Pesyaratan simpan Gambar 8 Activity diagram untuk use case pendaftaran peserta Gambar 8 adalah activity diagram dari flow of event pendaftaran peserta yang digunakan untuk mendaftar peserta yang akan mengikuti seminar proposal skripsi. Gambar 9 adalah activity diagram yang digunakan untuk melakukan update judul proposal ketika seorang mahasiswa dinyatakan lulus seminar dengan revisi.
  • 12. masukkan Tahun Ajaran masukkan Semester masukkan periode masukkan NIM periksa NIM No tampil Pesan tampil Nama tampil Judul edit Judul update Judul Gambar 9 Activity diagram pendaftaran peserta dengan subflow 2.3. Class Diagram Class diagram adalah diagram yang menampilkan class dan interaksi diantaranya. Bagi pengembang perangkat, lunak class diagram adalah alat utama dalam melakukan implementasi perangkat lunak yang dikembangkan.
  • 13. Class dapat ditemukan melalui flow of event dari suatu use case dengan memperhatikan kata benda yang ada dalam flow of event tersebut. Relasi adalah koneksi antar class yang memungkinkan sebuah class mengetahui atribut dan operasi dari class yang lain. Berdasarkan use case diagram yang telah dijabarkan dalam flow of event dan digambarkan dengan activity diagram maka kita bisa menentukan calon class yang mungkin terlibat dalam SIRM. 1.0 Flow of Event dari use case Pendaftaran Peserta 1.1 Preconditions Sistem administrasi jurusan yang berhubungan dengan data mahasiswa telah dilaksanakan sehingga data mahasiswa telah tersedia. 1.2 Main Flow Use case ini dimulai ketika panitia seminar menentukan waktu pelaksanaan seminar proposal skripsi dengan memasukkan data tahun ajaran, semester dan periode. Selanjutnya panitia memasukkan nomor induk mahasiswa (NIM) mahasiswa ke dalam form pendaftaran. Sistem akan memeriksa apakah mahasiswa tersebut ada di dalam database. Bila ada maka sistem akan menampilkan nama mahasiswa (E-1). Selanjutnya panitia seminar memasukkan judul proposal skripsi dari mahasiswa dan menyimpannya. 1.3 Subflows Bila peserta dinyatakan lulus tetapi perlu melakukan revisi, maka panitia melakukan edit judul proposal skripsi dan meng-update data tersebut. 1.4 Alternative Flows E1 : bila NIM tidak ada maka sistem akan memberikan peringatan bahwa nama mahasiswa tidak ada dan disarankan untuk memeriksa kembali kebenaran dari NIM mahasiswa tersebut.
  • 14. Gambar 10 menemukan kandidat class dari flow of event pendaftaran peserta Kata yang dicetak hijau pada gambar 10 adalah kadidat class yang ditemukan dengan mencari kata benda dari flow of event. Kata-kata tersebut adalah : • Sistem administrasi jurusan • Data mahasiswa • Panitia seminar • Tahun ajaran • Semester • Periode • Form pendaftaran • Nama mahasiswa • Judul proposal skripsi • Mahasiswa • Peserta Kandidat class tersebut belum tentu digunakan sebagai class, bisa jadi hanya digunakan sebagai atribut dari class. Dalam hubungannya dengan pendaftaran peserta, sistem administrasi jurusan merupakan sistem lain yang berhubungan dengan SIRM dan bukan sebuah class. Dari sistem administrasi jurusan ini SIRM mendapatkan data mahasiswa, sehingga data mahasiswa juga bukan sebuah class. Panitia dipertimbangkan sebagai class karena dimungkinkan akan menjadi data yang permanen. Tahun ajaran, semester dan periode adalah atribut bagi class. Form pendaftaran adalah class yang akan digunakan untuk interaksi antara pengguna dengan sistem. Nama mahasiswa dan judul proposal skripsi adalah atribut class. Mahasiswa dan peserta adalah class karena akan menjadi data yang permanen dalam database, tetapi peserta lebih erat kaitannya dengan SIRM. Dengan demikian pada tahap awal ini terdapat class panitia, from pendaftaran dan peserta.
  • 15. FormPendaftaran tahunajaran semester periode nim nama judul <<Actor>> <<Actor>> panitia peserta (from Use Case View) (from Use Case Vi ew) nama nim jabatan judul Gambar 11 Class Diagram SIRM tahap awal Pada tahap awal ini class diagram yang terbentuk masih sangat sederhana karena hanya memiliki nama class dengan beberapa atribut dasar. Seiring dengan pengamatan lebih lanjut terhadap activity diagram maka class diagram dapat dilengkapi dengan atribut dan method seperti gambar 12. <<Actor>> FormPendaftaran peserta tahunajaran (from Use Case View) semester nim periode judul nim nama judul getData() saveDaftar() <<Actor>> updateDaftar() panitia (from Use Case View) nama jabatan Gambar 12 Class Diagram SIRM revisi 1 Pada titik ini dipikirkan bahwa method getData() adalah method yang akan digunakan untuk mengambil data mahasiswa berupa nama dan judul proposal skripsi. Method saveDaftar() adalah method yang akan digunakan untuk menyimpan data pendaftaran peserta dan updateDaftar() adalah method yang akan
  • 16. digunakan untuk menyimpan kembali perubahan yang telah dilakukan terhadap judul proposal skripsi setelah dilakukan revisi. 2.4. Sequence Diagram Sequence diagram digunakan untuk menunjukkan partisipasi objek-objek dalam aliran yang melalui use case dengan mengirimkan pesan antar objek. Komponen dari sequence diagram adalah actor, objek dan message. Pada akhirnya objek harus dihubungkan dengan class dan message diubah menjadi method agar model menjadi benar. frmdaftar : konekpeserta : panitia FormPendaftaran setTahun( ) setSemester( ) setPeriode( ) setNim( ) getNama getJudul setJudul( ) savePeserta Gambar 13 Sequence Diagram Pendaftaran Peserta tahap awal
  • 17. Pada gambar 13 ada objek bernama konekpeserta yang memiliki message getNama, getJudul dan savePeserta. Bila saat ini dilakukan check model maka akan muncul pesan kesalahan seperti gambar 14. Hal ini terjadi karena objek konekpeserta belum dihubungkan dengan class tertentu dan message belum menjadi method. Objek yang telah dihubungkan dengan sebuah class tertentu ditandai dengan tanda titik dua, misalnya frmdaftar:FormPendaftaran pada gambar 13. Sebuah method ditandai dengan tanda kurung buka dan kurung tutup, misalnya setTahun(), setSemester(), setPeriode(), setNim() dan setJudul(). Gambar 14 Pesan kesalahan ketika dilakukan check model Dari sequence diagram di atas terlihat bahwa ada kebutuhan untuk membentuk class baru yang akan digunakan untuk meng-akses data mahasiswa dan data peserta. Maka pada class diagram dapat ditambahkan class KoneksiPeserta untuk menangani tugas ini.
  • 18. <<Actor>> FormPendaftaran KoneksiPeserta peserta tahunajaran (from Use Case Vi ew) semester nim periode judul nim nama judul getData() saveDaftar() updateDaftar() <<Actor>> setNim() panitia setTahun() (from Use Case Vi ew) setSemester() nama setPeriode() jabatan setJudul() Gambar 15 Class Diagram setelah pembuatan Sequence Diagram
  • 19. frmdaftar : konekpeserta : : panitia FormPendaftaran KoneksiPeserta setTahun( ) setSemester( ) setPeriode( ) setNim( ) getNama( ) getJudul( ) setJudul( ) savePeserta( ) Gambar 16 Penambahan method di class KoneksiPeserta <<Actor>> FormPendaftaran KoneksiPeserta peserta tahunajaran (from Use Case View) semester getNama() nim periode getJudul() judul nim savePeserta() nama judul getData() saveDaftar() updateDaftar() <<Actor>> setNim() panitia setTahun() (from Use Case View) setSemester() nama setPeriode() jabatan setJudul()
  • 20. Gambar 17 Method pada class KoneksiPeserta Karena fungsi dari method getData() dan saveDaftar() pada class FormPendaftaran telah digantikan oleh method getNama(), getJudul() dan savePeserta() pada class KoneksiPeserta maka method getData() dan saveDaftar() dihapus dari class FormPendaftaran. <<Actor>> FormPendaftaran KoneksiPeserta peserta tahunajaran (from Use Case View) semester getNama() nim periode getJudul() judul nim savePeserta() nama judul updateDaftar() setNim() setTahun() <<Actor>> setSemester() panitia setPeriode() (from Use Case View) setJudul() nama jabatan Gambar 18 Revisi class FormPendaftaran <<Actor>> FormPendaftaran KoneksiPeserta peserta tahunajaran (from Use Case Vi ew) semester getNama() nim periode getJudul() judul nim savePeserta() nama updatePeserta() judul setNim() setTahun() setSemester() <<Actor>> setPeriode() panitia setJudul() (from Use Case Vi ew) nama jabatan
  • 21. Gambar 19 Class Diagram SIRM Revisi 2 Selain class, dalam class diagram juga terdapat relasi yang menghubungkan satu class dengan class yang lain. Jenis-jenis relasi terdiri dari asosiasi, dependensi, agregasi, realisasi dan generalisasi. Asosiasi adalah bentuk yang paling umum dari hubungan antar class. Pada saatnya nanti, yaitu ketika proses coding dijalankan maka asosiasi ini akan menyebabkan suatu class mempunyai objek dari class yang lain. Dalam persoalan SIRM terdapat asosiasi antara class FormPendaftaran dengan class KoneksiPeserta, hal ini dapat diketahui dengan memperhatikan sequence diagram dimana terdapat message antara FormPendaftaran dengan KoneksiPeserta. Adanya message menunjukkan bahwa terdapat relasi antara suatu class dengan class yang lain. <<Actor>> FormPendaftaran KoneksiPeserta peserta tahunajaran (from Use Case View) semester getNama() nim periode getJudul() judul nim savePeserta() nama updatePeserta() judul setNim() setTahun() setSemester() <<Actor>> setPeriode() panitia setJudul() (from Use Case View) nama jabatan Gambar 20 Asosiasi satu arah antara class FormPendaftaran & class KoneksiPeserta 2.5. State Diagram State diagram adalah diagram yang digunakan untuk menggambarkan siklus hidup sebuah objek tunggal dari saat dibuat sampai objek itu dihapus. State diagram memodelkan perilaku dinamis dari sebuah class. State diagram tidak dibuat untuk setiap class, tetapi hanya dibuat untuk class yang memiliki sifat dinamis. Gambar 21 adalah contoh yang bagus untuk memahami makna dari sifat dinamis, dimana terdapat sebuah objek bernama penerbangan yang memiliki atribut
  • 22. status_penerbangan. State dari variabel status_penerbangan ini dapat berada pada kondisi : Sementara, Dijadwalkan, Terbuka, Penuh, Tertutup, Ditunda, Dalam penerbangan, Dibatalkan dan Telah mendarat sesuai dengan nilai dari variabel class penerbangan. dijadwalkan Sement ara menyetujui jadwal penerbangan entry/ Upload jadwal penerbangan ke internet do/ Cek t anggal aktif [ tanggal aktif <= 60 hari t anggal penerbangan ] / set jumlah penumpang = 0 tambah/hapus penumpang tambah penumpang[ tempat duduk terakhir terjual ] terbuka penuh hapus penumpang 10 menit sebelum take off 10 menit sebelum take off dalam perjalanan ditunda t ertut up tak off Jadwal take off[ Pesawat tidak datang ] exit/ catat waktu pendaratan do/ ^Penjadwal.jadwalUlang(waktu) mendarat [ kurang dari 50 penumpang ] t elah pesawat datang mendarat dibatalkan [ 4 jam setelah jadwal take off ] do/ mencari alt ernatif penerbangan untuk pelanggan Gambar 21 State diagram untuk objek penerbangan Bentuk segi empat yang ujungnya tidak lancip adalah simbol dari state. Penjelasan dari beberapa state dia atas adalah sebagai berikut, State dalam keadaan terbuka ketika jumlah penumpang lebih kecil dari 50 dalam pesawat. State dalam keadaan penuh ketika jumlah penumpang sama dengan 50. State dalam keadaan dibatalkan ketika jumlah penumpang kurang dari 50. State dalam keadaan tertutup 10 menit sebelum jadwal take off. State dalam keadaan ditunda ketika jadwal take off ternyata pesawat tidak datang. Kata-kata yang dicetak dengan warna hijau menunjukkan variabel beserta nilainya. Dalam contoh di atas, perubahan nilai
  • 23. variabel jumlah penumpang ternyata mempengaruhi nilai dari variabel status_penerbangan, dengan perubahan nilai variabel waktu dari jadwal take off juga mempengaruhi nilai dari variabel status_penerbangan dan perubahan nilai variabel status kedatangan pesawat juga mempengaruhi nilai dari variabel status_penerbangan. Inilah yang disebut dengan sifat dinamis dari sebuah objek. Dalam persoalan SIRM, khususnya bagian class FormPendaftaran, terdapat variabel tahun ajaran, semester, periode, nim, nama dan judul. Perubahan nilai dari variabel yang satu tidak memberikan efek pada nilai dari variabel lain sehingga dapat disimpulkan bahwa class FormPendaftaran tidak memiliki sifat dinamis seperti halnya objek penerbangan sehingga tidak perlu dibuat state diagram untuk class ini. State diagram dapat digunakan untuk membantu menemukan method dari sebuah class. 2.6. Component Diagram Menggambarkan organisasi modul dari software yang dikembangkan. Terdiri dari package, component dan hubungan diantara keduanya. Package merepresentasikan pembagian fisik dari sistem dan component merepresentasikan file dari software yang dikandung oleh package. Dalam bahasa pemrograman C++ file terdiri dari file dengan ekstensi h dan cpp sedangkan dalam bahasa pemrograman Java file berekstensi java. Gambar 22 adalah contoh component diagram dari sistem registrasi pada sebuah perguruan tinggi. Terdapat lima buah package yaitu interface, university, error handling, database dan fondation. Dalam setiap package terdapat file pendukung yang digunakan oleh sistem seperti tampak pada gambar 23.
  • 24. Interface University Error Handling Database Fondations Gambar 22 Contoh Component Diagram Course CourseOffering UserInformation ProfessorInformation StudentInformation Gambar 23 Contoh Software Component dari package University Dalam persoalan SIRM tahap awal, didapat tiga buah package terdiri dari interface, AksesDatabase dan fundamental. Package Interface berisi class-classs yang akan digunakan untuk berinteraksi dengan pengguna. Package AksesDatabase adalah pakage yang digunakan untuk melakukan koneksi dengan database. Package fundamental berisi class-class yang memiliki kegunaan umum sehingga konsep reusable dapat dilakukan dengan optimal.
  • 25. Interface AksesDatabase Fundamental Gambar 23 Contoh Component SIRM Tahap Awal 2.7. Deployment Diagram Deployment diagram adalah diagram yang digunakan memetakan software ke processing node. Menunjukkan konfigurasi elemen pemroses pada saat run time dan software yang ada di dalamnya. Registration Database Server Dorm Library Main Building Gambar 24 Contoh Deployment Diagram
  • 26. 3. Implementasi Implementasi adalah tahap pembangunan perangkat lunak. Diagram terpenting yang digunakan pada tahap ini adalah class diagram. Diagram class tahap akhir untuk use case pendaftaran peserta tampak pada gambar 24. <<Actor>> FormPendaftaran peserta tahunajaran KoneksiPeserta (from Use Case View) semester nim periode getNama() judul +konekpeserta getJudul() nim nama savePeserta() judul updatePeserta() setNim() setTahun() setSemester() <<Actor>> setPeriode() panitia setJudul() (from Use Case View) komponenVisual() FormPenjadwalan nama aksiReaksi() jabatan Gambar 24 Class Diagram tahap akhir untuk use case Pendaftaran Peserta Bila diperhatikan lebih dalam method savePeserta() (gambar 25), pada tab General terdapat informasi nama dan kemablian dari method. Pada tab Detail (gambar 26) dapat ditambahkan argumen yang diperlukan oleh method agar dapat digunakan dengan benar.
  • 27. Gambar 25 spesifikasi dari method savePeserta() Gambar 26 Argumen dari method savePeserta() 3.1. Class FormPendaftaran import javax.swing.*; import java.awt.*;
  • 28. import java.awt.event.*; import java.sql.*; public class FormPendaftaran extends JFrame { String tahunajaran; String semester; String periode; String nim; String nama; String judul; JLabel lbltahunajaran = new JLabel ("Tahun Ajaran"); JLabel lblsemester = new JLabel ("Semester"); JLabel lblperiode = new JLabel ("Periode"); JTextField txttahunajaran = new JTextField (""); JTextField txtsemester = new JTextField (""); JTextField txtperiode = new JTextField (""); JLabel lblnim = new JLabel ("NIM"); JLabel lblnama = new JLabel ("Nama"); JLabel lbljudul = new JLabel ("Judul"); JLabel lblsyarat = new JLabel ("Persyaratan"); JTextField txtnim = new JTextField (""); JTextField txtnama = new JTextField (""); JTextArea txtjudul = new JTextArea (3, 20); JButton tblsave = new JButton ("Save"); JButton tblupdate = new JButton ("Update"); JButton tblview = new JButton ("View Peserta"); public Connection connection;
  • 29. public Statement statement; KoneksiPeserta konekpeserta=new KoneksiPeserta(); public FormPendaftaran() { Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); setTitle("Form Pendaftaran Seminar Proposal Skripsi"); setSize(400,380); int lebar = (screen.width - getSize().width) / 2; int tinggi = (screen.height - getSize().height) / 2; setLocation(lebar, tinggi); setResizable(false); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); connection = DriverManager.getConnection("jdbc:odbc:aksessirm;uid='admin';pw='admin'"); } catch (Exception e) { } } public String setNim() { nim=txtnim.getText(); return nim; } public String setTahun() {
  • 30. tahunajaran=txttahunajaran.getText(); return tahunajaran; } public String setSemester() { semester=txtsemester.getText(); return semester; } public String setPeriode() { periode=txtperiode.getText(); return periode; } public String setJudul() { judul=txtjudul.getText(); return judul; } void komponenVisual() { getContentPane().setLayout(null); getContentPane().add(lbltahunajaran); lbltahunajaran.setBounds(10,10,100,20); getContentPane().add(txttahunajaran); txttahunajaran.setBounds(110,10,100,20); txttahunajaran.setBorder(BorderFactory.createEtchedBorder(1)); getContentPane().add(lblsemester);
  • 31. lblsemester.setBounds(10,30,100,20); getContentPane().add(txtsemester); txtsemester.setBounds(110,30,100,20); txtsemester.setBorder(BorderFactory.createEtchedBorder(1)); getContentPane().add(lblperiode); lblperiode.setBounds(10,50,100,20); getContentPane().add(txtperiode); txtperiode.setBounds(110,50,100,20); txtperiode.setBorder(BorderFactory.createEtchedBorder(1)); getContentPane().add(lblnim); lblnim.setBounds(10,70,100,20); getContentPane().add(txtnim); txtnim.setBounds(110,70,100,20); txtnim.setBorder(BorderFactory.createEtchedBorder(1)); getContentPane().add(lblnama); lblnama.setBounds(10,90,100,20); getContentPane().add(txtnama); txtnama.setBounds(110,90,250,20); txtnama.setBorder(BorderFactory.createEtchedBorder(1)); getContentPane().add(lbljudul); lbljudul.setBounds(10,110,100,20); getContentPane().add(txtjudul); txtjudul.setBounds(110,110,250,60); txtjudul.setBorder(BorderFactory.createEtchedBorder(1)); txtjudul.setLineWrap(true); txtjudul.setWrapStyleWord(true);
  • 32. getContentPane().add(tblsave); tblsave.setBounds(260,260,100,20); getContentPane().add(tblupdate); tblupdate.setBounds(260,282,100,20); setVisible(true); } void aksiReaksi() { txttahunajaran.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent event) { if(event.getKeyCode()==event.VK_ENTER) { txtsemester.requestFocus(); } } }); txtsemester.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent event) { if(event.getKeyCode()==event.VK_ENTER) { txtperiode.requestFocus(); } } });
  • 33. txtperiode.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent event) { if(event.getKeyCode()==event.VK_ENTER) { txtnim.requestFocus(); } } }); txtnim.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent event) { if(event.getKeyCode()==event.VK_ENTER) { try { nama=konekpeserta.getNama(connection,setNim()); txtnama.setText(nama); judul=konekpeserta.getJudul(connection,setNim(),setTahun(),setSemester(),setPeriode()); txtjudul.setText(judul); } catch(Exception e) { JOptionPane.showMessageDialog(null,"Data telah ada dalam database","Konfirmasi", JOptionPane.INFORMATION_MESSAGE); } txtjudul.requestFocus(); } }
  • 34. }); txtjudul.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent event) { if(event.getKeyCode()==event.VK_ENTER) { tblsave.requestFocus(); } } }); tblsave.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent event) { if(event.getKeyCode()==event.VK_ENTER) { String prop=""; String post=""; judul=txtjudul.getText(); konekpeserta.savePeserta(connection,setNim(),judul,prop,post,setTahun(),setSemester(), setPeriode()); txtnim.setText(""); txtnama.setText(""); txtjudul.setText(""); txtnim.requestFocus(); } } });
  • 35. tblupdate.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent event) { if(event.getKeyCode()==event.VK_ENTER) { judul=txtjudul.getText(); konekpeserta.updatePeserta(connection,setNim(),judul,setTahun(),setSemester(), setPeriode()); txtnim.setText(""); txtnama.setText(""); txtjudul.setText(""); txtnim.requestFocus(); } } }); } public static void main(String args[]) { FormPendaftaran fp=new FormPendaftaran(); fp.komponenVisual(); fp.aksiReaksi(); } } Bila source code tersebut kita jalankan maka akan diperoleh gambar 27. Setelah informasi tahun ajaran, semester dan periode telah dimasukkan maka dapat dimasukkan pula NIM mahasiswa. Setelah dilakukan penekanan tombol enter pada komponen NIM maka nama mahasiswa akan ditampilkan dan bila mahasiswa bersangkutan telah mengambil seminar proposal maka judulnya juga akan ditampilkan. Tombol save digunakan untuk menyimpan data peserta baru dan data
  • 36. update digunakan untuk melakukan perubahan terhadap judul skripsi yang telah ada. Gambar 27 Form Pendaftaran Peserta 3.2. Class KoneksiPeserta import java.sql.*; public class KoneksiPeserta { public String getNama(Connection connection, String nimmhs) { String nm=""; try { Statement statement = connection.createStatement(); String sql="select NamaMahasiswa from TabelMahasiswa where NIM='"+nimmhs+"'"; ResultSet rs=statement.executeQuery(sql); if(rs.next())
  • 37. { nm=rs.getString(1); } statement.close(); } catch (Exception e) { } return nm; } public String getJudul(Connection connection, String nimmhs,String thn,String smt,String prd) { String jdl=""; try { Statement statement = connection.createStatement(); String sql="select Judul from TabelPeserta where NIM='"+nimmhs+"' and ThnAjaran='"+thn+"' and Semester='"+smt+"' and Periode='"+prd+"'"; ResultSet rs=statement.executeQuery(sql); if(rs.next()) { jdl=rs.getString(1); } statement.close(); } catch (Exception e) { } return jdl; }
  • 38. public void savePeserta(Connection connection, String nimmhs, String jdl, String prop,String post,String thn,String smt,String prd) { try { Statement statement = connection.createStatement(); String sql="insert into TabelPeserta values ('"+nimmhs+"','"+jdl+"','"+prop+"', '"+post+"','"+thn+"','"+smt+"','"+prd+"');"; statement.executeUpdate(sql); statement.close(); } catch (Exception e) { } } public void updatePeserta(Connection connection, String nimmhs,String judul,String thn, String smt,String prd) { try { Statement statement = connection.createStatement(); String sql="update TabelPeserta set Judul='"+judul+"' where NIM='"+nimmhs+"' and ThnAjaran='"+thn+"' and Semester='"+smt+"' and Periode='"+prd+"'"; statement.executeUpdate(sql); statement.close(); } catch (Exception e) { } }
  • 39. } 4. Tugas 2 4.1. Buatlah analisis dan perancangan berorientasi objek untuk sistem pakar. 5. Daftar pustaka • Quatrani, Terry.1998.Visual Modelling with Rational Rose and UML.Addison Wesley Longman inc. • Sholiq.2006.Pemodelan Sistem Informasi Berorientasi Objek dengan UML.Graha Ilmu.Yogyakarta. • Munawar.2005.Pemodelan Visual dengan UML.Graha Ilmu.Yogyakarta. • Nugroho, Adi.2005.Rational Rose untuk Pemodelan Berorientasi Objek. Penerbit Informatika.Bandung. • Dwi, Didik Prasetyo.2007.150 Rahasia Pemrograman Java.Elex Media Komputindo.Jakarta.