Master of Use Case


Empat belas use case
Empat puluh block
Empat orang pria…
Ditambah seorang wanita…

Sudra System menutup kuliah Rekayasa Perangkat Lunak semester dua tahun 2007-2008 di teknik Informatika <itebeh> dengan presentasinya tentang desain perangkat lunak berorientasi objek yang mencengangkan dunia. Hahaha.  Ini dia fotonya setelah presentasi:

Hari ini cukup menarik bagi saya. Setelah kurang lebih tiga bulan bekerja sama membuat laporan seputar analisis dan desain perangkat lunak, kelompok saya akhirnya tampil presentasi juga. Presentasi dalam kuliah empat SKS saya ini agak beda, pemirsa. Sang dosen adalah orang yang lumayan cerewet soal kostum. Jadilah setiap tiga minggu sekali, setiap kelompok berlomba-lomba untuk tampil sekeren mungkin saat presentasi. Nah, kebetulan saya dan teman-teman setuju buat make batik. Taraaa…persis dah kami kaya orang mau kondangan bareng. Selain itu, karena kelompok pertama yang tampil sebelum kami memiliki topik yang sama dengan kami, akhirnya bu dosen menawarkan kami tampil terlebih dahulu kemudian baru sesi tanya jawab untuk kedua kelompok dijadikan satu. Berhubung forum kelas menerima dan dua kelompok terkait menerima tawaran tersebut, yeah..maka acara presentasi hari ini langsung berubah jadi seminar. Seminar object oriented design in salon-operational software. Wih, keren kan🙂 Hehehe.

Baru kali ini saya merasa sangat puas setelah melakukan presentasi. Setelah dipikir-pikir, ternyata penyebabnya selain didukung rasa kepercayaan diri yang tinggi dari kostum, juga karena setiap anggota dalam kelompok saya totalitas dalam bekerja sehingga menghasilkan sebuah karya yang tidak sekedar “tugas”, tapi layak untuk “dijual ke khalayak umum”. Hmm, ini kenarsisan saya saja sih sebenarnya😛. Yah, ibarat sales lah, ketika dia merasa barang yang dia tawarkan itu bagus, tentu dia akan lebih percaya diri dalam mempromosikan dagangannya kan? That’s the point.

Lalu, apa sih sebenarnya yang kami buat?

Berangkat dari materi kuliah kami pada bab Object Oriented Software Engineering (OOSE) nih pemirsa, kami membuat perancangan suatu perangkat lunak yang dapat diterapkan di sebuah salon untuk membantu sistem operasionalnya. Kami menyebut perangkat lunak rancangan kami “Sally’s Salon”. Dalam OOSE, perancangan diimplementasikan dalam use case dan block. Use case adalah kasus penggunaan perangkat lunak yang mungkin dilakukan oleh sistem luar atau user. Misalnya, dalam Sally’s Salon ada use case -use case sebagai berikut:

Mencatat transaksi penjualan
Mengecek status keanggotaan pengunjung
Meminta spesifikasi produk atau layanan
Melayani pemesanan produk dan layanan
Mengelola membership salon
Membuat laporan history anggota
Mencatat history transaksi anggota
Mengelola jenis barang yang akan dijual
Mengelola jenis layanan yang disediakan salon
Mengelola inventaris keperluan salon
Mencatat pengeluaran dan pemasukan uang dalam salon
Mengelola penggajian karyawan salon
Membuat laporan finansial salon
Mengelola akun pengguna software beserta role-nya

Masing-masing use case di atas dilakukan user tertentu yang dalam OOSE disebut sebagai aktor. Jika use case-use case di atas dituangkan dalam bentuk diagram use case seperti di bawah ini, maka aktor adalah gambar orang di luar kotak. Sisi-sisi kotak menggambarkan batas sistem perangkat lunak dengan sistem di luarnya (system border atau system boundary).

