32
BAB 2 TINJAUAN PUSTAKA 2.1. Rekayasa Perangkat Lunak Rekayasa Perangkat Lunak adalah penerapan pendekatan yang sistematis, disiplin, dan kuantitatif untuk pengembangan, pengoperasian, dan pemeliharaan perangkat lunak. (Pressman, 2014, pp. 15-16) Rekayasa Perangkat Lunak memiliki 4 lapisan, yaitu sebagai berikut: 1. Tools Tools dalam rekayasa perangkat lunak menyediakan dukungan otomatis atau semi-otomatis untuk lapisan process dan methods. Saat lapisan tools terintegrasi, maka informasi yang dibuat oleh 1 tool dapat digunakan oleh yang lainnya, dan pada akhirnya sebuah sistem untuk bantuan pengembangan perangkat lunak yang dinamakan computer-aided software engineering terbuat. 2. Methods Methods dalam rekayasa perangkat lunak menyediakan panduan teknikal untuk membuat perangkat lunak. Methods mencakup kumpulan tugas secara luas yang termasuk komunikasi, analisa kebutuhan, perancangan desain, konstruksi program, testing dan dukungan. 3. Process Lapisan process merupakan fondasi dari rekayasa perangkat lunak. Process dalam rekayasa perangkat lunak adalah perekat yang melekatkan lapisan-lapisan teknologi dan memungkinkan pengembangan perangkat lunak komputer yang rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang harus dibuat untuk penyampaian yang efektif dalam teknologi rekayasa perangkat lunak. 4. A Quality Focus Qualify Focus dalam rekayasa perangkat lunak adalah batuan dasar yang menopang dan membantu rekayasa perangkat lunak. 7

BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

  • Upload
    others

  • View
    27

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

BAB 2

TINJAUAN PUSTAKA

2.1. Rekayasa Perangkat Lunak

Rekayasa Perangkat Lunak adalah penerapan pendekatan yang sistematis,

disiplin, dan kuantitatif untuk pengembangan, pengoperasian, dan pemeliharaan

perangkat lunak. (Pressman, 2014, pp. 15-16)

Rekayasa Perangkat Lunak memiliki 4 lapisan, yaitu sebagai berikut:

1. Tools

Tools dalam rekayasa perangkat lunak menyediakan dukungan otomatis atau

semi-otomatis untuk lapisan process dan methods. Saat lapisan tools terintegrasi,

maka informasi yang dibuat oleh 1 tool dapat digunakan oleh yang lainnya, dan

pada akhirnya sebuah sistem untuk bantuan pengembangan perangkat lunak yang

dinamakan computer-aided software engineering terbuat.

2. Methods

Methods dalam rekayasa perangkat lunak menyediakan panduan teknikal untuk

membuat perangkat lunak. Methods mencakup kumpulan tugas secara luas yang

termasuk komunikasi, analisa kebutuhan, perancangan desain, konstruksi

program, testing dan dukungan.

3. Process

Lapisan process merupakan fondasi dari rekayasa perangkat lunak. Process

dalam rekayasa perangkat lunak adalah perekat yang melekatkan lapisan-lapisan

teknologi dan memungkinkan pengembangan perangkat lunak komputer yang

rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang harus

dibuat untuk penyampaian yang efektif dalam teknologi rekayasa perangkat

lunak.

4. A Quality Focus

Qualify Focus dalam rekayasa perangkat lunak adalah batuan dasar yang

menopang dan membantu rekayasa perangkat lunak.

7

Page 2: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

8

Gambar 2-1 Lapisan rekayasa perangkat lunak

Source: (Pressman, 2014, p. 16) 2.2. Incremental Process Model

Incremental Process Model adalah sebuah metode pengembangan perangkat

lunak yang dimana sebuah produk dirancang, diimplementasikan, dan diuji secara

bertahap sampai produk tersebut selesai. Incremental Process Model

menggabungkan elemen-elemen dari waterfall model dengan menerapkan filosofi

iterative dari prototyping model.

Incremental Process Model mempunyai 5 tahap yang harus ada dalam

prosesnya, yaitu sebagai berikut:

1. Communication

Dalam incremental process model, tahap communication bertujuan untuk

memahami apa yang menjadi tujuan yang akan dicapai.

2. Planning

Dalam incremental process model, tahap planning bertujuan untuk membuat

rencana kerja yang akan dilaksanakan bersama oleh tim.

3. Modelling

Dalam incremental process model, tahap modelling bertujuan untuk menganalisa

perancangan bisnis, perancangan data, dan perancangan proses.

4. Construction

Dalam incremental process model, tahap construction merupakan tahap dimana

kode mulai dikerjakan bersamaan dengan melakukan testing pada produk yang

akan dibuat.

5. Deployment

Dalam incremental process model, tahap deployment merupakan tahap terakhir

yang bertujuan untuk menyampaikan hasil yang setelah selesai di tahap

Page 3: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

9

increment ini. Selain itu, pada tahap ini juga bertujuan untuk mendapatkan kritik

dan saran terhadap hasil yang dibuat di tahap increment ini.

Gambar 2-2 Incremental Process Model

Source: (Pressman, 2014, pp. 41-42)

2.3. Interaksi Manusia dan Komputer

2.3.1. Eight Golden Rules

Terdapat 8 aturan emas dalam perancangan desain antarmuka yang harus

diperhatikan berdasarkan (Shneiderman, Plaisant, Cohen, & Jacobs, 2010, pp. 88-

89), yaitu sebagai berikut:

