5 2.1. Konsep Dasar Program
Sebelum lebih dalam mengupas tugas akhir ini, alangkah baiknya apabila diketahui terlebih dahulu definisi serta uraian singkat mengenai konsep dasar dari program yang berhubungan dengan tugas akhir.
2.1.1. Program
Menurut Suprihanto (2014:53) menyimpulkan bahwa:
Program merupakan keseluruhan tujuan, kebijakan, prosedur, dan aturan-aturan yang kompleks. Kadang-kadang program dilengkapi dengan anggaran atau dana yang dibutuhkan sehingga program meliputi langkah-langkah yang harus dambil, sumber daya yang digunakan, dan tindakan lain untuk pelaksanaan pencapaian tujuan. Suatu program utama terdiri dari beberapa penjabaran atau program-program turunannya atau subprogram. Program-program tersebut diatur saat pelaksanaannya dan koordinasinya untuk mendukung program utama.
2.1.2. Bahasa Pemograman
Menurut Sahyar (2016:2) memberikan batasan bahwa, “bahasa
Pemograman yaitu program yang digunakan untuk menerjemahkan perintah-perintah yang ditulis dalam bahasa pemograman kedalam bahasa mesin agar dapat dimengerti oleh komputer”. Contoh bahasa: Delphi, Visual C, Visual Basic, Matlab, dan lain-lain.
1. Microsoft Visual Basic 6.0
Menurut Sopyan (2014:37) menyimpulkan bahwa:
Visual Basic pada dasarnya adalah sebuah bahasa pemrograman komputer, bahasa pemgroman adalah peritah-perintah atau instruksi-instruksi yang dimegerti oleh komputer untuk melakukan tugas-tugas tertentu. Visual Basic (yang sering disingkat dengan VB) selain disebut sebagai sebuah bahasa pemograman, juga sering disebut sebagai sarana untuk menghasilkan program-program aplikasi berbasiskan Windows.
Beberapa kemampuan atau dari Visual Basic diantaraya adalah: 1. Untuk membuat program aplikasi berbasiskan Windows.
2. Untuk membuat objek-objek pembantu seperti misalnya Control ActiveX, file help, aplikasi internet dan sebagainya.
3. Menguji program (Debugging) dan menghasilkan program akhir berakhiran exe yang bersifat executable atau dapat lansung dijalankan.
Ada beberapa keuntungan dari Visual Basic diantaranya:
1. Microsoft Visual Basic memungkinkan aplikasi pembuatan Graphical User Interface (GUI) atau pemograman yang menggunakan tampilan grafis sebagai alat komunikasi dengan pemakai.
2. Mempunyai fleksibilitas yang sangat baik berhubungan dengan aplikasi yang lain. Kemampuan ini didukung dengan digunakannya Object Linking and Embedding (OLE) yang memungkinkan pembuatan hubungan antara bagian fungsi atau dengan seluruh aplikasi lain.
3. Microsoft Visual Basic sangat kompatibel dengan Visual Basic versi terdahulu. 4. Microsoft Visual Basic juga mendukung penggunaan long file name atau nama
variabel sampai sepanjang 255 karakter.
Komponen-komponen dalam Microsoft Visual Basic 6.0 1. Menu Bar
Menu Bar seperti yang biasa kita lihat dalam Microsoft Office. Di dalamnya terdafat menu File, Edit, View, Project, Format dan sejenisnya. Atau bisa disebut juga Menu dasar untuk Edit, View, Project, Debug, dan lainnya.
2. Tool Bar
Fasilitas ini dapat mempercepat pengaksesan perintah-perintah yang ada dalam pemrograman. Secara default, toolbar jenis Standard yang akan ditampilkan saat Anda memulai Visual Basic. Untuk menampilkannya, dengan memilih menu View Toolbars - kemudian beri tanda centang pada pilihan Standard. 3. Form
Form sering disebut dengan GUI (Graphical User Interface), adalah sebuah objek yang digunakan untuk menempatkan objek-objek dari ToolBox atau Sebuah window yang berisi tombol-tombol kontrol yang akan Anda gunakan untuk mendesain atau membangun sebuah form atau report. Selain tombol kontrol Standard, Anda juga dapat menambahkan sendiri tombol kontrol yang lain.
4. Project Window
Project Window adalah sebuah window yang menampung project dan Form. Di dalamnya juga terdapat ikon View Code (untuk menampilkan area text editor) dan ikon View Object (untuk menampilkan GUI). Dengan
menggunakan project window ini kita juga dapat menambah form, menghapus, mengganti nama form, memilih startup project dan lain-lain. atau Window ini menampilkan daftar form, modul, serta objek lain yang ada dalam project yang aktif. Sebuah project merupakan sekumpulan file yang Anda gunakan untuk membangun sebuah aplikasi.
5. Properti Window
Properti window adalah sebuah window yang digunakan untuk memodifikasi objek berupa mengubah Caption, memberi nama objek, mengubah warna,
ukuran, model dan sejenisnya. atau Window ini digunakan untuk mengatur properti sebuah objek atau kontrol yang Anda pilih. Sebuah properti merupakan karekteristik objek, seperti size, caption, atau color. Untuk menampilkannya, dengan memilih menu View Properties Window.
2.1.3. Basis Data
Menurut Yanto (2016:11) Basis data dapat didefisnisakan dalam sejumlah sudut pandang diantaranya :
1. Himpunan kelompok data yang saling berhubungan yang diorganisasi sedemikian rupa agar dapat dimanfaatkan kembali dengan cepat dan mudah 2. Kumpulan data yang saling berhubungan yang disimpan secara bersama
sedimikian rupa dan tanpa pengulangan (redundansi), untuk memenuhi berbagai kebutuhan.
3. Kumpulan file yang saling berhubungan yang disimpan dalam media penyimpanan elektonis.
Komponen penting dalam basis data adalah : 1. Data
Merupakan informasi yang disimpan dalam suatu struktur tertentu yang terintegrasi.
2. Hardware
Merupakan perangkat keras berupa komputer dengan media penyimpanan yang digunakan untuk menyimpan data karena pada umumnya basis data memiliki ukuran yang besar.
3. Sistem Operasi
Program yang mengaktifkan dan mengfungsikan sistem komputer,
mengendalikan seluruh sumber daya dalam komputer, dan melakukan operasi dasar dalam komputer meliputi input, proses dan output.
4. Basis Data
Basis data sebagai inti dari sistem basis data. Basis data menyimpan data serta struktur sistem basis data baik untuk entitas maupun objek-objek secara detail. 5. Database Management System
Merupakan perangkat lunak yang digunakan untuk melakukan pengolahan basis data. Sebagai contoh Microsoft accses , pardox, Sql server, MySql, Oracle.
Menurut Anhar dalam Prayitno (2015:2). “Mysql (My Structure Query Language) adalah sebuah perangkat lunak sistem manajemen basis data SQL Database Management System atau DBMS seperti Oracle, MS SQL, Postagre SQL dan lainnya”.
2.1.4. Model Pengembangan Perangkat Lunak
Menurut Pressman dalam Halim (2015:42) menyimpulkan bahwa: Model waterfall adalah model klasik yang bersifat sistematis, berurutan dalam membangun software. Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut juga dengan “classic life cycle” atau metode waterfall. Model ini termasuk ke dalam model generic pada rekayasa perangkat lunak dan pertama kali diperkenalkan oleh Winston Royce sekitar tahun 1970 sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai dalam. Software Engineering (SE). Model ini melakukan pendekatan secara sistematis dan berurutan. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan.
Fase-fase dalam Waterfall Model menurut referensi Pressman
a. Communication (Project Initiation & Requirements Gathering)
Sebelum memulai pekerjaan yang bersifat teknis, sangat diperlukan adanya komunikasi dengan customer demi memahami dan mencapai tujuan yang ingin dicapai. Hasil dari komunikasi tersebut adalah inisialisasi proyek, seperti menganalisis permasalahan yang dihadapi dan mengumpulkan data-data yang diperlukan, serta membantu mendefinisikan fitur dan fungsi software. Pengumpulan data-data tambahan bisa juga diambil dari jurnal, artikel, dan internet.
b. Planning (Estimating, Scheduling, Tracking)
Tahap berikutnya adalah tahapan perencanaan yang menjelaskan tentang estimasi tugas-tugas teknis yang akan dilakukan, resiko-resiko yang dapat terjadi, sumber daya yang diperlukan dalam membuat sistem, produk kerja yang ingin dihasilkan, penjadwalan kerja yang akan dilaksanakan, dan tracking proses pengerjaan sistem.
c. Modeling (Analysis & Design)
Tahapan ini adalah tahap perancangan dan permodelan arsitektur sistem yang berfokus pada perancangan struktur data, arsitektur software, tampilan interface, dan algoritma program. Tujuannya untuk lebih memahami
gambaran besar dari apa yang akan dikerjakan. d. Construction (Code & Test)
Tahapan Construction ini merupakan proses penerjemahan bentuk desain menjadi kode atau bentuk/bahasa yang dapat dibaca oleh mesin. Setelah pengkodean selesai, dilakukan pengujian terhadap sistem dan juga kode
yang sudah dibuat. Tujuannya untuk menemukan kesalahan yang mungkin terjadi untuk nantinya diperbaiki.
e. Deployment (Delivery, Support, Feedback)
Tahapan Deployment merupakan tahapan implementasi software ke customer, pemeliharaan software secara berkala, perbaikan software, evaluasi software, dan pengembangan software berdasarkan umpan balik yang diberikan agar sistem dapat tetap berjalan dan berkembang sesuai dengan fungsinya. (Pressman dalam Halim, 2015:17).
Kapan sebaiknya metode waterfall digunakan? Ada teori-teori yang menyimpulkan beberapa hal, yaitu :
1. Ketika semua persyaratan yang diajukan sudah dipahami dengan baik pada awal pengembangan program
2. Definisi produk bersifat stabil dan tidak ada perubahan yang dilakukan saat pengembangan untuk alasan apapun. Oleh karena itu, teknologi yang digunakan juga harus sudah dipahami dengan baik
3. Menghasilkan produk baru, atau produk dengan versi baru. Sebenarnya, jika menghasilkan produk dengan versi baru maka itu sudah termasuk incremental development, yang setiap tahapannya sama dengan metode waterfall kemudian diulang-ulang
4. Port-ing produk yang sudah ada ke dalam platform baru
Dengan demikian, metode waterfall dianggap pendekatan yang lebih cocok digunakan untuk proyek pembuatan sistem baru dan juga pengembangan software dengan tingkat resiko yang kecil serta waktu pengembangan yang cukup lama.
Tetapi salah satu kelemahan paling mendasar adalah menyamakan pengembangan hardware dan software dengan meniadakan perubahan saat pengembangan. Padahal, error diketahui saat software dijalankan, dan perubahan-perubahan akan sering terjadi.
Keuntungan menggunakan metode waterfall adalah prosesnya lebih terstruktur, hal ini membuat kualitas software baik dan tetap terjaga. Dari sisi user juga lebih menguntungkan, karena dapat merencanakan dan menyiapkan kebutuhan data dan proses yang diperlukan sejak awal. Penjadwalan juga menjadi lebih menentu, karena jadwal setiap proses dapat ditentukan secara pasti.
Sehingga dapat dilihat jelas target penyelesaian pengembangan program. Dengan adanya urutan yang pasti, dapat dilihat pula perkembangan untuk setiap tahap secara pasti. Dari sisi lain, model ini merupakan jenis model yang bersifat
dokumen lengkap sehingga proses pemeliharaan dapat dilakukan dengan mudah. Kelemahan menggunakan metode waterfall adalah bersifat kaku, sehingga sulit melakukan perubahan di tengah proses. Jika terdapat kekurangan
proses/prosedur dari tahap sebelumnya, maka tahapan pengembangan harus dilakukan mulai dari awal lagi. Hal ini akan memakan waktu yang lebih lama.
Karena jika proses sebelumnya belum selesai sampai akhir, maka proses selanjutnya juga tidak dapat berjalan. Oleh karena itu, jika terdapat kekurangan dalam permintaan user maka proses pengembangan harus dimulai kembali dari awal. Karena itu, dapat dikatakan proses pengembangan software dengan metode
waterfall bersifat lambat.
Kelemahan lainnya menggunakan metode waterfall adalah membutuhkan daftar kebutuhan yang lengkap sejak awal. Tetapi, biasanya jarang sekali
customer yang dapat memenuhi itu. Untuk menghindari pengulangan tahap dari awal, user harus memberikan seluruh prosedur, data, dan laporan yang diinginkan mulai dari tahap awal pengembangan. Tetapi pada banyak kondisi, user sering melakukan permintaan di tahap pertengahan pengembangan sistem. Dengan metode ini, maka development harus dilakukan mulai lagi dari tahap awal. Karena development disesuaikan dengan desain hasil user pada saat tahap pengembangan awal. Disisi lain, user tidak dapat mencoba sistem sebelum sistem benar-benar selesai. Selain itu, kinerja personil menjadi kurang optimal karena terdapat proses menunggu suatu tahap selesai terlebih dahulu. Oleh karena itu, seringkali
diperlukan personil yang “multi-skilled” sehingga minimal dapat membantu pengerjaan untuk tahapan berikutnya. (Pressman dalam Halim 2015:42-43).
2.2. Tools Program
Untuk lebih memahami isi dari tugas akhir ini, maka dibuatkan beberapa pengetahuan mengenai definisi serta uraian yang berkaitan dengan teori pendukung, sebagai berikut:
2.2.1. Enterprise Relationship Diagram (ERD)
Menurut Mulyani (2016:100) menyimpulkan bahwa:
ERD adalah tools yang digunakan untuk melakukan pemodelan data secara abstrak dengan tujuan untuk mendeksripsikan atau menggambarkan struktur dari data yang akan digunakan (Bagui dan Erap, 2003) sedangkan pendapat lain mengatakan bahwa ERD adalah tools yang digunakan untuk
memodelkan data dengan tujuan untuk menghasilkan penggambarkan struktur database secara konseptual dengan menggunakan metode top-down. Menurut Fatta dalam Rizaniar (2015:4). Didalam ERD, terdapat komponen-komponen khusus untuk menggambarkan jenis elemen-elemen ERD. Elemen-elemen ERD antara lain:
1. Entitas
Entitas adalah objek yang harus menampilkan beberapa kali event untuk menjadi sebuah entitas. Untuk menggambarkan sebuah entitas digunakan aturan sebagai berikut:
a. Entitas dinyatakan dengan simbol persegi panjang. b. Nama entitas dituliskan didalam simbol persegi panjang. c. Nama entitas berupa kata benda, tunggal.
d. Nama entitas sedapat mungkin menggunakan nama yang mudah dipahami dan dapat menyatakan maknanya dengan jelas.
2. Atribut
Atribut adalah informasi dari sebuah entitas yang merupakan kata benda dan hanya digunakan oleh organisasi yang dimasukan dalam model. Untuk menggambarkan atribut digunakan aturan sebagai berikut:
a. Atribut digambarkan dengan simbol ellips. b. Nama atribut dituliskan didalam simbol ellips. c. Nama atribut merupakan kata benda, tunggal.
d. Nama atribut sedapat mungkin menggunakan nama yang mudah dipahami dan dapat menyatakan maknanya dengan jelas.
3. Identifier
Identifier adalah satu atau lebih atribut yang dapat menjadi identifier entitas secara unik mengidentifikasi setiap anggota dari entitas.
4. Kardinalitas
Kardinalitas adalah hubungan antara suatu intance lain di intance yang berbeda.
5. Modalitas
Modalitas dapat dikatakan suatu intance dari entitas anak dapat ada tanpa suatu relasi dengan intance dari entitas induk atau tidak.
Menurut Frieyadie dalam Junaidi (2016:18), menyimpulkan bahwa, “Logical Record Sturucture (LRS) merupakan hasil dari pemodelan entity relationship (ER) beserta atributnya sehingga bisa terlihat hubungan-hubungan antar entitas.
2.2.2. Pengkodean
Menurut Fatasyah dalam Maulana(2014:26) meyatakan bahwa,”pengkodean adalah salah satu alasan mengapa kita menyatakan suatu data (atribut) dalam bentuk lain adalah untuk efisiensi ruang penyimpanan”.
Menurut Sukmaindrayani (2017:33) “pengkodean digunakan untuk mengklasifikasikan data yang dimasukan ke dalam computer ataupun untuk mengambil macam-macam informasi, kode dapat terbentuk dari kumpulan angka atau simbol lainnya”.
2.2.3. HIPO (Hierarki Input Proses Output)
Menurut Fatta dalam Laura (2018:45) memberikan batasan bahwa “HIPO adalah teknik untuk mendokumentasikan pengembangan pleh IBM. HIPO digunakan untuk memenuhi kebutuhan beberapa pengguna untuk kepentingan berbeda-beda.
Flowchart atau bagan alir merupakan suatu alat yang digunakan dalam membuat suatu algoritma. Diagram alur (flowchart) dapat menunjukan secara jelas, arus pengendalian suatu algoritma, yakni bagaimana melaksanakan suatu rangkain kegiatan secara logis dan sistematis.
1. Bentuk Flowchart
a. Pogram Flowchart
Menurut Saha (2017:40) menyimpulkan bahwa,”Program flowchart adalah representasi simbolik atau grafis dari program komputer dalam hal simbol
flowcharting. Mereka berisi langkah-langkah pemecahan unit masalah untuk hasil yang spesifik“.
Dalam buku ini, konsentrasi akan berada pada diagram alur program adalah kegiatan pengembangan program tool yang sangat berguna dalam hal-hal berikut:
1. Setiap kesalahan, kelalaian atau komisi dapat dengan mudah dideteksi dari diagram alur program.
2. Sebuah diagram alur program dapat diikuti dengan mudah dan cepat. 3. Bisa disebut jika modifikasi program diperlukan di masa depan.
b. Sistem Flowchart
Menurut Haryadi dan Wahyuni (2016:371) mengemukakan bahwa “sistem flowchart adalah simbol-simbol yang menggambarkan proses secara rinci dan detail suatu sistem komputerisasi yang bersifat fisik”.
Menurut Haryadi dan Wahyuni (2016:371), Adapun teknik pembuatan flowchart adalah sebagai berikut:
a. General Way
Teknik pembuatan dengan cara ini biasanya digunakan dalam menyusun logika satu program yang menggunakan perulangan proses secara tidak langsung (non direct loop).
b. Iteration Way
Teknik pembuatan dengan cara ini biasanya digunakan untuk logika program yang cepat serta bentuk permasalahan yang kompleks. Dimana perulangan proses yang terjadi bersifat kompleks (direct loop).
2.2.5. Implementasi dan Pengujian Unit
Menurut Wicaksono(2016:353) menjelaskan bahwa:
Black box testing adalah tipe testing yang memperlakukan perankat lunak yang tidak diketahui kinerja internalnya. Sehingga para tester memandang perangkat lunak seperti layaknya “kotak hitam” yang tidak penting dilihat isinya, tapi cukup dikenal dibagian luar.
Jenis testing ini hanya memandang perangkat lunak dari sisi spesifikasi dan kebutuhan yang telah didefinisikan pada saat awal perancangan. Sebagai contoh, jika terdapat sebuah perangkat lunak yang merupakan sebuah sistem informasi inventory di sebuah perusahaan. Maka pada jenis white box testing, perangkat lunak tersebut akan berusaha dibongkar listing programnya untuk kemudian dites menggunakan teknik-teknik yang telah dijelaskan sebelumnya.
Sedangkan pada jenis black box testing, perangkat lunak tersebut akan dieksekusi kemudian berusaha dites apakah telah memenuhi kebutuhan pengguna yang didefinisikan pada saat awal tanpa harus membongkar listing programnya.
Beberapa keuntungan yang diperoleh dari jenis tesing ini antar lain:
1. Anggota tim tester tidak harus dari seseorang yang memiliki kemampuan teknis dibidang pemograman.
2. Kesalahan dari perangkat lunak ataupun bug seringkali ditemukan oleh komponen tester yang berasal dari pengguna.
3. Hasil dari black box testing dapat memperjelas kontradiksi ataupun kerancuan yang mungkin timbul dar eksekusi sebuah perangkat lunak.