Use case merupakan landasan pokok pembuatan kelas-kelas yang nantinya akan diwujudkan programmer dalam suatu source code. Use case dapat digambarkan dengan diagram kelas analisis atau sequence diagram (disebut pula diagram interaksi). Untuk membuat diagram-diagram dalam OOSE ini, dibutuhkan sebuah perangkat lunak khusus desain OO, misalnya StartUML. Mau tahu contoh diagram kelas analisis dan sequence diagram itu kaya gimana? Silakan lihat gambar di bawah ini:

Contoh diagram kelas analisis dalam use case “Mencatat Transaksi Penjualan”

Misalnya, kelas-kelas analisis dari use case di atas adalah IF_Cashier(interface), Pencatat Transaksi(control), Pengenal Status Anggota(control), Database Transaksi (entity) dan Database Aggota(entity). Kelas interface berhubungan dengan antarmuka yang akan diakses pengguna, kelas control berhubungan dengan eksekusi operasi-operasi, dan entity berhubungan dengan penyimpanan data.

Contoh sequence diagram dalam use case “Mencatat Transaksi Penjualan”

Yang menarik dalam perancangan secara OOSE adalah jika use case perangkat lunak kompleks. Semakin banyak use case maka diagram kelas analisis dan sequence diagram yang dibuat akan lebih banyak lagi. Misalnya nih, dari use case-use case di atas, ditambah use case mengelola bonus pegawai, mengelola waiting list, mengelola warning atau reminder kepada pelanggan, dan sebagainya.

Awal dapat tugas ini dulu, saya sempat hopeless lho…karena nggak ngerti apa itu use case, diagram kelas, sequence diagram, dan sebagainya. Tetapi, ternyata benar apa yang dikatakan ayah saya bahwa tugas bagi anak teknik itu penting karena kita belajar paling banyak dari tugas, bukan dari kuliah. Benar juga, setelah mengerjakan tugas, saya tidak sekedar mengerti apa itu use case dan kawan-kawannya tetapi juga dapat membuat diagramnya di StartUML. Keahlian saya semakin bertambah ketika use case-use case itu harus dirubah, dikurangi, atau ditambah. Lama-lama saya jadi tahu mana yang benar mana yang salah. Makin seru lagi kalau ada perbedaan pendapat dengan teman sekelompok saya, kami jadi bisa saling bertukar pikiran dan menganalisis bagaimana membuat use case yang benar. Mengerjakan tugas ini selama dua minggu rasanya saya udah kaya Master of Use Case saja…Hahaha.

Nah, seperti yang sudah saya jelaskan di depan tadi, selain ada perancangan use case, ada juga perancangan block. Block dalam hal ini dapat diartikan sebagai kelas yang akan membangun modul-modul dalam program jika rancangan perangkat lunak diwujudkan menjadi perangkat lunak yang sesungguhnya. Inilah menariknya desain OOSE, yaitu ia sangat dekat sekali dengan implementasi alias proses coding. Nah, kelompok saya sempat membuat heboh tuh tadi pagi gara-garanya jumlah block yang dirancang banyak sekali dan jika digambar, akan menjadi seruwet ini:

klik gambar untuk memperbesar

Wow sekali, bukan…salut buat teman saya yang udah bikin ini🙂

Sebelum presentasi, saya khawatir teman-teman saya yang menyaksikan jadi boring abis saking banyaknya block kami. Tapi rupanya, pujian dari dosen kami mampu membuat seisi kelas fokus lagi (haduh, narsis lagi…). Mengapa bisa sebanyak itu? alasannya simpel, karena memang yang dibutuhkan segitu. Mau berbagi pengalaman aja nih, dalam OOSE kadang kita telah memperkirakan bahwa jumlah block kita ada sekian, namun ketika sudah mengimplementasikannya, ternyata banyak kelas-kelas baru yang perlu kita ciptakan agar semua yang direncanakan dalam use case dapat terpenuhi. Itulah yang terjadi pada kelompok saya.