1. Strive for consistency

User interface yang dibuat harus memiliki tampilan yang konsisten untuk aksi-

aksi yang serupa. Konsistensi yang dimaksud dapat mencakup icon, warna,

penggunaan font, layout, dan juga alur dari aplikasi. Aturan ini bertujuan untuk

membuat pengguna lebih terbiasa dan mudah menggunakan aplikasi yang dibuat.

2. Cater to universal usability

Designer harus menyadari kebutuhan dari beragam pengguna, desain yang dibuat

harus memfasilitasi perubahan konten. Designer harus dapat membuat desain

yang mudah digunakan untuk pengguna pemula, orang yang sudah lanjut usia,

pengguna ahli, dan keberagaman pengguna lainnya. Dengan menambahkan fitur-

fitur yang dibutuhkan pemula seperti panduan dan penjelasan, tentunya dapat

memudahkan pengguna pemula dalam menggunakan aplikasi. Serta

menambahkan fitur untuk pengguna ahli seperti pencarian menu, juga dapat

memudahkan pengguna ahli dalam menggunakan aplikasi tersebut.

Page 4: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

10

3. Offer informative feedback

Untuk setiap aksi yang dilakukan pengguna, harus ada umpan balik yang

diberikan oleh sistem. Untuk aksi yang sering dilakukan atau bersifat minor,

dapat memberikan respon yang sederhana, sedangkan untuk aksi yang jarang

dilakukan atau bersifat major, respon yang diberikan harus lebih besar serta

adanya konfirmasi untuk meyakinkan pengguna dalam melakukan aksi tersebut.

4. Design dialogs to yield closure

Urutan dari aksi yang dilakukan harus dibagi menjadi awal, pertengahan, dan

akhir. Umpan balik yang informatif saat aksi selesai dilakukan oleh pengguna

dapat memberikan petunjuk untuk melanjutkan aksi yang selanjutnya. Sebagai

contoh, situs e-commerce memindahkan pengguna dari halaman pemilihan

produk ke halaman keranjang belanja, berakhir dengan halaman konfirmasi

pembayaran produk yang dibeli secara rinci.

5. Prevent errors

Sebisa mungkin, desain sistem harus dirancang sedemikian rupa sehingga

pengguna tidak dapat membuat kesalahan yang serius. Misalnya, tidak

mengizinkan adanya karakter alfabet dalam numeric entry field. Jika pengguna

membuat kesalahan, tampilan antarmuka harus mendeteksi kesalahan yang

didapat lalu memberikan instruksi yang jelas tentang seperti letak kesalahan dan

penjelasan kesalahan yang dibuat. Sehingga pengguna dapat memperbaiki

kesalahan yang dilakukan.

6. Permit easy reversal of actions

Sebisa mungkin, aksi yang dilakukan harus reversible (dapat dikembalikan).

Fitur ini dapat mengurangi kecemasan pengguna saat melakukan kesalahan,

karena pengguna mengetahui bahwa kesalahan yang dilakukan dapat dibatalkan.

7. Support internal locus of control

Pengguna yang berpengalaman memiliki perasaan bahwa mereka bertanggung

jawab atas tampilan dan respon dari tampilan yang didapatkan dari aksi yang

mereka lakukan. Mereka tidak ingin adanya perubahan pada perilaku pada

tampilan antarmuka yang sudah familiar, sehingga designer harus membuat

perilaku pada tampilan antarmuka yang berdasarkan ekspetasi pengguna.

8. Reduce short-term memory load

Karena keterbatasan kapasitas memori jangka pendek pada manusia, designer

sebaiknya mengurangi banyaknya informasi yang harus diingat oleh pengguna

Page 5: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

11

untuk dapat menggunakan sistem dengan baik. Sehingga designer harus

membuat tampilan antarmuka yang mudah diingat dan dikenal oleh pengguna.

2.3.2. Five Measurable Human Factors

Terdapat 5 faktor manusia terukur yang harus diperhatikan dalam merancang

desain antarmuka berdasarkan (Shneiderman, Plaisant, Cohen, & Jacobs, 2010, p.

32), yaitu sebagai berikut:

1. Time to learn

Waktu yang dibutuhkan pengguna untuk mempelajari bagaimana aksi yang

terdapat didalam aplikasi dapat melakukan suatu tugas.

2. Speed of performance

Berapa lama yang dibutuhkan aplikasi untuk dapat menyelesaikan suatu tugas.

3. Rate of errors by users

Berapa banyak dan apa jenis kesalahan yang dilakukan oleh pengguna saat

melakukan tugas.

4. Retention over time

Bagaimana pengguna dapat mengingat dan memahami cara penggunaan aplikasi

setelah beberapa waktu.

5. Subjective satisfaction

Bagaimana tingkat kepuasan pengguna terhadap penggunaan aspek-aspek dari

tampilan antarmuka. Tingkat kepuasan pengguna dapat didapat dari kuisioner

atau wawancara.

2.4. Database dan DBMS

2.4.1. Database

Database adalah tempat penyimpanan data yang besar yang dapat digunakan

secara bersamaan oleh banyak pengguna. Semua data yang ada terintegrasi dengan

jumlah duplikasi yang sangat minimum, dibandingkan dengan file-file yang tidak

terhubung satu sama lain dan memiliki data redundan. Database juga dapat diartikan

sebagai kumpulan data yang berhubungan secara logical, dan deskripsi dari data-data

