LAPORAN PEMROGRAMAN BERORIENTASI OBJEK “USE CASE DIAGRAM “ Disusun untuk melengkapi salah satu tugas Pemrograman Berorientasi Objek Disusun oleh : Eko Oktafianto 065116213 Gustian Herlambang 065116231 Imelda Putri A nggraini 065116214 Nur Fahrina C haerunnisa 065116238 Utep 065116215 Novandi Dewantara 065116 (………………………………………) Dosen Mata Kuliah : HalimahTusSadiah M.Kom FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS PAKUAN BOGOR 2017 KATA PENGANTAR Segala Puji bagi Allah SWT, Tuhan Yang Maha Esa yang telah melimpahkan rahmat dan hidayah kepada kita semua sehingga kita dapat menyelesaikan makalah ini dengan baik. Banyak sekali masalah yang dihadapi oleh programmer dalam menbuat aplikasi khususnya yang berorientasi objek seperti Java. Lalu apa sebenarnya pemrograman orientasi objek itu ? Karena pada umumnya program itu digunakan untuk menyelesaikan masalah program yang rumit dan semakin meningkat seiring berjalannya waktu.Maka di dalam laporan ini kami akan membahas tentang apa itu program orientasi objek dan apa saja komponen penting yang ada di dalamnya. Dan disini pun kami akan membahas tentang use case internet serta UML (Unified Modeling Language ). Harapan kami laporan ini dapat berguna bagi siapa saja dan tentunya dalam penyusunanya jauh dari kata sempurna. Untuk itu kritik,ide, dan saran yang membangun sangat kami butuhkan demi pengembangan makalah ini dimasa mendatang. Terimakasih. Bogor, 15 September 2017 Penyusun i DAFTAR ISI DAFTAR ISI...................................................................................................................... ii BAB I .................................................................................................................................. 1 PENDAHULUAN ............................................................................................................. 1 A. Latar Belakang ...................................................................................................... 1 B. Tujuan .................................................................................................................... 1 C. Rumusan Masalah ................................................................................................ 1 BAB II ................................................................................................................................ 2 PEMBAHASAN ................................................................................................................ 2 A. Definisi Pemrograman Berorientasi Objek ........................................................ 2 B. Komponen pada Pemrograman Berorientasi Objek ......................................... 2 C. Contoh dari Pemrograman Berorientasi Objek ( OOP ) .................................. 3 D. Konsep Pemrograman Berorientasi Objek ........................................................ 4 E. Kelebihan dan Kekurangan OOP ....................................................................... 5 F. UML ( Unified Modeling Language ) .................................................................. 6 G. Use Case Programming .................................................................................... 7 BAB III............................................................................................................................. 11 PENUTUP........................................................................................................................ 11 A. Kesimpulan .......................................................................................................... 11 B. Saran dan Kritik ................................................................................................. 11 DAFTAR PUSTAKA ...................................................................................................... 12 ii BAB I PENDAHULUAN A. Latar Belakang Manusia saat ini telah dipermudah dengan banyaknya aplikasi, mulai dari sektor pendidikan hingga sektor bisnis sekalipun. Pernahkah Anda membayangkan bagaimana program itu dibuat? Atau Anda pernah memikirkan bagaimana paradigma aplikasi itu? Nah, pemrograman berorientasi objek di sini berperan. Pemrograman berorientasi objek di sini lebih menekankan kepada paradigma aplikasi yang setiap hari rangkanya semakin rumit. Pemrograman berorientasikan program nantinya juga sangat membantu dalam penyelesaian masalah pemrograman yang kompleks. Untuk menyelesaikannya pun banyak hal atau komponen yang ada dalam materi pemrograman ini misalnya Kelas, atribut, dan lain sebagainya. Oleh karena itu dalam makalah ini kami akan memaparkan : 1. 2. 3. 4. 5. 6. Definisi Pemrograman Berorientasi Objek. Prinsip Pemrograman Berorientrasi Objek. Definisi OOP ( Objek Oriented Program). UML (Unified Modeling Language ) Tujuan penggunaan Pemrograman Berorientasi Objek. Use Case Program. B. Tujuan Makalah ini bertujuan untuk menyajikan dan menjelaskan mengenai dasar pemrograman berorientasi objek dan use case program. C. Rumusan Masalah 1. 2. 3. 4. 5. 6. Apa definisi dari Pemrograman Berorientasi Objek ? Apa prinsip Pemrograman Berorientasi Objek ? Bagaimana dengan definisi OOP ( Objek Oriented Program) ? Apa itu UML ? Apa tujuan penggunaan Pemrograman Berorientasi Objek ? Apa itu Use Case Program ? 1 BAB II PEMBAHASAN A. Definisi Pemrograman Berorientasi Objek Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Object Oriented Programming (OOP) adalah suatu metode dalam pembuatan program, dengan tujuan untuk menyelesaikan kompleksnya berbagai masalah program yang terus meningkat. Ada dua bagian penting dalam Object Oriented Programming yaitu properties dan event. Properties memiliki nama dan nilai, sementara event hanya memiliki nama dan biasanya berhubungan dengan metode, behavior, function dan action. Dalam melakukan pemecahan masalah Object Oriented Programming tidak memandang bagaimana cara memecahkan suatu masalah secara terstruktur, melainkan bagaimana suatu masalah itu dapat diselesaikan dengan menentukan objek-objek apa saja yang dapat memecahkan masalah tersebut. Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat. Contoh dari program ini adalah : Visual FoxPro, Java, C++, Visual Basic, Phyton, PHP , dan C#. B. Komponen pada Pemrograman Berorientasi Objek Memiliki beberapa komponen sebagai berikut: a. Kelas(Kelas) Kelas (Kelas) adalah penggambaran satu kumpulan objek yang memiliki atribut.Kelas mirip dengan tipe data yang ada pada pemrograman non objek, akan tetapi lebih komprehensif karena terdapat struktur dan sekaligus karakteristiknya. Kelas diibaratkan sebagai jantung dalam pemrograman berbasis objek.Kelas juga disebut dengan template atau prototipe/blue prints yang mendefinisikan variabel-variabel dan metode-metode secara umum b. Objek (Object) Objek adalah entitas yang memiliki atribut, karakter, dan disertai kondisi. Objek mempresentasikan konsep seperti mahasiswa, memprestasikan konsep kehidupan di kampus. Objek merupakan teknik yang digunakan untuk menyelesaikan masalah yang muncul pada pengembangan perangkat lunak atau software. Teknik objek ini merupakan teknik yang efektif digunakan untuk menemukan cara yang tepat dalam membangun sistem dan menjadi metode yang paling banyak digunakan oleh developmentperangkat lunak. Karakteristik objek adalah : Setiap objek memiliki atribut sebagai suatu status (state). Setiap objek memiliki tingkah laku (behavior). Contoh : objek sepeda. Memiliki atribut (state) misalnya pedal, roda, jeruji, warna, jumlah roda. Memiliki tingkah laku (behavior) misalnya kecepatan menaik/menurun,perpindahan gigi sepeda. Penggambaran pemrograman berorientasi objek sama dengan penggambaranpada dunia nyata. Pada pemrograman berorientasi objek : state disimpan pada variabel. Tingkah laku disimpan pada metode. Objek merupakan hasil instansiasi dari suatu kelas. Proses pembentukan objek dari suatu Kelas disebut instantiation. Objek disebut jugainstances. 2 c. Perlengkapan ( Attributes) Atribut adalah data yang membedakan antara objek satu dengan yang lain. Dalam Kelas atribut disebut sebagai VARIABEL.Contoh : Volcano Robot. A Volcano Exploration Vehicle mempunyai atribut sebagai berikut : 1) Status, exploring, moving, returning home 2) Speed, in mile per hour 3) Temperature in fahrenheit degrees Instance Variabel: atribut tiap objek yang memiliki Kelas yang sama. Ciri – cirinya : 1) Tiap objek mempunai dan menyimpan nilai atributnya sendiri 2) Tiap objek dari Kelas yang sama boleh mempunyai nilai yang sama atau berbeda Kelasvariabel : atribut semua objek yang dibuat dari kelas yang sama. Ciri- cirinya semua objek mempunyai nilai atribut yang sama. Semua objek dari kelas yang sama mempunyai hanya satu nilai yang nilainya sama. d. Tindakan ( behaviour) Behavioratau tingkah lakuadalah hal-hal yang bisa dilakukan oleh objek dari suatu kelas. Behavior dapat digunakan untuk mengubah nilai atribut suatu objek, menerima informasi dari objek lain dan mengirim informasi ke objek lain untuk melakukan suatu pekerjaan.Dalam kelas, behavior disebut juga sebagai metode atau metode. Metode adalah serangkaian pernyataan dalam suatu kelas yang menangani suatu pekerjaan tertentu contoh : VolcanoRobot. Robot ini dapat melakukan : 1) Check curent temperature( mengecek temperatur yang sedang terjadi ). 2) Begin a survey( memulai survei ). 3) Report its current location( melaporkan lokasi yang sedang ada atau terjadi ). C. Contoh dari Pemrograman Berorientasi Objek ( OOP ) Ini adalah contoh code dari OOP : Kelas VolcanoRobot ( String status; Int speed; Float temperature; Void checktemperature () { If (temperature>660) { Status = “returning to home”; Speed=5; } } Void showAttributes() { System.out.println(“Status : “ + status); System.out.println(“speed: “+speed); System.out.println(“temperature: “+temperature); Public static void main(String [] arguments| { Volcanorobot dante = new VolcanoRobot {|; Dante.status=”exploring”; Dante.speed= 2; 3 Dante.temperature=510; Dante showAttributes {}; System.out.println(“increasing speed to 3.”); Dante.speed =3; Dante.showAttributes(); System.out.println (“Changing temperature to 670.”); Dante.temperature-670; Dante.showAttributes (); System.out.println(“Checking the temperatire.”); Dante.checkTemperature(); Dante.showAttributes (); } } D. Konsep Pemrograman Berorientasi Objek 1. Enkapsulasi (Pembungkus) Konsep enkapsulasi juga dikenal dengan sebutan information hiding. Konsep enkapsulasi merupakan salah satu prinsip dasar dalam desain software. Konsep enkapsulasi sering dijadikan salah satu acuan untuk membedakan modul - modul software yang dirancang dengan baik atau buruk. Enkapsulasi juga bisa diartikan pembungkusan variabel dan metode dalam sebuah objek yang terlindungi serta menyediakan tampilan untuk mengakses variabel tersebut. Variabel dan metode yang dipunyai suatu objek bisa ditentukan hak aksesnya. Misalnya : jam tangan, jam tangan digunakan untuk mengetahui waktu namun cara jam tangan mencatat waktu baik analog ataupun digital, tidak penting kita mengetahuinya. Nah, dalam OOP konsep ini sebenarnya perluasan dari struktur bahasa C. 2. Polimorfisme Polimorfisme adalah suatu fungsionalitas yang disamakan dengan cara yang berbeda.Pada pemrograman berorientasi objek, para pembuat program dapat memiki berbagai pengimplementasian untuk sebagian fungsi tertentu. Berdasarkan istilah, polimorphism terdiri dari dua kata yaitu poli dan morphism; poli berarti banyak, morphism berarti bentuk. Sehingga, polimorphism merupakan sesuatu yang bisa berubah ke dalam bentuk yang banyak (memiliki banyak bentuk). Salah satu contoh polimorphism adalah overriding dan overloading.Dengan polimorfisme, suatu tampilan yang sama untuk memerintah objek agar melakukan aksi atau tindakan yang mungkin secara prinsip sama namun secara proses berbeda. Contoh : penyanyi melakukan aktivitasnya dengan bernyanyi. Kita baru mengetahui penyanyi tersebut adalah penyanyi jazz setelah mendengarkannya menyanyikan lagu jazz, demikian pula dengan penyanyi dangdut atau penyanyi pop. Namun demikian kesemuanya memiliki aktivitas yang sama, yaitu bernyanyi. Tipe – tipe polimorfisme : a) Dynamic Polimorfisme. Merupakan function overriding, sebuah fungsi dalam kelas turunan yang memiliki nama return type argumen function( fungsi pengembalian tipe argumen ) yang sama dengan fungsi dalam kelas induk. Terjadi 4 ketika deklarasi metode sub-kelas dengan nama dan parameter yang sama denganmetode dari super-kelasnya. Syarat override yaitu nama metode, return type dan paramaeter harus sama. Dengan overriding, kita memiliki metode yang sama persis dengan pengenal metode yang ada di super-kelas tapi berbeda behavior. b) Static Polimorfism. Merupakan function overloading, sebuah fungsi yang menggunakan kembali nama fungsi yang sama tapi dengan argumen berbeda. Penggunaan satu nama untuk beberapa metode yang berbeda parameter. Syarat overload, yaitu nama return type, argument, overload metode tidak diharuskan menggunakan pewarisan sifat, karena dapat digunakan secara publik asalkan parameter dan argumennya sesuai. Dengan menggunakan kemampuan overload, kita dapat memiliki lebih dari 1 metode dengan nama yang sama di dalam satu kelas. 3. Inheritance (Pewarisan) Konsep inheritas mempunyai fungsi untuk mengatur polimorfise dan enkapsulasi dengan mengizinkan objek untuk menciptakan dan mendefinisikan dengan jenis khusus dari objek yang sudah ada. Objek-objek ini dapat memperluas dan membagi perilaku mereka tanpa mengimplementasikan perilaku tersebut. Inheritance juga merupakan pewarisan atribut dan metode dari sebuah kelas ke kelas lainnya. Kelas yang mewarisi disebut dengan superkelas dan kelas yang diwarisi disebut dengan subKelas. SubKelas bisa berlaku sebagai superKelas dari kelas yang lainnya dan ini disebut dengan superKelas. Contoh : Sepeda => superKelas Sepeda gunung => subKelas Sepeda gunung memiliki variabel dan metode yang dimiliki oleh sepeda. Lalu keuntungan dari pewarisan sifat adalah : 1) SubKelas menyediakan state/behaviour yang spesifik dan yang membedakan dari superKelas yaitu memungkinkan seorang programmer menggunakan ulang source code dari supercode yang telah ada. 2) Programmer dapat mendefinikan superKelas khusus yang bersifat genetik yang disebut abstract Kelas. Untuk mendefinisikan Kelas dengan tingkah laku dan state secara umum. Bahasa C masuk kategori sebagai multiple inheritance dikarenakan beberapa hal yaitu : 1) Suatu Kelas dipebolehkan mempunyai lebih dari superKelas 2) Variabel dan metode yang diwariskan merupakan kombinasi dari superKelasnya. Bahasa Java merupakan single inheritance karena suatu kelas hanya boleh mempunyai satu superKelas. E. Kelebihan dan Kekurangan OOP OOP memiliki beberapa keuntungan dalam pemrograman, di antaranya: 1. Improved software-development productivity a) Modularity : Pembuatan program dengan membuat modul-modul berupa object b) Flexibility : Sistem Program dapat dimodifikasi tanpa melibatkan banyak modul, hanya object yang terlibat saja. 5 c) 2. 3. 4. 5. 1. 2. 3. 4. Extensibility : Class Object dapat dikembangkan dengan menambahkan attributes dan behaviors baru. d) Expandability : Sistem Program dapat dikembangankan sampai skala yang paling kompleks (large scale software system). e) Reusability : Class Object dipakai lagi pada lintas aplikasi program Improved software maintainability Karena design-nya modular, bagian dari software system dapat dengan mudah dimaintain jika ada perubahan meskipun dalam skala yang besar. Faster development OOP disupport oleh banyak library object yang reusable, sehingga mempercepat penyelesaian program dan juga project berikutnya. Lower cost of development Faster development tentu akan mengurangi biaya pengembangan proyek software. Higher-quality software Faster development akan memberikan lebih banyak waktu dan resource untuk melakukan proses verification software. Banyak library object yang digunakan juga sudah teruji. Sedangkan beberapa kelemahan OOP antara lain adalah sebagai berikut: Lebih kompleks untuk dipelajari. Untuk beberapa programmer, butuh waktu untuk terbiasa dengan OOP. Program OOP yang komprehensif melibatkan banyak konsep, seperti abstraction, inheritance dan polymorphism. Ukuran Program OOP lebih besar dibandingkan dengan program POP. Runtime program OOP lebih lambat dari pada POP karena ukurannya lebih besar. Tidak semua masalah program diselesaikan dengan OOP. Beberapa solusi lebih efisien menggunakan POP atau programming style yang lain F. UML ( Unified Modeling Language ) UML (Unified Modeling Language) adalah sebuah bahasa untuk menentukan, memvisualisasi, mengkontruksi, dan mendokumentasikan artifact (bagian dari informasi yang digunakan atau dihasilkan dalam suatu proses pembuatan perangkat lunak). Artifact dapat berupa model, deskripsi atau perangkat lunak dari system perangkat lunak, seperti pada pemodelan bisnis dan system non perangkat lunak lainnya. UML merupakan suatu kumpulan teknik terbaik yang telah terbukti sukses dalam memodelkan system yang besar dan kompleks. UML tidak hanya digunakan dalam proses pemodelan perangkat lunak, namun hampir dalam semua bidang yang membutuhkan pemodelan. 1. a. b. c. d. e. f. Apa kegunaan UML ? Kegunaan UML yaitu : Memberikan bahasa pemodelan yang bebas dari berbagai bahas pemrograman dan proses rekayasa. Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan. Memberikan model yang siap pakai, bahsa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum. UML Sebagai Sketsa UML digambarkan dalam sketsa coretan-coretan dalam kertas atau whiteboard secara tidak normal. Biasanya digunaan dalam sesi dskusi tim untuk membahas aspek tertentu dalam tahap analisis dan perancangan UML Sebagai Blueprint System. UML sendiri juga memberikan standart penulisan sebuah sistem blueprint yang meliputi konsep bisnis proses penulisan kelas-kelas dalam bahasa program yang spesifik, skema database dan komponen-komponen yang diperlukan dalam sistem. UML Sebagai bahasa pemrograman. UML berfungsi sebagai bahasa pemrograman mencoba melakukan semuanya dengan UML sampai kepada produk jadinya. Analisi dan perancangan dilakukan dengan diagram-diagram yang ada dalam UML, sementara sebuah tool atau generator bisa menghasilkan produk akhir dari diagram-diagram ini. 6 g. Dimana saja UML sering digunakan. UML bisa digunakan untuk siapa saja . biasanya UML sering digunakan oleh para engineer dan para IT. Tetapi pada dasarnya uml bisa digunakan untuk siapa saja bagi yang bisa menggunakannya. G. Use Case Programming 1. Pengertian Use Case Use Case merupakan sebuah teknik yang digunakan dalam pengembangan sebuah software atau sistem informasi untuk menangkap kebutuhan fungsional dari sistem yang bersangkutan, Use Case menjelaskan interaksi yang terjadi antara ‘aktor’ — inisiator dari interaksi sistem itu sendiri dengan sistem yang ada, sebuah use case direpresentasikan dengan urutan langkah yang sederhana. Perilaku sistem adalah bagaimana sistem beraksi dan bereaksi. Perilaku ini merupakan aktifitas sistem yang bisa dilihat dari luar dan bisa diuji.Perilaku sistem ini dicapture di dalam use case. Use case sendiri mendeskripsikan sistem, lingkungan sistem, serta hubungan antara sistem dengan lingkungannya. Deskripsi dari sekumpulan aksi sekuensial yang ditampilkan sistem yang menghasilkan yang tampak dari nilai ke actor khusus. Use Case digunakan untuk menyusun behavioral things dalam sebuah model. Use case direalisasikan dengan sebuah collaboration. Secara gambar, sebuah use case digambarkan dengan sebuah ellips dengan garis penuh, biasanya termasuk hanya namanya. 2. 3. Manfaat Use Case Yaitu ; a) Digunakan untuk berkomunikasi dengan end user dan domain expert. b) Memastikan pemahaman yang tepat tentang requirement / kebutuhan sistem. c) Digunakan untuk mengidentifikasi siapa yang berinteraksi dengan sistem dan apa yang harus dilakukan sistem. d) Interface yang harus dimiliki sistem. e) Digunakan untuk verifikasi. Karakteristik Use cases adalah interaksi atau dialog antara sistem dan actor, termasuk pertukaran pesan dan tindakan yang dilakukan oleh sistem.Use cases diprakarsai oleh actor dan mungkin melibatkan peran actor lain. Use cases harus menyediakan nilai minimal kepada satu actor.Use cases bisa memiliki perluasan yang mendefinisikan tindakan khusus dalam interaksi atau use case lain mungkin disisipkan.Use case kelas memiliki objek use case yang disebut skenario. Skenario menyatakan urutan pesan dan tindakan tunggal. 4. Komponen Use Case Use Case memiliki beberapa komponen yaitu : a) Actor. Menggambarkan sesorang yang beriteraksi dengan sistem, di mana hanya bisa menginputkan informasi dan menerima indormasi dari sistem dan tidak memegang kendali pada use case. Dan biasa actor di gambarkan dengan stickman. b) Use Case. Gambaran fungsional sistem yang akan di buat, agar pengguna lebih mengerti penggunaan system. Use Chase itu mengidentifikasi fitur kunci dari sistem. Tanpa fitur ini, sistem tidak akan memenuhi permintaan user atau biasa disebut pengguna. Setiap use case memberi penjelasan tentang tujuan dari sistem yang harus dicapai. Diberi nama sesuai dengan tujuannya dan digambarkan dengan elips dengan nama di dalamnya. Fokus tetap pada goal bukan bagaimana mengimplementasikannya walaupun use case berimplikasi pada prosesnya nanti. Setiap use case biasanya memiliki pemicu yang menyebabkan use case memulai (misalnya,pasien mendaftar dan membuat janji baru atau meminta untuk membatalkan atau mengubah janji yang sudah ada ). Lalu Ada 2 trigger, pertama trigger eksternal, seperti pelanggan memesan atau alarm kebakaran berbunyi, kedua triger temporal, seperti tanggal pengembalian buku terlewati di perpustakaan atau keterlambatan bayar sewa. Relasi Dalam Use Case. Ada beberapa relasi yang terdapat pada use case diagram: 7 a) b) c) d) Association, menghubungkan link antar element. Generalization, sebuah elemen yang menjadi spesialisasi dari elemen yang lain. Dependency, sebuah elemen yang bergantung beberapa cara kepada elemen lainnya. Aggregation, bentuk assosiation yang di mana sebuah elemen berisi elemen lainnya. Tipe relasi/ stereotype yang mungkin terjadi pada use case diagram: a) <<include>> , yaitu kelakuan yang harus terpenuhi agar sebuah event dapat terjadi, dimana pada kondisi ini sebuah use case adalah bagian dari use case lainnya. 1) Mengidentifikasi hubungan antar dua use case di mana yang satu memanggil yang lain. 2) Jika pada beberapa use case terdapat bagian yang memiliki aktivitas yang sama maka bagian aktivitas tersebut biasanya dijadikan use case tersendiri dengan relasi dependensi setiap use case semula ke use case yang baru ini sehingga memudahkan pemeliharaan.Digambarkan dengan garis putus-putus bermata panah dengan notasi <<include>> pada garis. 3) Arah mata panah sesuai dengan arah pemanggilan b) <<extends>>, kelakuan yang hanya berjalan di bawah kondisi tertentu seperti menggerakkan alarm atau jika pemanggilan memerlukan adanya kondisi tertentu. Note: konsep “extend” ini berbeda dengan “extend” dalam Java!.Digambarkan serupa dengan dependensi <<include>> kecuali arah panah berlawanan c) <<communicates>>, mungkin ditambahkan untuk asosiasi yang menunjukkan asosiasinya adalah communicates association . Ini merupakan pilihan selama asosiasi hanya tipe relationship yang dibolehkan antara actor dan use case. 5. Membuat diagram Use Case Langkah-langkah yang dibutuhkan untuk menyusun diagram use case adalah: a) b) c) d) e) 6. Mengidentifikasi pelaku bisnis Mengidentifikasi use case persyaratan bisnis Membuat diagram model use case Mendokumentasikan naratif use case persyaratan bisnis Practical guidance dalam membangun diagram use case : 1) Set konteks dari target sistem. 2) Identifikasi semua actor. 3) Identifikasi semua use case. 4) Definisikan asosiasi antara setiap actor dan setiap use case. 5) Evaluasi setiap actor dan setiap use case untuk mendapatkan kemungkinan perbaikan. 6) Evaluasi setiap use case untuk dependensi <<include>>. 7) Evaluasi setiap use case untuk dependensi <<extend>>. 8) Evaluasi setiap actor dan setiap use case untuk generalisasi. Use case Description Setiap use case harus dijelaskan alur prosesnya melalui sebuah deskripsi use case (use case description) atau scenario use case. Deskripsi use case berisi: a) Nama use case yaitu penamaan use case yang menggunakan kata kerja b) Deskripsi yaitu penjelasan mengenai tujuan use case dan nilai yang akan didapatkan oleh aktor c) Kondisi sebelum (pre-condition) yaitu kondisi-kondisi yang perlu ada sebelum use case dilakukan. d) Kondisi sesudah (post-condition) yaitu kondisi-kondisi yang sudah dipenuhi ketika uses case sudah dilaksanakan e) Alur dasar (basic flow) yaitu alur yang menceritakan jika semua aksi yang dilakukan adalah benar atau proses yang harusnya terjadi f) Alur alternatif (alternatif flow) yaitu alur yang menceritakan aksi alternatif, yang berbeda dari alur dasar. 8 7. g) Mana yang lebih dahulu dibuat use case description atau use case diagram ? sebaiknya use case description lebih dahulu. tapi kalau anda ingin membuat use case diagram lebih dahulu juga bukan menjadi masalah yang krusial. Yang penting keduanya anda buat untuk menggambarkan/menjelaskan kebutuhan sistem. Contoh Diagram Use Case dan Description Use Case Contoh use case description : RUMAH MAKAN SELERA KITA mempunyai pelanggan yang cukup banyak dan setiap jam makan pasti penuh. Agar dapat melayani pelanggan dengan cepat, pemilik RUMAH MAKAN SELERA KITA ingin mengubah sistem dari manual ke Komputerisasi. Gambar diatas adalah denah RUMAH MAKAN SELERA KITA yang akan dibuat. Jumlah meja dapat ditambah pada saat RUMAH MAKAN SELERA KITA telah menggunakan sistem baru. Berikut ini adalah sistem informasi yang dikehendaki oleh pemilik RUMAH MAKAN SELERA KITA. Setiap kali ada tamu datang, waitress mempersilahkan tamu duduk dikursi yang masih kosong dan waitress mencatat pesanan yang dipesan oleh tamu kedalam captain order (bentuknya seperti buku catatan yang dapat disobek), catatan pesanan tersebut dimasukkan kedalam salah satu komputer di captain station yang terdekat dengan meja tamu yang memesan. Jumlah captain station ada 4. Sebelum waitress dapat memasukkan pesanan pelanggan, waitress harus memasukkan nomor meja tamu kedalam captain station, ini disebut open table. Setelah memasukkan pesanan pelanggan, pesanan makanan akan dicetak pada printer yang ada di dapur sedangkan pesanan minuman akan dicetak pada printer yang terdapat pada Bar. Bila ada pelanggan akan menambah pesanan makanan maupun minuman, maka waitress akan menambahkan pesanan tersebut kedalam captain station, prosesnya sama dengan diatas 9 Pada layar kasir akan terlihat meja yang terisi tamu dan sekaligus jumlah rupiah dari pesanan yang dipesan tamu pada meja bersangkutan. Setiap kali waitress memasukkan menu tambahan maka jumlah rupiah pada layar kasir juga bertambah. Bila ada pelanggan yang akan membayar, maka kasir tersebut tinggal memasukkan nomor mejanya kemudian bon akan dicetak.Setelah dilakukan pembayaran, maka jumlah pembayarannya baru dimasukkan dan daftar meja yang ada di layar kasir hilang.Bila ada menu yang telah habis, maka koki (tukang masak) akan memberitahukan pada captain dan captain akan memasukkan data menu yang habis kedalam komputer. Maka use case diagramnya akan seperti ini : 10 BAB III PENUTUP A. Kesimpulan Memang agar suatu masalah yang kompleks dapat terpecahkan adalah dengan melakukan suatu pendekatan yang lainnya, misalnya adalah pendekatan yang berorientasikan ke objek. Dengan begitu masalah kompleks tersebut dapat diubah atau dikonversikan ke dalam bentuk objek agar mudah dipahami. Karena sesungguhnya suatu objek itu memiliki kelas, tingkah laku, pewarisan sifat, sub-kelas, polimorfism, dan bahkan pembungkusan. Pemrograman berorientasi objek adalah penyelesaian masalah aplikasi yang dialami oleh programmer dengan pendekatan obyek. Dengan cara mengetahui apa kelas nya dan bagaimana tingkah laku dari obyek tersebut. Tentu saja programmer tersebut harus dapat merepresentasikan suatu kasus yang rumit ke dalam diagram diagram obyek. Setelah itu programmer juga perlu mengetahui UML atau Unified Modelling Language, disini mereka di tuntut untuk dapat melukiskan suatu kasus kedalam diagram diagram use case yang berbentuk ellips dengan penghubung <<include>> atau pun <<exclude>> atau bahkan <<communicate>> antar case atau kondisinya. Itu pun semua tanpa melupakan behaviour dan metode apa yang ada didalam kasus itu. Kita juga telah tahu apa itu use case description dan use case diagram dan mana yang harus di prioritaskan terlebih dahulu. B. Saran dan Kritik Akan lebih baik bila pembuat program mengerti apa itu obyek dan komponen komponen penting yang ada pada pemrograman berorientasi objek ( OOP ). Dengan itu maka dapat mempermudah dalam eksekusi permasalahan yang ada. Karena banyak ditemui bahwa programmer belum dapat merepresentasikan kasus atau masalah secara optimal atau mendeskripsikan bagaimana behaviour objek dan apa itu sub kelas dan super kelas. Memang butuh waktu lama dan konsentrasi yang tinggi untuk dapat melakukannya namun dengan praktik terus menerus semoga programmer dapat melakukannya dengan baik. 11 DAFTAR PUSTAKA Douglas, Downing dan Michael Covington. 1992. Kamus Istilah Komputer. Jakarta: Erlangga. Nugroho, Adi. 2005. Analisis dan Perancangan Sistem Informasi Dengan Metodologi Berorientasi Objek. Bandung: Informatika [Deb-13] Debasish Jana. Java and Object-Oriented Programming Paradigm. [Jos-01] Joshua Bloch. Effective JavaTM Programming Language Guide, First UML.http://id.wikipedia.org/wiki/UML. ( diakses pada 17 September 2017 ) Risdianto,Febry.2011.Makalah PBO (Pmograman Berorientasi Objek). Diambil dari http://febryrisdianto.blogspot.com/2011/04/makalah-pbo-pmogramanberorientasi.html ( 18 September 2017 ) Wibowo, Hadi. 2010. Langkah-Langkah Penggunaan UML ( Unified Modelling Language ). Diambil dari : http://bowol.blogspot.com/2010/03/langkah-langkahpenggunaan-uml-unified.html ( 18 September 2017 ) Yanuartha, Wahyu. 2010. Pengetahuan UML. Diambil dari : http://wyanuartha.blogspot.com/2010/02/pengertian-uml.html ( 21 September 2017 ) Adi, Ardito R. .2012. Makalah Sistem Orientasi Objek. Diambil dari : http://arditoadi.blogspot.co.id/2012/01/makalah-sistem-orientasi-objek.html?m=1( 21 September 2017 ) PCControl. 2012. Pengetahuan Dasar Diagram Use Case. Diambil dari : https://pccontrol.wordpress.com/2012/08/23/pengetahuan-dasardiagram-use-case/ ( 21 September 2017 ) Contoh Kasus Use Case. Diambi dari : http://www.maribelajar.web.id/2014/12/contoh-kasus-use-case-dan-Kelasdiagram.html ( 22 September 2017 ) Kelebihan dan Kekurangan OOP. Diambil dari https://oopcpp.wordpress.com/2017/02/17/kelebihan-dan-kekurangan-oop/ . Diakses pada (26 September 2017) 12