1 BAB II
LANDASAN TEORI
2.1 Pengertian
Istilah yang berkembang seperti sekarang ini didefinisikan sebagai wadah pelatihan siswa / peserta didik baik untuk menghadapi ujian semester ataupun ujian nasional. sendiri merupakan tes tertulis atau ujian percobaan yang dilakukan untuk mengukur sejauh mana tingkat kesiapan. Selain yang umumnya dilakukan pada lembaga pendidikan formal, banyak juga lembaga pendidikan non formal melakukan ini sebagai suatu tolak ukur yang efektif.
Contoh materi Pelajaran yang akan diujikan dalam adalah:
- Mata pelajaran Bahasa Indonesia:
1. “Demikian surat lamaran ini saya sampaikan. Atas diterimanya surat ini oleh Bapak, tidak lupa saya ucapkan terima kasih”
Perbaikan kalimat penutup surat lamaran tersebut yang tepat adalah… a. Dengan diterimanya saya, saya ucapkan terima kasih.
b. Atas perhatian Bapak, saya mengucapkan terima kasih. c. Atas perhatian Bapak, saya ucapkan terima kasih.
d. Dengan diterimanya oleh Bapak, saya ucapkan terima kasih.
e. Saya mengucapkan terima kasih, atas kebijaksanaan Bapak menerima saya.
- Mata pelajaran Matematika:
1. Jika m>0 dan grafik f(x)=𝑥2-mx+5 menyinggung garis y=2x+1, maka nilai m = …
a. -6 b. 6 c. 8 d. -2 e. 2
- Mata pelajaran Bahasa Inggris:
1. Forest are very important to keep the soil fertile and to prevent flood. The fallen leaves and decayed plants become humus which makes the soil rich and holds the rainwater.
For many years, people have not been obeying the government’s regulations. They have been cutting down the trees carelessly. As a result, thousands of hectares of land have become worse
2
and the rivers will be full of mud. In the wet season there will be erosion and floods which will destroy the farm lands and villages.
What is the main idea of paragraph 2?
a. rivers are full of mud d. erosions have caused floods
b. land becomes infertile e. deforestation has caused a lot of destruction
c. floods destroy villages
2.2 Metodologi Rekayasa Perangkat Lunak
Perangkat Lunak adalah suatu aplikasi ilmu komputer untuk membangun sistem perangkat lunak yang mencakup semua aspek produksi perangkat lunak, mulai dari tahap analisa kebutuhan pengguna, menentukan spesifikasi, desain, pengkodean, sampai pengujian sistem yang akan digunakan, yang bertujuan agar menghasilkan suatu perangkat lunak yang berkualitas. Menurut Janner Simarmata (2010: 10) Rekayasa Perangkat Lunak adalah sebuah bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembangan perangkat lunak, dan sebagainya.
Pada tahun 2004, istilah rekayasa perangkat lunak secara umum digunakan dalam 3 arti, yaitu:
1. Sebagai istilah umum untuk berbagai kegiatan yang dulunya bernama pemrograman atau analisis sistem.
2. Sebagai istilah yang luas untuk analisis teknis dari semua aspek-aspek praktis yang bertentangan dengan teori pemrograman komputer.
3. Sebagai istilah yang mewujudkan advokasi suatu pendekatan spesifik ke pemrograman computer, satu hal yang mendesak yang diperlakukan sebagai profesi rekayasa daripada sebuah seni atau kerajinan, dan advokasi dari kodifikasi praktis yang disarankan dalam bentuk metodologi rekayasa perangkat lunak.
3 2.2.1. Metode Waterfall
Proses tradisional untuk melakukan pengembangan sistem informasi dinamakan siklus hidup pengembangan sistem (Systems Development Life Cycle/SDLC) yang memuat langkah-langkah yang semestinya diikuti oleh profesional di bidang sistem informasi, untuk menspesifikasikan, mengembangkan serta memelihara sistem informasi. Proses ini sering digambarkan secara bertingkat. Proses yang bertingkat atau air terjun (waterfall) digunakan untuk menggambarkan bahwa keluaran dari suatu tahap merupakan masukan untuk tahap berikutnya.
Metode Waterfall merupakan bagian dari metode SDLC (System Development Life Cycle). Metode waterfall ini bisa dibilang kuno karena umurnya yang cukup lama. Namun pada kenyataannya metode ini paling banyak dipakai dalam rekayasa perangkat lunak karena modelnya yang terurut dan terjadwal. Metode ini sudah bertahun-tahun diterapkan dalam industri software. Dalam metodologi ini, kita berusaha membuat spesifikasi yang sesempurna mungkin sebelum proyek dijalankan. Karena dibuat di awal, maka hampir bisa dipastikan apabila ada perubahan perrencanaan di tengah jalan akan menyebabkan proyek mundur atau menyebabkan biaya (cost) yang tinggi. Namun meskipun begitu, metodologi ini masih tetap populer karena mudah dijalankan.
Waterfall model juga sering disebut System Development Life Cycle (SDLC). Waterfall model banyak memiliki varian yang secara detail berbeda dalam tahapan-tahapan pengermbangan sistem. Secara umum tahapan dalam waterfall model atau SDLC meliputi tahap analisa, perancangan, uji coba, dan implementasi. (Samiaji Sarosa, 2009)
Pengembangan
Sistem/Informasi
Analisis Desain Pengkodean Pengujian
4 Kebutuhan Sistem Spesifikasi Kebutuhan Perangkat Lunak Desain Perangkat Lunak Implementasi Perangkat Lunak
Uji Mesin Formal Integrasi Perangkat Lunak
Operasi dan Perawatan
Gambar 2.2. Pengembangan Sistem Model Air Terjun (Waterfall Model) [Janner Simarmata, 2010] 2.3 Pengertian Metode Fisher-Yates Shuffle
Fisher-Yates Shuffle (diambil dari nama Ronald Fisher dan Frank Yates) atau juga dikenal dengan nama Knuth Shuffle (diambil dari nama Donald Knuth), adalah sebuah algoritma untuk menghasilkan suatu permutasi acak dari suatu himpunan terhingga, dengan kata lain untuk mengacak suatu himpunan tersebut. Jika diimplementasikan dengan benar, maka hasil dari algoritma ini tidak akan berat sebelah, sehingga setiap permutasi memiliki kemungkinan yang sama. (Susanto Anthony, 2013)
Proses dasar dari Fisher-Yates menyeret mirip dengan memilih secara acak tiket bernomor keluar dari cab, atau kartu dari setumpuk, satu demi satu sampai tidak ada yang lebih kiri. Apa algoritma tertentu adalah menyediakan cara untuk melakukan ini secara numerik dengan cara yang efisien dan ketat itu, benar dilakukan, menjamin hasil yang bias.
5 2.4. Unified Modeling Language (UML)
“UML is a standard set of diagramming techniques that provide a graphical representation rich enough to model any systems development project, from analysis through implementation. Typically, today most object-oriented analysis and design approaches use the UML to depict an evolving system. As such, objectoriented analysis and design using UML allows the analyst to interact with the user, employing objects from the user’s environment
instead of a set of separate processes and data.” (Satzinger, Robert, & Burd, 2011)
UML adalah satu set standar teknik yang menyediakan gambaran grafis cukup kaya untuk model setiap proyek pengembangan sistem, dari analisis melalui implementasi diagram. Biasanya, saat ini sebagian besar analisis berorientasi objek dan desain pendekatan menggunakan UML untuk menggambarkan sistem berkembang. Dengan demikian, analisis berorientasi objek dan desain menggunakan UML memungkinkan analis untuk berinteraksi dengan pengguna, menggunakan benda-benda dari lingkungan pengguna bukannya serangkaian proses yang terpisah dan data.
UML disebut sebagai bahasa pemodelan bukan metode. Bahasa pemodelan (sebagaian besar grafik) merupakan notasi dari metode yang digunakan untuk mendesain secara cepat. Bahasa pemodelan merupakan bagian terpenting dari metode.
Tujuan UML diantaranya adalah :
1. Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk mengembangkan sistem dan yang dapat saling menukar model dengan mudah dan dimengerti secara umum.
2. Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa.
3. Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
2.4.1. Use Case Diagram
Use Case Diagram adalah model diagram UML yang digunakan untuk menggambarkan requirement fungsional yang diharapkan dari sebuah sistem. Use Case Diagram lebih
6
memfokuskan pada “siapa” melakukan “apa” dalam ruang lingkup sistem perangkat lunak yang akan dibangun.
“Use cases are the primary drivers for all of the UML diagramming techniques. The use case communicates at a high level what the system needs to do, and each of the UML diagramming techniques build upon this by presenting the functionality in different ways. In the early stages of analysis, the analyst first identifies one use case for each major part of the system and creates accompanying documentation, the use case report, to describe each function in
detail.” (Dennis, Wixom, & Roth, 2012, hal. 517)
Use Case merupakan driver utama untuk semua teknik diagram UML. Use case berkomunikasi pada tingkat tinggi sistem apa yang perlu dilakukan, dan masing-masing UML teknik diagram membangun ini menyajikan fungsi dalam cara yang berbeda, masing-masing pandangan memiliki tujuan yang berbeda. Pada tahap awal analisis, analis pertama mengidentifikasi satu use case untuk setiap utama bagian dari sistem dan menciptakan dokumentasi yang menyertainya, laporan kasus penggunaan untuk menjelaskan fungsi masing-masing secara rinci.
Berikut adalah simbol-simbol yang ada pada diagram use case :
Tabel 2.1 Simbol Use Case (Dennis, Wixom, & Roth, 2012, hal. 518)
Keterangan
Simbol
“a person or system that derives benefit from and is external to the subject.”
Seseorang atau sesuatu yang berinteraksi dengan sistem.
Actor Role Name
“Represents a major piece of system functionality. Can extend another use case. Can use another use case. Is placed inside the system boundary. Is labeled with a descriptive verb–noun phrase.”
Merupakan bagian utama dari sistem fungsionalitas. Dapat
7
memperpanjang kasus penggunaan lain. Dapat menggunakan use case lain. Ditempatkan di dalam batas sistem.
Diberi label dengan deskriptif verba-noun frase.
“Includes the name of the system inside or on top. Represents the scope of the system.”
Merupakan lingkup subjek , misalnya , sistem atau individu proses bisnis
’Links an actor with the use case(s) with which it interacts.’
Untuk mendokumentasikan aliran-aliran logika
* *
Gambar 2.3 Contoh Use Case Diagram (Dennis, Wixom, & Roth, 2012, hal. 516) System name
8 2.4.2. Activity Diagram
“Activity diagrams are used to model the behavior in a business process independent ofobjects. In many ways, activity diagrams can be viewed as sophisticated data flow diagrams that are used in conjunction with structured analysis.However, unlike data flow diagrams, activity diagrams include notation that addresses the modeling of parallel, concurrent activities
and complex decision processes”. (Dennis, Wixom, & Roth, 2012)
Activity Diagram digunakan untuk model perilaku dalam independen proses bisnis benda. Dalam banyak hal, diagram aktivitas dapat dipandang sebagai diagram aliran data yang canggih yang digunakan dalam hubungannya dengan analysis terstruktur. Namun, tidak seperti aliran data diagram, diagram aktivitas termasuk notasi yang membahas pemodelan paralel, kegiatan bersamaan dan proses. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem.
Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut:
1. Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan
2. Urutan atau pengelompokan tampilan dari sistem / user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan
3. Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya
4. Rancangan menu yang akan ditampilkan pada perangkat lunak
Berikut adalah simbol-simbol yang ada pada Activity Diagram :
Tabel 2.2 Simbol Pada Activity Diagram (Alan Dennis, 2012)
Simbol
Nama Simbol Keterangan
9
merupakan tanda awal dari sebuah aktivitas.
Final-Activity Node “Is used to stop all control flows and object
flows in an activity (or action).”
merupakan tanda berakhirnya sebuah
aktivitas.
Activity “Is used to represent a set of actions.”
merupakan sebuah gambaran aktivitas yang terjadi.
(Decission Criteria)
(Decission Criteria)
Decision Node “Is used to represent a test condition to
ensure that the control flow or object flow only goes down one path.”
Pilihan untuk pengambilan keputusan
Merge Node “Is used to represent a test condition to
ensure that the control flow or object flow only goes down one path.”
membawa kembali jalur keputusan bersama
yang berbeda yang dibuat dengan
menggunakan keputusan simpul
Swimlane “Separate business organization that is
responsible for the activity that occurs.”
memisahkan organisasi bisnis yang
bertanggung jawab terhadap aktifitas yang terjadi.
Control Flow “Shows the sequence of execution.”
Menunjukkan urutan eksekusi Swimlane Name
10
Object Flow “Shows the flow of an object from one activity
(or action) to another activity (or action).”
Menunjukkan aliran objek dari satu kegiatan (atau tindakan) untuk kegiatan lain (atau tindakan).
Gambar 2. 4 Contoh Activity Diagram (Alan dennis, 2012)
2.4.3. Sequence Diagram
“A sequence diagram is a dynamic model that supports a dynamic view of the volving systems. It shows the explicit sequence of messages that are passed between objects in a defined
Lanjutan tabel 2.3
11
interaction. Since sequence diagrams emphasize the time-based ordering of the activity that takes place among a set of objects, they are very helpful for understanding real-time
specifications and complex use cases.” (Dennis, Wixom, & Roth, 2012, hal. 531)
Diagram sequence adalah model dinamis yang menunjukkan urutan eksplisit pesan yang lewat di antara objek dalam interaksi didefinisikan. karena urutan diagram menekankan pemesanan berbasis waktu kegiatan yang terjadi di antara set benda, mereka sangat membantu untuk memahami spesifikasi real-time dan kompleks menggunakan kasus.
Berikut simbol yang ada pada Sequence Diagram:
Tabel 2.3 Simbol Sequence Diagram (Dennis, Wixom, & Roth, 2012, hal. 532)
Keterangan Symbol
“Is a person or system that derives benefit from and is external to the system.”
orang atau sistem yang berasal dari manfaat dan eksternal ke sistem yang berpartisipasi secara berurutan dengan mengirim dan / atau menerima pesan
anActor
“Participates in a sequence by sending and/or receiving messages.”
Berpartisipasi secara berurutan dengan mengirim dan/atau menerima pesan yang ditempatkan diatas diagram
anObject : a Class
” Denotes the life of an object during a sequence.”
Menandakan kehidupan obyek selama berurutan.
“Is a long narrow rectangle placed atop a lifeline.”
Menyatakan objek dalam keadaan aktif dan berinteraksi pesan.
A message:
“Conveys information from one object to another one.”
Menyampaikan informasi dari satu objek ke satu sama lain.
12
Object destruction:
“An X is placed at the end of an object’s lifeline to show that it is going out of existence.”
ditempatkan pada akhir dari suatu objek Lifeline untuk menunjukkan bahwa itu akan keluar dari eksistensi.
X
Gambar 2.5 Contoh Sequence Diagram (Dennis, Wixom, & Roth, 2012, hal. 531)
Sequence diagram menjelaskan secara detil urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case. Pembuatan sequence diagram ini merupakan aktivitas yang paling kritikal dari proses desain karena inilah yang menjadi pedoman dalam proses pemrograman nantinya dan berisi aliran control dari program. Sequence diagram biasanya tersusun dari elemen Obyek, Interaction dan Message. Interaction menghubungkan 2 obyek dengan pesannya. Diagram ini menjelaskan aspek dinamis dari sistem yang sedang dibangun.
13
2.4.4. Class Diagram
“The class diagram isa static model that supports the static view of the evolving system. It shows the classes and the relationships among the classes that remain constant in the system
over time. The class diagram is very similar to the entity relationship diagram (ERD)” (Dennis,
Wixom, & Roth, 2012, hal. 522)
Diagram kelas adalah Model statis yang mendukung pandangan statis dari sistem berkembang. Ini menunjukkan kelas dan hubungan antar kelas yang tetap konstan dalam sistem dari waktu ke waktu. Diagram kelas sangat mirip dengan diagram hubungan entitas (ERD). Berikut simbol-simbol yang ada pada diagram kelas:
Tabel 2. 4 Simbol Class Diagram (Dennis, Wixom, & Roth, 2012, hal. 524)
Keterangan Symbol
A class:
Represents a kind of person, place, or thing about which the system must capture and store information.
Kelas pada struktur sistem.
Class name - Attribute name -/derived attribute name +Operation name () An attribute :
Represents properties that describe the state of an object.
Memiliki daftar atribut dalam kompartemen tengahnya .
Attribute name /derived attribute name
A method :
Represents the actions or functions that a class can perform.
menunjukkan operasi yang tersedia untuk sebuah kelas
14
An association:
Represents a relationship between multiple classes, or a class and itsel.
Asosiasi yang menghubungkan classdengan class Multiplycity.
1..* verb phrase 0..1
Gambar 2. 6 Contoh Class Diagram (Dennis, Wixom, & Roth, 2012, hal. 523)