ini, harus dirancang untuk memenuhi kebutuhan informasi dari sebuah organisasi.

(Connoly & Begg, 2015)

Page 6: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

12

2.4.2. DBMS (Database Management System)

Berdasarkan (Connoly & Begg, 2015), DBMS (Database Management

System) adalah perangkat lunak yang berinteraksi dengan program aplikasi pengguna

dan database. Secara khusus, DBMS menyediakan fasilitas sebagai berikut:

1. Mengizinkan pengguna untuk mendefinisikan database, biasanya melalui Data

Definition Language (DDL). DDL dapat mengizinkan pengguna untuk

menspesifikasikan tipe data, struktur, dan constraint pada data yang akan

disimpan ke dalam database.

2. Mengizinkan pengguna untuk menambahkan, menghapus, mengubah, dan

mengambil data dari database, biasanya melalui Data Manipulation Language

(DML). Dengan adanya penyimpanan utama untuk semua data, dapat

mengizinkan DML untuk menyediakan fasilitator untuk data tersebut yang

dinamakan query language.

3. Menyediakan kontrol akses ke database. Contohnya adalah security system

(untuk membatasi akses user yang mengakses database), integrity system (untuk

menjaga konsistensi data yang tersimpan), concurrency control system (untuk

mengizinkan akses yang dibagi dari database), dan recovery control system

(untuk mengembalikan database ke kondisi sebelum terjadi software failure atau

hardware failure).

2.5. Used Technology

2.5.1. HyperText Markup Language (HTML)

HTML adalah sebuah jenis Bahasa yang disebut dengan markup language

yang dirancang untuk menentukan isi dan struktur dari halaman web dengan cara

yang portabel. HTML memungkinkan penggunanya untuk membuat konten yang

diberikan dengan tepat di berbagai perangkat luar biasa yang terhubung ke internet

termasuk ponsel pintar, komputer tablet, komputer notebook, komputer desktop.

(Deitel, Deitel, & Deitel, 2011, p. 6)

2.5.2. Cascading Style Sheets (CSS)

CSS merupakan teknologi dari World Wide Web Consortium (W3C) yang

membuat pengguna mampu menentukan presentasi elemen-elemen pada halaman

web (seperti font, spasi, ukuran, warna, posisi) secara terpisah dari struktur dan isi

dokumen (seperti bagian head, body, dan footer). Pemisahan struktur membuat

Page 7: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

13

modifikasi halaman web menjadi lebih mudah dan sederhana terutama dalam

halaman web berskala besar. (Deitel, Deitel, & Deitel, 2011, p. 106)

2.5.3. Bootstrap

Bootstrap merupakan produk yang bersifat sumber terbuka dari Mark Otto

dan Jacob Thornton yang ketika pertama kali Bootstrap diluncurkan, mereka berdua

masih bekerja di Twitter. Nama asli dari Bootstrap adalah Twitter Blue0070print.

Pada waktu itu Twitter mengharuskan adanya standardisasi toolset untuk tampilan

depan. Sejak Bootstrap diluncurkan pada bulan Agustus tahun 2011, popularitasnya

mulai menanjak. Bootstrap berkembang dari proyek CSS-driven menjadi proyek

yang menyertakan plugin JavaScript dan ikon tertentu yang berguna ketika pengguna

form dan button. Salah satu yang menarik adalah buildtool di halaman web

Bootstrap, di mana pengguna dapat menyesuaikan dengan kebutuhan mereka,

memilih fitur CSS dan JavaScript mana yang ingin disertakan di halaman web yang

sedang dibangun. (Spurlock, 2013, p. 1)

2.5.4. Javascript

JavaScript adalah bahasa scripting berbasis objek dan merupakan bahasa

pemrograman sederhana yang memperbolehkan halaman-halaman HTML untuk

menyertakan fungsi-fungsi dan script dapat mengenali dan merespons kepada

tindakan pengguna, seperti contohnya aksi klik, input pengguna, dan navigasi

halaman. Script ini dapat membantu mengimplementasikan sifat kompleks dari web

dengan upaya pemrograman yang minimum. (Deitel, Deitel, & Deitel, 2011, p. 186)

2.5.5. jQuery

jQuery merupakan library JavaScript yang saat ini paling populer dari ratusan

library JavaScript. jQuery menyederhanakan pemrograman JavaScript dengan

membuatnya lebih mudah untuk memanipulasi elemen pada halaman web dan

berinteraksi dengan server secara portabel di berbagai browser web. jQuery

menyediakan library custom Graphical User Interface (GUI) di luar kontrol GUI

dasar disediakan oleh HTML5 yang dapat digunakan untuk meningkatkan tampilan

dan nuansa halaman web. (Deitel, Deitel, & Deitel, 2011, p. 8)

Page 8: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

14

2.5.6. Asynchronous JavaScript and XML (AJAX)

AJAX merupakan teknik dalam pembuatan halaman web di mana AJAX

memisahkan interaksi pengguna sisi klien dan komunikasi server dan

menjalankannya secara paralel, mengurangi penundaan pemrosesan sisi server yang

biasanya dialami oleh pengguna. (Deitel, Deitel, & Deitel, 2011, p. 572)

2.5.7. JavaScript Object Notation (JSON)

JSON merupakan format pertukaran data berbasis teks yang digunakan untuk

mewakili objek dalam JavaScript sebagai koleksi dari pasangan nama / nilai diwakili

sebagai String. Ini biasanya digunakan dalam aplikasi Ajax. JSON adalah format

sederhana yang membuat objek mudah dibaca, dibuat dan diuraikan, dan

memungkinkan program untuk mengirimkan data secara efisien di internet karena

jauh lebih sedikit verbose dari XML. (Deitel, Deitel, & Deitel, 2011, p. 792)

2.5.8. DataTable

DataTable merupakan plugin yang menyempurnakan tabel untuk library

JavaScript jQuery dengan menambahkan kemampuan pengurutan, paging, dan filter

pada tabel HTML biasa dengan usaha yang minimum. Tujuan utama dari DataTable

adalah: Untuk meningkatkan aksesibilitas data dalam tabel HTML. (GitHub -

DataTables/DataTables: Tables plug-in for jQuery, 2016)

2.5.9. MySQL

MySQL (diucapkan “my sequel”) merupakan Relational Database

Management System (RDBMS) yang dibuat oleh Michael Monty Widenius pada

tahun 1994 untuk perusahaan TcX. MySQL merupakan produk yang bersifat sumber

terbuka.

Beberapa manfaat penting termasuk:

a) Skalabilitas dapat menanamkannya dalam aplikasi atau menggunakannya dalam

pergudangan data yang besar.

b) Kinerja dapat mengoptimalkan kinerja berdasarkan tujuan dari basis data pada

aplikasi.

c) Dukungan untuk banyak bahasa pemrograman.

d) Implementasi MySQL untuk Windows, Mac OS X, Linux dan UNIX.

Page 9: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

15

e) Menangani basis data yang besar (misalnya, puluhan ribu tabel dengan jutaan

baris).

Untuk alasan ini MySQL adalah basis data pilihan untuk banyak bisnis,

universitas dan individu. (Deitel, Deitel, & Deitel, 2011, p. 632)

2.5.10. PHP: Hypertext Preprocessor (PHP)

PHP merupakan bahasa server-side scripting yang paling populer untuk

pembuatan halaman web yang dinamis. PHP dibuat oleh Rasmus Lerdorf. PHP

merupakan platform independen dan dapat diimplementasikan UNIX, Linux, Mac,

dan Sistem Operasi Windows. PHP juga mendukung banyak basis data seperti

MySQL. (Deitel, Deitel, & Deitel, 2011, p. 665)

2.5.11. Laravel

Laravel merupakan framework aplikasi web PHP yang menyediakan sintak

yang elegan dengan mengurangi tugas-tugas umum yang dilakukan dalam proses

pembuatan web seperti authentication, routing, sessions, dan caching. Laravel

dibangun menggunakan konsep MVC (Model View Controller) dan dirancang untuk

meningkatkan kualitas aplikasi berbasis situs web yang menyediakan sintak yang

ekspresif, mudah dibaca dan menghemat waktu. (GitHub - laravel/laravel: A PHP

framework for web artisans, 2015)

2.5.12. Laravel Excel Maatwebsite

Laravel Excel membawa kekuatan PHPExcel PHPOffice ke Laravel 5 dengan

sentuhan Magic Laravel. Ini termasuk fitur seperti: mengimpor Excel dan CSV ke

koleksi, mengekspor model, array dan view ke Excel, mengimpor batch file dan

mengimpor file oleh config file. (GitHub - Maatwebsite/Laravel-Excel: Supercharged

Excel exports and imports in Laravel, 2016)

2.5.13. Model View Controller (MVC)

Model View Controller adalah sebuah design pattern arsitektural yang

mendukung improvisasi aplikasi dengan pemisahan fokus pada kode menjadi 3 yaitu

business data (Model), user interface (View), dan perantara ketiga yang mengatur

logika pada aplikasi (Controller). (Osmani, 2017)

Page 10: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

16

2.6. ER Modeling

ER modeling adalah pendekatan Top-Down untuk perancangan basis data

yang diawali dengan identifikasi data yang penting yang disebut entitas / Entity dan

hubungan / Relationship antara data yang harus direpresentasikan di model.

(Connoly & Begg, 2015, p. 405) Berikut adalah beberapa komponen dalam ER

Modeling:

a) Entity Types

Entity Types adalah suatu kumpulan dari objek yang memiliki property yang

sama, yang

diidentifikasikan oleh perusahaan karena memiliki keberadaan yang mandiri /

tidak tergantung / independen. (Connoly & Begg, 2015, p. 406)

b) Relationship Types

Relationship Types adalah kumpulan dari asosiasi / hubungan yang bermakna

antara satu atau lebih entitas. (Connoly & Begg, 2015, p. 407)

c) Attributes

Attributes adalah properti dari entitas atau relationship. contohnya adalah sebuah

entitas bernama staff yang mungkin bisa dideskripsikan dengan attribute IdStaff,

nama, posisi. (Connoly & Begg, 2015, p. 413)

1. Simple and Composite Attribute

Simple Attribute adalah attribut yang terdiri dari satu komponen dengan

keberadaan yang independen. Attribut ini tidak dapat dipecah lagi menjadi

komponen yang lebih kecil dan terkadang disebut juga Atomic Attributes.

Sedangkan Composite Attribute adalah atribut yang terdiri dari lebih dari satu

komponen dimana setiap komponen memiliki keberadaan yang independen.

2. Single-Valued and Multi-Valued Attributes

Single-valued attribute adalah atribut yang memiliki satu nilai untuk setiap

kejadiannya di setiap entitas. Kebanyakan atribut adalah atribut yang bernilai

tunggal. Sedangkan Multi-valued attribute adalah atribut yang memiliki lebih

dari satu nilai untuk setiap kejadian di setiap entitas.

3. Derived Attributes

Derived Attributes adalah atribut yang merepresentasikan nilai yang dapat

diwariskan dari nilai atribut yang berhubungan atau kumpulan attribut.

4. Keys

Keys dapat dikategorikan dalam beberapa jenis berikut, yaitu:

Page 11: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

17

a. Candidate Key

Candidate Key adalah kumpulan dari atribut minimum yang secara unik

diidentifikasi di setiap entitas.

b. Primary Key

Primary Key adalah candidate key yang terpilih untuk mengidentifikasi

secara unik setiap entitas

c. Composite Key

Composite Key adalah candidate key yang terdiri dari dua atau lebih

attribute.

d. Alternate Key

Alternate Key adalah candidate key yang tidak terpilih untuk menjadi

primary key.

e. Foreign Key

Foreign Key adalah satu atau kumpulan atribut dalam satu relasi yang

cocok dengan candidate key dari beberapa relationship.

Salah satu notasi yang dapat digunakan pada ERD adalah Crow’s Foot.

(Coronel, Morris, & Rob, 2011, p. 39) mengatakan bahwa nama Crow’s Foot berasal

dari ide symbol cabang yang digunakan untuk mewakili sisi “banyak” dari hubungan

antar entitas. Gambar dibawah menunjukkan contoh Entity Relationship Diagram

menggunakan notasi Crow’s Foot.

Gambar 2-3 ERD dengan menggunakan notasi Crow’s Foot

Page 12: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

18

Pada notasi Crow’s Foot, terdapat simbol-simbol notasi yang dapat

digunakan untuk merancang ERD. Berikut adalah simbol-simbol yang dapat

digunakan:

Tabel 2-1 Tabel simbol-simbol pada notasi Crow’s Foot

Crow’s Foot Symbols Cardinality Comment

(0,N) Zero or many; the “many” side is

optional.

(1,N) One or many; the “many” side is

mandatory.

(1,1) One and only one; the “1” side is

mandatory.

(0,1) Zero or one; the “1” side is optional.

2.7. UML

UML adalah sekumpulan standar model konstruksi dan notasi yang

didefinisikan oleh Object Management Group (OMG), organisasi standar untuk

pengembangan system. (Satzinger & Jackson, 2011, p. 46)

Ketika mengembangkan UML ada beberapa jenis asumsi yang akan

mengarahkan analis dalam membuat diagram (Satzinger & Jackson, 2011, p. 344):

a. Perfect Technology Assumption

Perfect Technology Assumption adalah asumsi bahwa sistem akan berjalan pada

kondisi operasional and teknologi yang sempurna. (Satzinger & Jackson, 2011, p.

76)

b. Perfect Memory Assumption

Perfect Memory Assumption adalah asumsi yang menyatakan object berada pada

memory dan dapat digunakan untuk use case. Asumsi ini tidak mempertanyakan

apakah object dibuat atau tidak pada memory

c. Perfect Solution Assumption

Perfect Solution Assumption adalah asumsi dimana analis tidak mengkhawatirkan

exception condition. Banyak developer merancang tahap tahap proses sederhana

lalu kemudian menambahkan message lain dan kemudian proses untuk

menangani exception condition.

Page 13: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

19

2.7.1. Use Case Diagram

Use Case Diagram adalah model UML yang digunakan untuk menunjukkan

secara grafis use case dan hubungannya dengan pengguna. (Satzinger & Jackson,

2011, p. 78)

Gambar 2-4 Contoh Use Case dengan Actor

Sumber: (Satzinger & Jackson, 2011, p. 82)

1. Use Case

Use Case digambarkan dengan grafis dalam bentuk elips dengan nama use case

muncul di atas, di bawah, atau dalam elips. Sebuah Use Case mewakili satu

tujuan dari sistem dan menggambarkan urutan dari aktivitas dan interaksi

pengguna untuk mencapai tujuan.

Page 14: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

20

2. Actor

Gambar 2-5 Contoh Use Case

Sumber: (Satzinger & Jackson, 2011, p. 81)

Use Case diawali atau dipicu oleh pengguna eksternal yang disebut dengan

Actor. Actor perlu berinteraksi dengan sistem untuk bertukar informasi. Actor

mewakili peran pengguna yang berinteraksi dengan sistem dan tidak hanya

individu saja yang bisa menjadi actor melainkan bisa menjadi sebuah organisasi,

sistem informasi lain, atau perangkat eksternal seperti sensor panas. Actor

digambarkan secara grafis sebagai stick figure yang dibawahnya terdapat peran

dari Actor tersebut.

Gambar 2-6 Contoh Actor

Sumber: (Satzinger & Jackson, 2011, p. 81) 3. Relationship

Relationship adalah garis penghubung antara actor dan use case. Relationship

menandakan bahwa use case digunakan oleh seorang actor. Selama proses

pengembangan sebuah use case diagram, satu use case memungkinkan untuk

menggunakan service dari use case lain. Relationship ini disebut sebagai

<<includes>> relationship atau <<uses>> relationship.

Page 15: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

21

Gambar 2-7 Contoh Use Case dengan <<includes>> relationship

Sumber: (Satzinger & Jackson, 2011, p. 84)

4. Automation Boundary

Automation Boundary adalah batas yang memisahkan actor dan sistem.

Automation Boundary digambarkan sebagai kotak yang berisi use case

didalamnya.

Page 16: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

22

Gambar 2-8 Contoh Automation Boundary

Sumber: (Satzinger & Jackson, 2011, p. 81) 2.7.2. Use Case Description

Use Case Description adalah model tekstual yang mendeskripsikan informasi

atau detail proses tentang setiap use case. Use Case yang sepenuhnya dikembangkan

adalah metode paling formal untuk mendokumentasikan sebuah use case. Salah satu

kesulitan pengembang perangkat lunak adalah mereka seringkali kesulitan untuk

mendapatkan pemahaman yang mendalam tentang kebutuhan pengguna. Tapi dengan

membuat use case yang sepenuhnya dikembangkan, kemungkinan untuk mengerti

secara dalam proses bisnis dan cara sistem harus mendukung use case tersebut dapat

meningkat.

Komponen-komponen dari use case description berdasarkan (Satzinger &

Jackson, 2011, pp. 121-123) adalah sebagai berikut:

1. Use Case Name

Use Case name adalah nama dari use case yang akan dideskripsikan.

2. Scenario

Scenario adalah flow dari activity yang ada didalam use case. Sebuah use case

mungkin memiliki activity-activity yang berbeda.

3. Triggering Event

Triggering event adalah event yang menjadi pemicu atau sebab suatu use case.

4. Brief Description

Brief Description adalah penjelasan dari suatu use case atau scenario.

Page 17: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

23

5. Actors

Actor menandakan orang-orang yang terlibat dalam suatu use case. Actor tidak

selalu orang-orang, tetapi juga dapat berupa sistem atau perangkat.

6. Related Use Cases

Related Use Case menandakan use case lain yang berhubungan dengan use case

yang sedang dideskripsikan dan bagaimana use case tersebut berhubungan.

7. Stakeholders

Stakeholders menandakan orang yang berkepentingan dalam suatu use case.

8. Preconditions

Preconditions mengidentifikasikan state atau kondisi seperti apa seharusnya

sistem sebelum use case dimulai.

9. Postconditions

Postconditions mengidentifikasikan state yang terjadi pada saat penyelesaian use

case.

10. Flow of Activities

Flow of activities mendeskripsikan langkah-langkah yang dijalankan oleh actor

dan tanggapan yang dibutuhkan oleh sistem.

11. Exception Conditions

Exception conditions adalah activity alternative dari suatu use case.

Page 18: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

24

Gambar 2-9 Contoh Use Case Description

Sumber: (Satzinger & Jackson, 2011, p. 123) 2.7.3. Activity Diagram

Activity Diagram adalah diagram yang mendeskripsikan aktivitas pengguna

atau sistem, orang yang melakukan setiap activity, dan urutan flow dari activity

tersebut (Satzinger & Jackson, 2011, p. 57). Activity Diagram berguna ketika urutan

dari aktivitas sebuah use case sangat complex.

Simbol-simbol yang digunakan ketika mengembangkan suatu activity

diagram adalah sebagai berikut:

Page 19: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

25

1. Starting Activity

Starting Activity dilambangkan dengan lingkaran hitam yang menandakan awal

dari sebuah workflow.

2. Ending Activity

Ending Activity dilambangkan dengan lingkaran hitam didalam lingkaran putih

yang menandakan akhir dari sebuah workflow.

3. Activity

Activity dilambangkan dengan oval yang menandakan aktivitas individual dalam

sebuah workflow.

4. Transition Arrow

Transition Arrow adalah panah penghubung yang menandakan urutan antar

activity.

5. Decision Activity

Decision Activity dilambangkan dengan wajik yang menandakan titik keputusan

dimana urutan proses akan mengikuti suatu jalur atau jalur lainnya

6. Merge Activity

Merge Activity dilambangkan dengan wajik yang sama seperti Decision Activity

yang menandakan titik penghubung antara beberapa jalur yang terpisah karena

Decision Activity

7. Synchronization Bar

Synchronization Bar dilambangkan dengan garis tebal yang memisahkan jalur

menjadi beberapa jalur secara bersamaan atau menggabungkan beberapa jalur

(join). Synchronization Bar juga dapat digunakan untuk mewakili perulangan

seperti “do while”.

8. Swimlane

Swimlane adalah daerah kotak yang mewakili agen yang melakukan activity.

Page 20: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

26

Gambar 2-10 Simbol-simbol pada Activity Diagram

Sumber: (Satzinger & Jackson, 2011, p. 58)

Page 21: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

27

Gambar 2-11 Contoh Activity Diagram

Sumber: (Satzinger & Jackson, 2011, p. 59)

Page 22: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

28

2.7.4. Class Diagram

Class Diagram digunakan untuk menunjukkan class-class dari object-object

pada sistem. Sebuah class diagram terdiri dari class dan association antar class.

Salah satu tipe class diagram yang menunjukkan hal-hal dalam masalah

domain pengguna disebut sebagai domain model class diagram. Tipe lain dari class

diagram disebut sebagai design class diagram, dan ini digunakan ketika merancang

class perangkat lunak.

Design class diagram mendeskripsikan class-class dengan cara yang sangat

membantu perancangan database dan perancangan aplikasi. Selama analisis, analis

biasanya tidak menambahkan rincian attribute dalam class diagram. Selama

perancangan yang lebih rinci, menambahkan rincian attribute seperti apakah

attribute tersebut public atau private, tipe attribute, dan method-methodnya.

Pengembang biasanya membuat design class diagram dan mereka menambahkan