Kembali ke presentasi hari ini…
Lagi-lagi, saya dapat pelajaran dari dosen RPL saya. Pertama, idenya agar kami menjadi orang yang beda saat presentasi boleh juga. Seru kali ya kalo maju presentasi bajunya selalu ber-dresscode🙂 Kedua, beliau berpesan ketika menggarap TA atau laporan apa pun kelak, jangan lupa tentukan asumsi sebanyak-banyanya sehingga tidak ada celah sedikit yang dapat ditembus penonton untuk bertanya (hehe) dan menunjukkan bahwa pemikiran kita sudah maju jauh ke depan. Yeah, kalo meminjam istilah Narenda sih, kita harus “pongah” ketika presentasi! Anggap saja “jurinya” nggak tahu apa-apa. Hehehe.

Leave a comment

18 Comments

  1. Pertamaaaaxxxxx………..
    Hehehehe….Dresscodenya OK jg tu. Pake batik….
    Cinta INdonesia………..

    Reply
  2. Buset dah… Baru tugas RPL udah kaya gini. Kalo PPL ntar jadinya gimana? Ckckck…🙂

    Yang kalimat “Use case dapat digambarkan dengan diagram kelas analisis atau sequence diagram”. Kok rasanya agak aneh ya. Rasanya ga cocok aja kalo dalam kalimatnya pake ‘dapat digambarkan dengan’.

    Reply
  3. dimana2.. [gak hanya teknik kali Ga] tugas itu penting. Karena manusia lebih banyak belajar dari pengalaman [learning by doing] ketimbang ceramah…

    Reply
  4. @window : Yo’i Men, bukan cinta Indonesia, tapi the power of Java! Haha
    @reiSHA : Iya tuh, sebelum kamu ngerasa aneh, aku juga udah ngerasa aneh kok, Kak..Hehehe. Jadi apa dunk yang tepat? Mungkin biar lebih mudah dipahami orang ‘awam’ aja biarin lah tetep gitu. Hehehe.

    Reply
  5. SEMANGKA!!!😀

    Reply
  6. Ega, kapan kita ber-RPL ria lagi nih??
    Hehehe..semoga engga lagi deh..

    Reply
  7. baru RPL….

    Reply
  8. MiKaH

     /  August 14, 2008

    mba ega nanya dong kalo mba ega n teman2 referensinya buat tugas rpl ini darimana y?
    kira2 saya bisa dapatkan g y?
    thx
    kayaknya menarik tuh jd pgn belajar juga hehehe
    thx
    hatur nuhun nya’…

    Reply
  9. Assalamualaikum…
    Hasil kerja yang bagus..
    Salam kenal ya…

    Reply
  10. kok sequencenya gak jelas sih??

    lagi bingung ttg sequence nih..
    pliiiissss bgt kasih pencerahan,,

    tlg emailin ke gw yah,,
    klo perlu penjelasannya juga,,

    pentiiiing bgt!!!

    gw doain lu masuk surga,,
    amiiiinn..

    hatur nuhun nya’

    Reply
  11. awalnya saya juga binggung apa itu usecase, hehehe … maklum RPLnya masih pake tersturktur …😛

    Reply
  12. cool… tulisanna ok
    salam kenal aja deh….

    Reply
  13. eco

     /  March 7, 2009

    Boleh juga tuh rancangannya, BTW pake softwarenya UML ap Rasional Roses,.., gw lagi mulai belajar pake UML tp pusing 7 keliling,….

    Reply
  14. ady

     /  August 27, 2009

    askum klo use case diagramna pke software netbeans jadinya beda gag ya…n kug gambarnya kurang jelas……thx

    Reply
  15. memang sip uml dengan rasional rose

    Reply
  1. Membahas Use Case dan Kawan-kawannya (lagi) - Bagian 1 « cReAtiVegA’s dayEri…
  2. Belajar Instan Component Based Software Engineering « .:: si /-|ebat ::.

Wait! Don't forget to leave a reply here.. :D

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: