BAB II LANDASAN TEORI 2.1. Konsep Dasar Program Pada saat ini, metode berorientasi objek banyak dipilih karena metodologi lama banyak menimbulkan masalah seperti adanya kesulitan pada saat mentansformasi hasil dari suatu tahap perkembangan ke tahap berikutnya, misalnya pada metode pendekatan terstruktur. Maka dari itu penulis membuat pemrograman berorientasi objek. Menurut Rosa dan Shalahuddin (2013:100) Metodologi berorientasi objek adalah suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang diberlakukan terhadapnya. Menurut Eko (2013:1) Pemrograman berorientasi objek (Inggris: object oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Saat ini sudah banyak bahasa pemrograman berorientasi objek, banyak orang berpikir bahwa bahasa pemrograman berorientasi objek identik dengan bahasa Java. Menurut Jubilee (2016:3) Java merupakan bahasa pemrograman yang berbasis objek atau biasa disebut dengan istilah OOP (Object Oriented Programming). Sedangkan menurut Rosa dan Shalahuddin (2013:101) Java merupakan bahasa pemrograman yang paling konsisten dalam mengimplementasikan paradigma pemrograman berorientasi Objek. Memang bahasa Java merupakan bahasa yang paling konsisten dalam mengimplementasikan paradigma pemrograman berorientasi objek. Namun 6
7 sebenarnya bahasa pemrograman yang mendukung pemrograman berorientasi objek tidak hanya bahasa Java. Berikut beberapa contoh bahasa pemrograman yang mendukung pemrograman berorientasi objek : 1. Bahasa Pemrograman Smalltalk Smalltalk merupakan salah satu bahasa pemrograman yang dikembangkan untuk mendukung pemrograman berorientasi objek mulai tahun 1978. Smalltalk memiliki berbagai versi, versi yang banyak dikenal adalah Smalltalk-80 yang dibuat pada tahun 1980. 2. Bahasa Pemrograman Eiffel Eiffel merupakan bahasa pemrograman yang dikembangkan untuk mendukung pemrograman berorientasi Objek mulai tahun 1985 oleh Bertrand Meyer dan compiler Eiffel selesai dibuat tahun 1987. Eiffel memiliki sintaks mirip dengan sintaks pada bahasa pemrograman Pascal. Eiffel merupakan bahasa pemrograman objek murni karena semua kode programnya dibungkus di dalam kelas. 3. Bahasa Pemrograman C++ Bahasa pemrograman C++ merupakan pengembangan lebih lanjut dari bahasa pemrograman C untuk mendukung pemrograman berorientasi objek. 4. Bahasa Pemrograman (Web) PHP PHP dibuat pertama kali oleh seorang perekayasa perangkat lunak (software engineering) yang bernama Rasmus Lerdoff. Rasmus Lerdoff membuat halaman web PHP pertamanya pada tahun 1994. PHP4 dengan versi-versi
8 akhir menuju PHP5 sudah mendukung pemrograman berorientasi objek. PHP merupakan bahasa pemrograman yang digunakan untuk pemrograman web. 5. Bahasa Pemrograman Java. Java dikembangkan oleh perusahaan Sun Microsystem. Java menurut definisi dari Sun Microsystem adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone ataupun pada lingkungan jaringan. Java 2 adalah generasi kedua dari java platform. Java berdiri di atas sebuah mesin interpreter yang diberi nama Java Virtual Machine (JVM). JVM inilah yang akan membaca bytecode dalam file.class dari suatu program sebagai representasi langsung program yang berisi bahasa mesin. Oleh karena itu bahasa Java disebut sebagai bahasa pemrograman yang portable karena dapat dijalankan pada berbagai sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM. Java merupakan bahasa pemrograman objek murni karena semua kode programnya dibungkus dalam kelas. Saat ini Sun Microsystem sudah diakuisisi Oracle Corporation sehingga pengembangan Java diteruskan oleh Oracle Corporation. 2.1.1. Objek Objek merupakan bagian terpenting dalam pemrograman berbasis objek. Setiap objek menampung data dan kode untuk mengelola data-data tersebut. Objek dapat berinteraksi tanpa harus mengetahui informasi rinci mengenai data atau kode dalam objek lain. Secara teknis, sebuah kelas saat program dieksekusi maka akan dibuat sebuah objek.
9 2.1.2. Kelas Kelas (class) adalah sekumpulan objek dengan properti (atribut), perilaku (operasi), dan hubungan yang sama dengan antarobjek. Sebuah objek merupakan variabel dengan tipe kelas. Kelas merupakan tipe data yang dibuat oleh pengguna. Setelah suatu kelas didefinisikan, dapat membuat berapa pun jumlah objek dari kelas tersebut. 2.1.3. Abstraksi Data Abstraksi data dilakukan dengan menyediakan deskripsi penting tanpa menyertakan informasi detail atau penjelasan. Kelas-kelas menggunakan konsep abstraksi dan didefinisikan sebagai daftar atribut abstrak seperti ukuran dan fungsifungsi yang mengelola atribut-atribut tersebut. Semua itu merangkum properti penting dari objek yang akan dibuat. 2.1.4. Enkapsulasi Data Enkapsulasi data artinya membungkus data dan fungsi dalam sebuah unit tunggal. Dengan enkapsulasi, data tidak dapat diakses secara langsung dari luar. Untuk mengakses data, kita dapat memanfaatkan fungsi-fungsi yang ada dalam kelas tersebut. 2.1.5. Pewarisan Pewarisan adalah proses yang memungkinkan objek dari suatu kelas dapat memperoleh properti dari objek kelas yang lain. Pewarisan berarti suatu kelas mewarisi data dan perilaku dari kelas yang lain. Dengan pewarisan dapat menambahkan karakteristik pada suatu kelas tanpa harus memodifikasinya.
10 2.1.6. Polimorfisme Polimorfisme merupakan kemampuan untuk memiliki lebih dari satu bentuk. Polimorfisme berarti bahwa operasi yang sama dapat melakukan hal yang berbeda untuk tiap-tiap kelas. 2.2. Peralatan Pendukung Peralatan pendukung merupakan alat yang digunakan untuk menggambarkan bentuk logika model dari suatu sistem dengan menggunakan simbol-simbol, lambang-lambang, dan diagram-diagram yang menunjukan secara tepat arti dan fungsinya. Adapun peralatan pendukung (tools system) yang dijelaskan sebagai model sistem yang akan dirancang adalah sebagai berikut : 2.2.1 UML (Unifield Modeling Language) Pada perkembangan teknik pemrograman berorientasi objek, munculah sebuah standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu Unifield Modeling Language (UML). UML muncul karena adanya kebutuhan pemodelan visual untuk menspesifikasikan, menggambarkan, membangun, dan dokumentasi dari sistem perangkat lunak. Menurut Rosa dan Shalahuddin (2013:137), UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung. UML hanya berfungsi untuk melakukan pemodelan. Jadi penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak
11 digunakan pada metodologi berorientasi objek. Penulis membuat diagram UML dengan bantuan perangkat lunak seperti Enterprise Architect. Menurut Rosa dan Shalahuddin (2013:140), pada UML 2.3 terdiri dari 13 macam diagram yang dikelompokan dalam 3 kategori. Tiga macam kategori tersebut yaitu ; 1. Structure Diagrams Menurut Rosa dan Shalahuddin (2013:141) menyatakan bahwa Structure diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan. Structure diagrams terdiri dari ; a. Class Diagram Diagram kelas atau Class Diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi. b. Object Diagram Diagram objek menggambarkan struktur sistem dari segi penamaan objek dan jalannya objek dalam sistem. Pada diagram objek harus dipastikan semua kelas yang sudah didefinisikan pada diagram kelas harus dipakai objeknya, karena jika tidak, pendefinisian kelas itu tidak dapat dipertanggungjawabkan. Diagram objek juga berfungsi untuk mendefinisikan contoh nilai atau isi dari atribut tiap kelas.
12 c. Component Diagram Diagram komponen atau component diagram dibuat untuk menunjukan organisasi dan ketergantungan diantara kumpulan komponen dalam sebuah sistem. d. Composite Structure Diagram Composite structure diagram baru mulai ada pada UML versi 2.0, pada versi 1.x diagram ini belum muncul. Diagram ini dapat digunakan untuk menggambarkan struktur dari bagian-bagian yang saling terhubung maupun mendeskripsikan struktur pada saat berjalan (runtime) dari instamce yang saling terhubung. Dapat menggambarkan struktur di dalam kelas atau kolaborasi. Contoh penggunaan diagram ini misalnya untuk menggambarkan deskripsi dari setiap bagian mesin yang saling terkait untuk menjalankan fungsi mesin tersebut, menggambarkan aliran data router pada jaringan komputer, dan lain-lain. e. Package Diagram Package diagram menyediakan cara mengumpulkan elemen-elemen yang saling terkait dalam diagram UML. Hampir semua diagram dalam UML dapat dikelompokkan menggunakan package diagram. f. Deployment Diagram Diagram deployment atau deployment diagram menunjukkan konfigurasi komponen dalam proses eksekusi aplikasi. Diagram deployment juga dapat digunakan untuk memodelkan hal-hal berikut :
13 1) Sistem tambahan (embedded system) yang menggambarkan rancangan device, node, dan hardware. 2) Sistem client / server 3) Sistem terdistribusi 4) Rekayasa ulang aplikasi 2. Behavior Diagrams Menurut Rosa dan Shalahuddin (2013:141) menyatakan bahwa Behavior diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem. Behavior diagrams terdiri dari : a. Use Case Diagram Use case atau diagram use case merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Secara kasar use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan apa saja yang berhak menggunakan fungsi-fungsi itu. b. Activity Diagram Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukakan oleh sistem.
14 c. State Machine Diagram State machine diagram atau state chart diagram atau dalam bahasa Indonesia disebut diagram mesin status atau sering juga disebut diagram status digunakan untuk menggambarkan perubahan status atau transisi status dari sebuah mesin atau sistem atau objek. Jika diagram sekuen digunakan untuk interaksi antar objek maka diagram status digunakan untuk interaksi di dalam sebuah objek. Perubahan tersebut digambarkan dalam suatu graf berarah. State machine diagram merupakan pengembangan dari diagram Finite State Automata dengan penambahan beberapa fitur dan konsep baru. 3. Interaction Diagrams Menurut Rosa dan Shalahuddin (2013:141) menyatakan bahwa Interaction diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan interaksi sistem dengan sistem lain maupun interaksi antar subsistem pada suatu sistem. Interaction diagrams terdiri dari : a. Sequence Diagram Diagram sekuen menggambarkan kelakukan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. b. Communication Diagram Communication diagram atau diagram komunikasi pada UML versi 2.x adalah penyederhanaan dari diagram kolaborasi (collaboration diagram) pada UML versi 1.x Collaboration diagram sudah tidak muncul lagi pada
15 UML versi 2.x. Diagram komunikasi sebenarnya adalah diagram kolaborasi tetapi dibuat untuk tiap sekuen. Diagram komunikasi menggambarkan interaksi antar objek / bagian dalam bentuk urutan pengiriman pesan. c. Timing Diagram Timing diagram merupakan diagram yang fokus pada penggambaran terkait batasan waktu. Timing diagram digunakan untuk menggambarkan tingkah laku sistem dalam periode waktu tertentu. Timing diagram biasanya digunakan untuk mendeskripsikan operasi dari alat digital karena penggambaran secara visual akan lebih mudah dipahami daripada dengan kata-kata. d. Interaction Overview Diagram Interaction overview diagram mirip dengan diagram aktivitas yang berfungsi untuk menggambarkan sekumpulan urutan aktivitas. Interaction overview diagram adalah bentuk aktivitas diagram yang setiap titk merepresentasikan diagram interaksi. Interaksi diagram dapat meliputi diagram sekuen, diagram komunikasi, interaction overview diagram, dan timing diagram. 2.2.2. NetBeans Menurut Wahana (2015:20), NetBeans adalah salah satu aplikasi IDE yang digunakan oleh developer software komputer untuk menulis, meng-compile, mencari kesalahan, dan untuk menyebarkan program. NetBeans mempunyai sekumpulan software modul yang dipakai untuk membuat suatu aplikasi. Modul merupakan arsip
16 Java (Java Archive) yang membuat kelas-kelas Java yang berinteraksi dengan NetBeans Open API. Pembuatan program Java dapat menggunakan text editor seperti notepad++ dan lain sebagainya. Untuk compile dan running dapat dilakukan melalui command prompt. Penggunaan aplikasi NetBeans akan memudahkan developer software untuk membuat kode program, meng-compile, dan menjalankan program. 2.2.3. PhpMyAdmin Menurut Wahana (2015:13), PhpMyAdmin adalah perangkat lunak bebas yang ditulis dalam bahasa pemrograman PHP, yang digunakan untuk menangani administrasi MYSQL melalui Word Wide Web. PhpMyAdmin mendukung berbagai operasi MYSQL, diantaranya mengelola basis data, tabel, fields, relasi, indeks, users, permissions, dan lain sebagainya. Hal-hal yang dapat dilakukan PhpMyAdmin sebagai berikut ; 1. Membuat database Untuk membuat database baru, ketik nama database tersebut pada text box di bagian buat database baru. 2. Memilih / mengaktifkan database Untuk memilih database, pilih daftar yang ada di frame kiri. 3. Membuat tabel Setelah database dipilih, ketik nama tabel dan jumlah field-nya pada bagian buat tabel baru. Selanjutnya, akan muncul form yang meminta untuk mengisi nama field, tipe data, dan lain-lain. Setelah diisi, klik simpan.
17 4. Menyimpan data Klik link insert atau sisipkan. Setelah itu, isi data-datanya pada bagian value dan simpan hasil pembuatan tabel. 5. Melihat data Klik link browser atau klik link cari jika data yang dicari akan disaring. 6. Menghapus data Klik link hapus setelah datanya ditampilkan. 7. Meng-update data Klik link ubah setelah datanya ditampilkan. Selanjutnya, akan muncul form dan dapat mengubah data. Terakhir, klik go. 8. Dump tabel dan data Maksud dump atau MYSQL adalah menciptakan query dari tabel-tabel dan data yang telah jadi. Selanjutnya, dari query tersebut dapat diekstrak kembali menjadi tabel-tabel dan datanya. Klik export pada bagian database atau tabel. Jika pada bagian database, maka dump akan dilakukan untuk semua tabel. Jika dump ada di bagian tabel, maka dump hanya untuk tabel yang bersangkutan.