lebih banyak class dari yang sudah didefinisikan pada domain model.

Berdasarkan (Satzinger & Jackson, 2011) notasi-notasi yang digunakan

ketika mengembangkan class diagram adalah sebagai berikut:

1. Class

Class adalah klasifikasi yang digunakan untuk mendeskripsikan sekumpulan

object. Class dilambangkan dengan kotak. Simbol class terdiri dari 2 atau 3

bagian. Bagian paling atas terdiri dari nama class, dan bagian kedua terdiri dari

daftar attribute dalam suatu class, dan bagian ketiga (jika ada) terdiri dari daftar

method class tersebut.

Page 23: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

29

Gambar 2-12 Notasi dari Class

Sumber: (Satzinger & Jackson, 2011, p. 310)

Nama Class dan attribute dari class diagram menggunakan notasi camelback,

yaitu setiap kata digabung tanpa menggunakan spasi atau underscore. Nama class

dimulai dengan huruf kapital, sedangkan nama attribute dimulai dengan huruf

kecil. Stereotype adalah notasi spesial yang membolehkan penggunanya

mengspesifikasikan tipe spesial dari suatu class. Stereotype memperpanjang

definisi sederhana dari sebuah model dengan menunjukkan bahwa class tersebut

memiliki karakteristik spesial yang ingin kita soroti.

Analis harus mendefinisikan format untuk setiap attribute, yang terdiri dari:

• Visibility (Jika attribute adalah public, maka dilambangkan dengan lambang

plus, jika attribute adalah private maka dilambangkan dengan lambang

minus)

• Nama Attribute

• Tipe Attribute (bisa saja character, string, integer, number, currency, atau

date)

• Initial -value, (jika diperlukan)

• Property (ditulis dengan kurung kurawal), seperti {key}, jika diperlukan

Untuk method, analis harus mendefinisikan format method yang terdiri dari:

• Method Visibility

• Nama Method

• Method Parameter List

Page 24: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

30

• Return type

2. Association

Association pada class diagram dilambangkan dengan garis yang

menghubungkan class-class

3. Generalization/Specialization Relationships

Generalization/Specialization Relationship adalah relasi jenis hirarkis yang

mengklasifikasikan hal-hal berdasarkan persamaan dan perbedaan. Superclass

adalah kelas umum yang mungkin memiliki subclass. Subclass adalah kelas yang

lebih khusus yang memiliki karakter khusus sebagai kelas induknya (superclass).

Dalam notasi class diagram, segitiga yang menunjuk ke superclass menunjukkan

hierarki Generalization/Specialization.

Dalam Class Diagram, mungkin ada class yang dicetak miring yang berarti class

tersebut adalah abstrak. Class yang abstrak adalah class yang tidak pernah dapat

dipakai, hanya class yang diwarisi class abstrak yang dipakai. Class-class ini

disebut sebagai concrete classes.

4. Inheritance

Inheritance adalah konsep dimana subclass diwarisi atau dibagikan karakteristik

superclass mereka.

Gambar 2-13 Contoh Generalization/Specialization relationship

Sumber: (Satzinger & Jackson, 2011, p. 105)

Page 25: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

31

5. Whole-Part Relationships

Whole-part relationship digunakan untuk menunjukkan asosiasi antara 1 class

dengan class yang lain yang merupakan bagian dari class tersebut. Ada 2 jenis

whole-part relationship yaitu:

• Aggregation

Aggregation adalah whole-part relationship antara aggregate dengan

komponennya dimana komponennya dapat eksis secara terpisah meskipun

aggregate tidak ada. Aggregate diwakili dengan simbol wajik.

• Composition

Composition adalah whole-part relationship yang lebih kuat dimana

komponen, setelah diasosiasikan, tidak dapat eksis secara terpisah.

Composition diwakili dengan symbol wajik yang berisi.

6. Navigation Visibility

Navigation Visibility menunjukkan kemampuan satu object untuk melihat dan

berinteraksi dengan object lain. Ada dua jenis Navigation Visibility: Attribute

navigation visibility dan Parameter navigation visibility. Ketika class memiliki

attribute dan merujuk pada object lain, ini disebut Attribute navigation visibility.

Parameter navigation visibility terjadi ketika class melewati parameter yang

merujuk pada object lain.

Ketika merancang class diagram, Menurut (Satzinger & Jackson, 2011, p.

317) ada 2 prinsip sederhana: cohesion dan coupling. Cohesion adalah ukuran

kualitatif dari fokus atau kesatuan tujuan dalam satu class. Coupling adalah ukuran

kualitatif seberapa dekat class dalam perancangan class diagram dihubungkan.

Analis kadang-kadang perlu mendokumentasikan perbedaan atau kesamaan

dalam hubungan antar object dalam layer yang berbeda. Package diagram dalam

UML adalah diagram tingkat tinggi yang memungkinkan analis mengasosiasikan

class-class berdasarkan kelompok-kelompok. Dengan menggunakan package

diagram, setiap layer dapat dipisahkan ke dalam package yang berbeda-beda.

2.7.5. Sequence Diagram

Sequence diagram adalah diagram yang menunjukkan use case atau scenario

dan urutan pesan antara actor eksternal dan sistem. Sequence Diagram

mendokumentasikan input dan output dan mengidentifikasi interaksi antara actor dan

sistem (Satzinger & Jackson, 2011, p. 126).

Page 26: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

32

Berikut adalah notasi yang digunakan ketika mengembangkan sequence

