7
LANDASAN TEORI
2.1. Konsep Dasar
Pembuatan Tugas Akhir ini harus terlebih dahulu di pahami teori-teori agar mempermudah dalam merancang sebuah program yang di harapkan.
Kemudahan program bagi setiap pengguna akan sangat membantu dalam menyelesaikan setiap kerjaan. Untuk dapat memahami program Perpustakaan di SMP Negeri 6 Karawang Barat. Berikut adalah teori pendukung yang memperkuat penulisan tugas akhir ini.
2.1.1. Program
Menurut Harumy (2016:4) menyatakan bahwa “Program adalah formulasi sebuah algoritma dalam bentuk bahasa pemrograman, sehingga siap untuk dijalankan pada mesin komputer”.
Menurut Kadir (2012:2) yang dimaksud “program adalah kumpulan intruksi yang digunakan untuk mengatur komputer agar melakukan suatu tindakan tertentu”.
Jadi dapat disimpulkan bahwa program adalah sekumpulan intruksi atau perintah yang dibuat untuk mengatur dan memerintahkan komputer melakukan tindakan tertentu.
A. Xampp
Menurut Riyanto (2011:4) Xampp merupakan “paket PHP dan MySQL
yang berbasis open source yang dapat digunakan sebagai tool pembantu untuk
pengembangan aplikasi berbasis PHP”.
Xampp mengombinasikan beberapa paket perangkat lunak berbeda kedalam satu paket, berikut beberapa perangkat lunak yang dibundel dalam xampp sebagai berikut :
Apache HTTPD, mod_autoindex_color module, FileZilla FTP Server, Mercury Mail Transport Agent, OpenSSL, SQLLite, The Webalizer, msmtp ( a sendmail compatible SMTP client), MySQL, PrimeBase XT Storage Enggine for MySQL, PHP, eAccelerator extension, Xdebug extension, Ming extension, PDFlib Lite extension, PEAR, phpMyAdmin, FPDF Library, ADOdb, Perl, CPAN, PPM, mod_perl,apache::ASP.
B. Crystal Report
Menurut Madcoms (2010:234), Crystal Report merupakan “program yang terpisah dengan program Microsoft Visual Basic 6.0, tetapi keduanya dapat dihubungkan (linkage)”.
Membuat Crystal Report hasilnya lebih baik dan lebih mudah, karena pada crystal report banyak tersedia objek-objek maupun komponen yang mudah digunakan.
2.1.2. Bahasa Pemrograman
Menurut Munir (2011:13) mengemukakan bahwa “Bahasa pemrograman
adalah bahasa komputer yang digunakan dalam menulis program.” Untuk itu,
bahasa pemrograman dibagi menjadi 4 (empat) tingkatan yaitu:
1. Bahasa Mesin (Machine Language)
Bahasa pemrograman yang hanya dapat dimengerti oleh mesin komputer yang didalamnya terdapat Central Processing Unit (CPU) yang hanya mengenal dua keadaan yang berlawanan, yaitu:
a. Bila terjadi kontak atau ada arus bernilai 1.
b. Bila tidak terjadi kontak atau arus bernilai 0.
2. Bahasa Tingkat Rendah (Low Level Language)
Karena banyak keterbatasan yang dimiliki bahasa mesin maka dibuatlah simbol yang mudah diingat yang disebut dengan mnemonic (pembantu untuk mengingat). Contoh : Bahasa Assembler, yang dapat menerjemahkan mnemonic.
3. Bahasa Tingkat Menengah (Middle Level Language)
Bahasa pemrograman yang menggunakan aturan-aturan gramatikal dalam penulisan pernyataannya, mudah untuk dipahami, dan memiliki instruksi- instruksi tertentu yang dapat langsung diakses oleh komputer.
Contoh: Bahasa C
4. Bahasa Tingkat Tinggi (High Level Language)
Bahasa pemrograman yang dalam penulisan pernyataannya mudah dipahami secara langsung.
a. Bahasa Berorientasi pada Prosedur (Procedure Oriented Language) Contoh: Algoritma, Fortran, Pascal, Basic, Cobol.
b. Bahasa Berorientasi pada Masalah (Problem Oriented Language)
Contoh: Report Program Generator (RPG).
A. Microsoft Visual Basic 6.0
Menurut Madcoms (2010:2), Microsoft Visual Basic 6.0 merupakan
“Bahasa Pemrograman yang cukup populer dan mudah untuk di pelajari. Anda dapat membuat program dengan aplikasi GUI (Graphical User Interface) atau program yang memungkinkan pemakai komputer berkomunikasi dengan komputer tersebut dengan menggunakan modus grafik atau gambar”.
Microsoft Visual Basic 6.0 menyediakan fasilitas yang memungkinkan anda untuk menyusun sebuah program dengan memasang objek-objek grafis dalam sebuah form. Selain itu, visual basic juga menawarkan berbagai kemudahan dalam mengelola sebuah database. Kemudahan ini masih ditambah lagi dengan tersedianya sarana dan peranti yang ada.
B. MySQL
Menurut Anhar (2010:45), MySQL (My Structure Query Language) adalah “salah satu DataBase Management System (DBMS) dari sekian banyak DBMS seperti Oracle, MS SQL, Postagre SQL, dan lainnya”.
MySQL berfungsi untuk mengolah database menggunakan bahasa SQL.
MySQL bersifat open source sehingga kita bisa menggunakannya secara gratis.
Pemrograman PHP juga sangat mendukung/support dengan database MySQL.
C. Database
Menurut Anhar (2010:45), Database adalah “sekumpulan tabel-tabel yang berisi data dan merupakan kumpulan dari field atau kolom”.
Struktur file yang menyusun sebuah database adalah Data Record dan
Field.
1. Data adalah satuan informasi yang akan diolah. Sebelum diolah, data di kumpulkan didalam satu file database.
2. Record adalah data yang isinya merupakan satu kesatuan seperti NamaUser dan Password. Setiap keterangan yang mencakup NamaUser dan Password dinamakan satu record. Setiap record diberi nomor urut yang disebut nomor record (Record Number).
3. Field adalah sub bagian dari Record. Dari contoh isi record di atas, maka terdiri dari 2 field, yaitu: field NamaUser dan Password
Tabel II.1 Tabel Database UserName Password
UserName Password
Anhar Tesaja
Hirin Codenesia
aat Virology
Sumber : Anhar (2010:46)
2.1.3. Model Pengembangan Perangkat Lunak
Menurut Sukamto dan M.Shalahudin (2014:28), “model waterfall adalah model SDLC yang paling sederhana. Model ini hanya cocok untuk pengembangan perangkat lunak dengan spesifikasi yang tidak berubah-ubah”.
Model SDLC air terjun (waterfall) sering juga disebut sekuensial linear (sequential linear) atau alur hidup klasik (classic life cycle). Model air terjun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain, pengkodean, pengujian dan tahap pendukung (support). Berikut adalah gambar model air terjun:
Field
Record
Sumber : Sukamto dan Shalahudin (2014:29) Gambar II.1 Ilustrasi Model Waterfall
1. Analisis Kebutuhan Perangkat Lunak
Proses pengumpulan kebutuhan dilakukan secara intensif untuk menspesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh user. Spesifikasi kebutuhan perangkat lunak pada tahap ini perlu untuk didokumentasikan.
2. Desain
Desain perangkat lunak adalah proses multi langkah yang fokus pada desain pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi desain agar dapat diimplementasikan menjadi program pada tahap selanjutnya. Desain perangkat lunak yang dihasilkan pada tahap ini juga perlu didokumentasikan.
3. Pembuatan Kode Program Pengujian
Desain harus ditranslasikan ke dalam program perangkat lunak. Hasil dari tahap ini adalah program komputer sesuai dengan yang telah dibuat pada tahap desain.
Desain Pengkodean Pengujian
Analisis
Sistem/Rekayasa
Informasi
4. Pengujian
Pengujian fokus pada perangkat lunak secara dari dari segi lojik dan fungsional dan memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan.
5. Pendukung (support) atau pemeliharaan
Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan ketika sudah dikirimkan ke user. Perubahan bisa terjadi karena adanya kesalahan yang muncul dan tidak terdeteksi saat pengujian atau perangkat lunak harus beradaptasi dengan lingkungan baru. Tahap pendukung atau pemeliharaan dapat mengulangi proses pengembangan mulai dari analisis spesifikasi untuk perubahan perangkat lunak yang sudah ada, tapi tidak untuk membuat perangkat lunak baru.
Dari kenyataan yang terjadi sangat jarang model air terjun dapat dilakukan sesuai alurnya karena sebab berikut:
1. Perubahan spesifikasi perangkat lunak terjadi di tengah alur pengembangan 2. Sangat sulit bagi pelanggan untuk mendefinisikan semua spesifikasi di awal
alur pengembangan. Pelanggan sering kali butuh contoh (Prototype) untuk menjalankan spesifikasi kebutuhan sistem lebih lanjut.
3. Pelanggan tidak mungkin bersabar mengkomodasi perubahan yang di perlukan di akhir alur pengembangan.
Model air terjun sangat cocok digunakan kebutuhan pelanggan sudah
sangat dipahami dan kemungkinan terjadi perubahan kebutuhan selama
pengembangan perangkat lunak kecil. Hal positif dari model air terjun adalah
struktur tahap pengembangan sistem jelas, dokumentasi dihasilkan di setiap tahap pengembangan, dan sebuah tahap dijalankan setelah tahap sebelumnya sesuai dijalankan (tidak ada tumpang tindih pelaksanaan tahap).
2.2. Tools Program
2.2.1. ERD (Entity Relationship Diagram)
Menurut Fathansyah (2012:81) menyatakan bahwa:
Entity Relationship Diagram (ERD) merupakan komponen-komponen Himpunan Entitas dan Himpunan Relasi yang masing-masing dilengkapi dengan atribut-atribut yang merepresentasikan seluruh fakta dari „dunia nyata‟ yang kita tinjau, dapat digambarkan dengan lebih sistematis dengan menggunakan Entity Relationship Diagram (ERD).
Berdasarkan definisi di atas maka ERD adalah suatu model jaringan/penggambaran himpunan entitas dan himpunan relasi yang dilengkapi dengan atribut-atribut yang mempresentasikan seluruh fakta dari dunia nyata yang ditinjau kemudian disimpan didalam sistem secara abstrak.
Notasi-notasi simbolik di dalam Diagram E-R yang dapat kita gunakan adalah:
a. Persegi panjang, menyatakan himpunan entitas.
b. Lingkaran/elips, menyatakan atribut (atribut yang berfungsi sebagai key digaris bawahi).
c. Belah ketupat, menyatakan himpunan relasi.
d. Garis, sebagai penghubung antara himpunan relasi dengan himpunan entitas dan himpunan entitas dengan atributnya.
e. Kardinalitas relasi dapat dinyatakan dengan banyaknya garis cabang atau
dengan pemakaian angka (1 dan 1 untuk relasi satu ke satu, 1 dan N untuk
relasi satu ke banyak atau N dan N untuk relasi banyak ke banyak).
A. Key
Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data (row) dalam tabel secara unik. Berikut ini adalah jenis-jenis key:
1. Super Key
Merupakan satu atau lebih atribut (kumpulan atribut yang dapat membedakan setiap baris data dalam sebuah tabel secara unik.
2. Candidate Key
Merupakan kumpulan atribut minimal yang dapat membedakan setiap baris data dalam sebuah tabel secara unik.
3. Primary Key
Merupakan salah satu dari Candidate key yang memiliki keunikan key lebih sering untuk dijadikan sebagai acuan.
B. Kardinalitas
Untuk merancang ERD dibutuhkan adanya derajat relasi untuk menunjukkan jumlah entitas yang dapat berelasi dengan himpunan entitas lain.
Contoh kardinalitas relasi antar himpunan entitas yaitu:
1. Relasi satu ke satu (one-to-one)
Dosen 1 mengepalai 1
nama_dos alamat_dos
Jurusan nama_dos kode_jur kode_jur
nama_jur
Sumber : Fathansyah (2012:82)
Keterangan: Satu dosen mengepalai satu jurusan
Gambar II.2
Relasi satu ke satu
2. Relasi satu ke banyak (one-to-many)
Dosen 1 Mengajar N
nama_dos
alamat_dos
Kuliah nama_dos kode_kul kode_kul
nama_kul
waktu ruang sks semester
Sumber : Fathansyah (2012:83)
Keterangan: Satu dosen mengajar banyak matakuliah Gambar II.3 Relasi satu ke banyak 3. Relasi banyak ke banyak(many-to-many)
Mahasiswa N mempelajari N
alamat_mhs
Kuliah kode_kul kode_kul
nama_kul
indeks_nilai sks semester
nim nama_mhs
tgl_lahir
nim
Sumber : Fathansyah (2012:84)
Keterangan: Banyak mahasiswa mempelajari banyak matakuliah Gambar II.4
Relasi Banyak ke Banyak C. Himpunan Entitas Lemah (Weak Entity Sets)
Himpunan Entitas Lemah berisi entitas-entitas yang kemunculannya
tergantung pada eksistensinya dalam sebuah relasi terhadap entitas lain (Strong
Entity).
Dosen
memiliki
1
N nama_mhs
alamat_mhs tgl_lahir
hobbi nim
menyenangi nim nama_ortu
nim
Orang Tua
nama_ortu
alamat_ortu
Orang Tua
hobbi 1
1
Sumber : Fatansyah (2012:95)
Gambar II.5 Weak Entity Sets
Data orang tua dan hobbi di atas dapat digolongkan sebagai himpunan entitas lemah (yang dalam diagram E-R dinyatakan dengan kotak bergaris ganda), karena kemunculannya sangat tergantung pada adanya relasi dengan entitas yang ada pada himpunan entitas mahasiswa.
D. Derajat Relasi
Relasi yang terjadi di antara dua himpunan entitas yang berbeda disebut sebagai relasi biner (Binary Relation), yang merupakan relasi yang paling umum digunakan. Varian relasi atau derajat dari relationship terbagi menjadi:
1. Relasi Tunggal (Unary Relation)
Relasi tunggal merupakan relasi yang terjadi dari sebuah himpunan entitas ke
himpunan entitas lain. contoh relasi tunggal yaitu:
Dosen Mendampingi
1
N
Kuliah Kuliah
prasyarat
N
N