diagram:

1. Actor

Actor pada sequence diagram sama seperti actor pada use case diagram yang

menandakan orang yang berinteraksi dengan sistem. Sequence diagram

mencakup bagaimana actor berinteraksi dengan sistem, bagaimana actor

memasukkan input data, dan menerima output data.

2. Object

Object pada sequence diagram dilambangkan dengan kotak yang mengacu pada

object individu. Notasinya adalah berbentuk persegi panjang dengan nama object

yang digaris bawahi. Contohnya “:System”, Object ini menandakan keseluruhan

sistem.

3. Lifeline

Lifeline adalah garis putus putus vertikal dibawah actor atau object dalam

sequence diagram. Diantara lifeline ada panah yang mewakili pesan yang dikirim

oleh actor. Tujuan dari lifeline adalah untuk menunjukkan urutan pesan yang

dikirim dan diterima oleh actor dan object.

4. Input Message

Pesan dan data input dilambangkan tanda panah yang diberi label untuk

menjelaskan tujuannya dan setiap data input yang dikirim. Nama pesan harus

mengikuti kata kerja-kata kerja sintaks untuk membuat tujuan menjadi jelas.

Dalam Sequence Diagram, sebuah pesan mirip dengan perintah yang dipanggil

pada object tujuan. Data input yang dikirim bersama pesan ditulis dalam tanda

kurung.

5. Return Value

Return value dilambangkan dengan panah dengan garis putus putus yang

menandakan respon atau jawaban. Hanya data yang dikirim pada respon yang

dicatat, karena itu adalah respon.

Page 27: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

33

Gambar 2-14 Notasi sederhana pada Sequence Diagram

Sumber: (Satzinger & Jackson, 2011, p. 127)

6. Loop Frame

Loop Frame dalam sequence diagram menunjukkan operasi berulang. Loop

Frame dilambangkan dengan persegi panjang yang lebih besar yang memiliki

persegi panjang yang lebih kecil di bagian atas Frame. Persegi panjang yang

lebih kecil berisi teks untuk mengontrol perilaku pesan dalam persegi panjang

yang lebih besar.

Page 28: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

34

Gambar 2-15 Contoh perulangan pada Sequence Diagram

Sumber: (Satzinger & Jackson, 2011, p. 128)

7. Opt Frame

Opt Frame pada sequence diagram digunakan ketika respon atau sekumpulan

respon adalah pilihan atau berdasarkan kondisi true/false. Brackets []

menandakan kondisi true/false.

Page 29: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

35

Gambar 2-16 Contoh opt frame

Sumber: (Satzinger & Jackson, 2011, p. 130)

8. Alt Frame

Alt Frame pada Sequence diagram digunakan untuk menandakan logika if-then-

else. Brackets [] menandakan kondisi true/false.

Page 30: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

36

Gambar 2-17 Contoh alt frame

Sumber: (Satzinger & Jackson, 2011, p. 130)

2.8. Skripsi

2.8.1. Skripsi

Skripsi adalah karangan ilmiah yang wajib ditulis oleh mahasiswa sebagai

bagian dari persyaratan akhir pendidikan akademisnya. Skripsi bertujuan agar

mahasiswa mampu menyusun dan menulis suatu karya ilmiah sesuai dengan bidang

ilmunya. Skripsi merupakan persyaratan untuk mendapatkan status sarjana (S1) di

setiap perguruan tinggi negeri maupun perguruan tinggi swasta yang ada di

Indonesia. (School of Computer Science, n.d.)

2.8.2. Topik Skripsi

Dalam menjalankan proses skripsi, mahasiswa harus memilih topik skripsi

yang akan diambil untuk dijadikan bahan penulisan skripsi. Topik skripsi yang dapat

dipilih oleh mahasiswa biasanya bermacam-macam sesuai dengan jurusan yang

diambil oleh mahasiswa. Dengan adanya topik skripsi, skripsi untuk satu jurusan

Page 31: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

37

dapat dibagi-bagi sehingga proses pengecekan skripsi dilakukan oleh CCC yang

menangani suatu topik tersebut. (School of Computer Science, n.d.)

2.8.3. Tipe Skripsi

Selain memilih topik skripsi, mahasiswa yang sedang menjalankan proses

skripsi juga harus memilih tipe skripsi. Tipe Skripsi adalah jenis skripsi yang

ditempuh mahasiswa sarjana (S1) selama proses pengerjaan skripsi. Dapat berupa

non-class, class, internship, dan lain-lain. Setiap tipe skripsi dapat memiliki

ketentuan yang berbeda-beda dari segi penulisan, isi, bimbingan, dan lain-lain.

(School of Computer Science, n.d.)

2.8.4. Proposal Skripsi

Proposal Skripsi adalah usulan penelitian yang harus dibuat oleh mahasiswa

sarjana (S1) untuk dijadikan skripsi. Sebelum mahasiswa membuat penulisan skripsi,

mahasiswa harus membuat proposal skripsi untuk dapat mengajukan judul dan topik

yang akan dijadikan skripsi. Dalam proses pengumpulan proposal skripsi, akan ada

pihak yang melakukan review terhadap proposal skripsi yang dikumpulkan untuk

dapat menentukan apakah judul dan topik yang diajukan dapat dijadikan skripsi atau

tidak. (School of Computer Science, n.d.)

Page 32: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/RS1_2018_1_497_Bab2.pdf · rasional dan tepat waktu. Lapisan process menentukan kerangka kerja yang

38