7
BAB II
LANDASAN TEORI
2.1 Konsep Dasar Program
Dalam perancangan sebuah program, terlebih dahulu kita mempelajari teori yang berhubungan dengan sebuah program yang akan dibuat tersebut.
Hal tersebut dilakukan agar program yang dibuat sesuai dengan prosedur yang ada sehingga dapat tercapai keberhasilan dalam program proses tersebut.
Setiap pemrograman memiliki elemen-elemen data yang saling berhubungan satu sama lain dan membentuk suatu hubungan terstruktur yang nantinya dapat memberikan informasi yang merupakan tujuan dari pemrograman tersebut.
A. Pengertian Program
Menurut Kadir (2012:2) “Program adalah kumpulan instruksi yang digunakan untuk mengatur komputer agar melakukan suatu tindakan tertentu”. Tanpa program, komputer sesungguhnya tidak dapat berbuat apa- apa. Itulah sebabnya sering dikatakan bahwa komputer mencakup tiga aspek penting, berupa perangkat keras (hardware), perangkat lunak (software), dan perangkat akal (brainware) atau orang yang berperan terhadap oprasi komputer maupun pengembangan perangkat lunak. Dengan kata lain, program merupakan salah satu bagian penting pada komputer, yang mengatur
komputer agar melakukan tindakan yang sesuai dengan yang dikehendaki oleh pembuatnya.
Menurut Madcoms (2010:2) Visual Basic 6.0 adalah ”bahasa pemrograman yang cukup populer dan mudah untuk dipelajari”. 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. 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 lengkap.
Menurut Wicakono (2008:7) “XAMPP adalah sebuah software yang berfungsi untuk menjalankan website berbasis PHP dan menggunakan pengolah data MySQL di komputer lokal”. XAMPP berperan sebagai web server pada komputer. XAMPP juga dapat disebut sebuah Cpanel server virtual, yang dapat membantu melaukan preview sehingga dapat memodifikasi website tanpa harus online atau terakses dengan internet.
Menurut Aminudin (2013:158) “Cristal Report adalah suatu form khusus berbentuk seperti lembaran format naskah yang ingin dicetak”. Crystal Report dapat berdiri sendiri dapat pula menjadi satu dengan project Visual Basic yang anda buat. Bila berdiri sendiri, report tersebut dapat dipanggil dari project Visual Basic dengan Crystal Report kontrol sehingga report yang telah anda buat dapat digunakan oleh beberapa project sekaligus.
B. Bahasa Pemprograman
Menurut Prasetio (2014:184) “SQL merupakan kependekan dari Structured Query Language. SQL digunakan untuk berkomunikasi dengan sebuah database. Sesuai dengan ANSI, SQL merupakan bahasa standar untuk sistem manajemen database relasional”.
Statement SQL digunakan untuk melakukan tugas-tugas seperti melakukan update terhadap database, atau mengambil data dari sebuah database.
Beberapa database relasional yang menggunakan SQL dan cukup ngetop adalah: MySQL, Oracle, Sybase, Microsoft SQL Server, Access, Ingrest, dll.
Meskipun sebagian besar sistem database menggunakan SQL, namun sebagian besar dari mereka juga memiliki ekstensi khusus yang hanya bisa digunakan di sistem masing-masing. Namun demikian, perintah standar SQL seperti “Select”, “Insert”, “Update”, “Delete”, “Create”, dan “Drop” dapat digunakan untuk melakukan hampir semua hal yang perlu dilakukan terhadap sebuah database.
C. Basis Data
Menurut Saputra (2011:1) ”Basis data merupakan suatu kumpulan data yang saling berhubungan dan berkaitan dengan subjek tertentu pada tujuan tertentu pula”. Hubungan antar data ini dapat dilihat oleh adanya field ataupun kolom. Dalam basis data setidaknya terdapat tiga basik arsitektur model, diantaranya:
A. Model Standalone
Pada model arsitektur tipe ini, semua pemrosesan dilakukan secara terpusat atau biasa yang lebih dikenal dengan sebutan berbasis host.
Kalau dilihat dari proses kerjanya, semua pemrosesan akan terjadi pada sebuah mesin tunggal, sehingga semakin banyak pengguna yang mengakses host, maka host juga tentu akan sangat kewalahan.itu jika hanya terdapat 1 perusahaan.
B. Model Client/Server
Pada model ini, pemrosesan akan terjadi pada sisi client dan server.
Client Server ini merupakan tipikal sebuah aplikasi two-lier dengan banyak client dan sebuah server yang dihubungkan melalui sebuah jaringan.
Arsitektur model Client/Server merupakan sebuah langkah yang terbilang sangat tepat, karena mengurangi beban pemrosesan dari komputer pusat ke komputer klien. Artinya, meskipun banyak pengguna yang melakukan pemrosesan, kinerja server tidak akan menurun dengan cepat.
C. Model Three-Tier
Model Three-Tier dikembangkan untuk menjawab keterbatasan pada arsitektur client/server. Dalam model ini, pemrosesan disebarkan di dalam 3 lapisan, diantaranya :
1.) Layanan presentasi (tingkat client) 2.) Layanan bisnis (tingkat menengah) 3.) Layanan data (tingkat sumber data)
Menurut Saputra (2011:5) “MySQL merupakan suatu database yang sangat cocok dipadukan dengan PHP”. Secara umum, database berfungsi sebagai tempat atau wadah untuk menyimpan, mengklasifikasikan data secara profesional. MySQL bekerja menggunakan SQL Language. Itu dapat diartikan bahwa MySQL merupakan standar pengguna database didunia untuk pengolahan data.
D. Model Pengembangan Perangkat Lunak
Menurut Sukamto (2014:28) Model SDLC air terjun (water fall) sering juga disebut model sekuensial linier (sequential liniear) atau alur hidup klasik. Model air terjun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis kebutuhan perangkat lunak, desain, pengodean, pengujian, dan tahap pendukung. Berikut adalah gambar model air terjun:
A. Analisis kebutuhan perangkat lunak
Proses pengumpulan kebutuhan dilakukan secara intensif untuk mespesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dilakukan oleh user.
B. Desain
Proses multi langkah yang fokus pada desain pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi antar muka, dan prosedur pengodean.
C. Pembuatan kode program
Program komputer sesuai dengan desain yang telah dibuat pada tahap desain.
D. Pengujian
Perangkat lunak secara dari segi lojik dan fungisional dan memastikan bahwa semua bagian sudah diuji. Tahap pendukung tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan ketika sudah dikirim ke user. Perubahan bisa terjadi karena adanya kesalahan yang muncul dan tidak terdeteksi saat pengujian atau perangkat lunak harus beradaptasi dengan lingkungan tersebut. 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.
Gambar II.1 Model Waterfall
2.2 Tools Program
Tools program yaitu pelengkap penunjang suatu program yang dibutuhkan oleh programmer untuk membantu mempermudah dalam pembuatan,
pembacaan logika dan algoritma program, serta membantu untuk mengetahui alur program yang dibuat, mulai dari masukan, proses dan keluaran yang dihasilkan.
Peralatan yang mendukung dalam perancangan program meliputi konsep teori File Indeks, Bagan Alir (flowchart), Pengkodean, dan HIPO (Hierarchy plus Input Process Output).
A. Entity Relationship Diagram (ERD)
Menurut Fathansyah (2007:79) “Entity Relationship Diagram merupakan model yang berisi komponen-komponen Himpunan Entitas dan Himpunan Relasi yang masing-masing dilengkapi atribut-atribut yang merepresentasikan seluruh fakta dari dunia nyata”.
Notasi-notasi simbolik di dalam Diagram E-R yang dapat digunakan adalah:
1. Persegi panjang, menyatakan Himpunan Entitas.
2. Lingkaran atau elip, menyatakan Atribut.
3. Belah Ketupat, menyatakan Himpunan Relasi.
4. Garis, sebagai penghubung antar Himpunan Relasi dengan Himpunan Entitas dan Himpunan Entitas dengan Atributnya.
5. Kardinalitas dapat dinyatakan dengan banyaknya garis cabang atau dengan pemakaian angka. Kardinalitas Relasi Diagram E-R :
a. One to One
Yang berarti setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B, dan begitu juga sebaliknya.
b. One to Many
Yang berarti setiap entitas pada himpunan entitas A berhubungan dengan banyak entitas pada himpunan entitas B, tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.
c. Many to Many
Yang berarti setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B, tetapi tidak sebaliknya dimana setiap entitas pada himpunan entitas A berhubungan dengan paling banyak satu entitas pada himpunan entitas B.
Gambar II.2
ERD (Entity Relationship Diagram)
B. Logical Relationship Structure (LRS)
Menurut Mulyanto (2008:267) “Logical Record Structure adalah konsep relationship pada model E-R berbeda dengan konsep relation dalam model
data relasional. Relationship adalah mekanisme yang menghubungkan entitas.”
Logical Record Structure dibentuk dengan nomor dan tipe record. LRS
terdiri dari link-link diantara tipe record. Link ini menunjukan arah dari satu tipe record lainnya. Banyak link dari LRS yang diberi tanda field-field yang kelihatan pada kedua link tipe record. Penggambaran LRS mulai dengan menggunakan model yang dimengerti. Dua metode yang dapat digunakan, mulai dengan hubungan kedua model yang dapat yang dikonversikan ke LRS.
Metode lainnya dimulai dengan E-R diagram langsung dikonversikan ke LRS.
Menentukan kardinalitas, jumlah tabel dan foreign key.
Terdapat tiga kardinalitas didalam Logical Record Stucture yaitu : 1. One To One (1-1)
Tingkat hubungan satu ke satu, dinyatakan dengan satu kejadian pada entitas pertama, hanya mempunyai satu hubungan dengan saat kejadian pada entitas yang kedua dan sebaliknya.
2. One To Many (1-M)
Tingkat hubungan satu kebanyak adalah sama dengan banyak ke satu.
Tergantung dari arah mana hubungan tersebut dilihat. Untuk satu kejadian pada entitas yang pertama dapat mempunyai banyak hubungan dengan kejadian pada entitas yang kedua. Sebaliknya satu kejadian pada entitas yang kedua hanya dapat mempunyai satu hubungan dengan satu kejadian pada entitas yang pertama.
3. Many To Many (M-M)
Tingkat hubungan kebanyakan terjadi jika tiap kejadian pada sebuah entitas akan mempunyai banyak hubungan dengan kejadian baik pada entitas lainnya. Baik dilihat dari sisi entitas yang pertama, maupun dilihat dari sisi yang kedua.
Sumber:(Mulyanto, 2008:267))
Gambar II.3
LRS (Logical Relationship Structure)
C. Pengkodean
Menurut Kurniadi (2011:266) “kode program adalah intruksi-intruksi yang ditulis oleh programmer yang memerintahkan aplikasi untuk melakukan tugas tertentu. Kode dapat dibentuk dari kumpulan angka, huruf, dan karakter khusus”.
Angka meruakan simbol yang banyak digunakan pada sistem kode. Akan tetapi kode yang berbentuk angka lebih dari 6 digit akan sangat sulit untuk diingat.
Beberapa jenis kode diantaranya yaitu:
a) Kode Numerik (Numeric Code)
Menggunakan 10 macam kombinasi huruf untuk kode.
b) Kode Alphabetik (Alphabetic Code)
Menggunakan 26 kombinasi huruf untuk kodenya.
c) Kode Alphanumerik (Alphanumeric Code)
Merupakan kode yang merupakan gabungan angka, huruf dan karakter- karakter khusus.
Didalam merancang suatu kode harus diperhatikan beberapa hal, yaitu seperti berikut:
1. Harus mudah diingat
Supaya kode mudah diingat, maka dapat dilakukan dengan cara menghubungkan kode tersebut dengan objek yang diwakili dengan kodenya.
2. Harus unik
Kode harus unik untuk masing-masing item yang diwakilinya. Unik berarti tidak ada kode kembar.
3. Harus fleksibel
Kode harus fleksibel sehingga memungkinkan perubahan-perubahan atau penambahan item baru dapat tetap diwakili oleh kode.
4. Harus efisien
Kode harus sependek mungkin, selain mudah diingat juga akan efisien bila direkam disimpan luar komputer.
5. Harus konsisten
Bilamana mungkin, kode harus konsisten dengan kode yang telah digunakan.
6. Harus distandarisasi
Kode harus standarisasi untuk seluruh tingkatan dan departemen dalam organisasi.
7. Spasi dihindari
Spasi didalam kode sebaiknya dihindari, karena dapat menyebabkan kesalahan didalam menggunakannya.
8. Hindari karakter mirip
Karakter-karakter yang hampir serupa bentuk dan bunyi pengucapannya sebaiknya tidak digunakan dalam kode.
9. Panjang kode harus sama
Masing-masing kode yang sejenis harus mempunyai panjang yang sama, misalnya panjang kode adalah 6 digit.
Ada beberapa macam tipe dari kode yang dapat digunakan dalam sistem informasi, diantaranya adalah:
1. Kode Mnemonic (Mnemonic Code)
Kode mnemonic (mnemonic code) digunakan untuk tujuan supaya mudah diingat. Kode mnemonic dibuat dengan dasar singkatan atau mengambil sebagian karakter dari item yang akan diwakili dengan kode ini.
2. Kode Urut (Sequential Code)
Kode Urut (Sequential Code) disebut juga dengan kode seri (serial code) merupakan kode yang nilainya urut antara satu kode berikutnya.
3. Kode Blok Urut (Block Code)
Kode Blok Urut (Block Code) mengklasifikasikan item kedalam blok tertentu yang mencerminkan satu klasifikasi tertentu atas dasar pemakaian maksimum yang diharapkan.
4. Kode Chiper
Kode Chiper adalah kode yang digunakan untuk merahasiakan atau menyembunyikan informasi yang tidak ingin diketahui orang lain.
5. Kode Subset Digit-Signifikan
Kode Subset Digit-Signifikan digunakan untuk mengumumkan informasi melalui sebuah kode sehingga informasi lebih berarti.
6. Urutan Kode Sederhana
Menjaga hubungan dengan satu maksud dari pengkodean ini hanya untuk mengenali seseorang, tempat atau hanya sesuatu untuk menjaga hubungan dengan informasi.
D. HIPO (Hierarky Input Proses Output)
Menurut Al-Fatta (2007:150) “HIPO (Hierarky Input Process Output) adalah penggambaran modul-modul yang nantinya akan dikembangkan oleh programmer menjadi prosedur-prosedur dalam program sistem informasi”.
HIPO (Hierarki plus Input-Proses-Output) merupakan alat dokumentasi program yang dikembangkan dan didukung oleh IBM. Tetapi kini HIPO juga
telah digunakan sebagai alat bantu untuk merancang dan mendokumentasikan siklus pengembangan sistem.
Adapun sasaran HIPO yang telah dirancang dan dikembangkan secara khusus untuk menggambarkan suatu struktur bertingkat guna memahami fungsi-fungsi dari modul-modul suatu sistem, dan HIPO juga dirancang untuk menggambarkan modul-modul yang harus diselesaikan oleh pemrogram.
HIPO tidak dipakai untuk menunjukan instruksi-instruksi program yang akan digunakan, proses yang akan dilakukan, disamping itu HIPO menyediakan penjelasan yang lengkap dari input yang akan digunakan, proses yang akan dilakukan serta output yang diinginkan.
1. Jenis Diagram HIPO
Fungsi-fungsi dari sistem digambarkan oleh HIPO dalam tiga tingkatan.
Untuk masing-masing tingkatan digambarkan dalam bentuk diagram terdiri dari 3 jenis diagram yaitu diagram daftar isi visual (Visual table of content), Diagram ringkas (Over view diagram), dan Diagram rinci (Detail Diagram).
a) Daftar Isi Visual (DIV)
Diagram ini memuat semua modul yang ada dalam sistem berikut nama dan nomornya, yang nantinya akan diperinci dalam diagram ringkas dan diagram rinci. Dalam DIV juga bisa dilihat fungsi-fungsi utama yang menyusun sistem hubungan antara fungsi tersebut.
b) Diagram Ringkas
Diagram ringkas menerangkan input, proses, dan output dari sistem.
Diagram ringkas menggambarkan input dan output dari fungsi-fungsi yang telah didefinisikan dalam daftar isi visual.
c) Diagram Rinci
Diagram rinci HIPO digunakan untuk memperinci input, proses, dan output yang telah digambarkan dalam diagram ringkas. Dalam input data dijelaskan field-field datanya secara detail.
E. Diagram Alir Program (Flowchart)
Menurut Sitorus (2015:14) “Untuk menggambarkan sebuah algoritma yang terstruktur dan mudah untuk dipahami oleh orang lain (khususnya programmer yang bertugas mengimplementasikan program), maka dibutuhkan alat bantu yang berbentuk diagram alir (flowchart)”. Flowchart menggambarkan urutan logika dari suatu prosedur pemecahan masalah, sehingga flowchart merupakan langkah-langkah penyelesaian masalah yang dituliskan dalam simbol-simbol tertentu. Diagram alir ini akan menunjukan alur didalam program secara logika. Dalam alir ini selain dibutuhkan sebagai alat komunikasi, juga diperlukan sebagai dokumentasi. Dan sebelum lebih jauh memahami komponen-komponen diagram alir, maka perlu kiranya disampaikan aturan-aturan dalam perancangan diagram alir tersebut, yaitu:
1. Diagram alir digambarkan dengan orientasi dari atas kebawah dan dari kiri ke kanan.
2. Setiap kegiatan/proses dalam diagram alir harus dinyatakan secara eksplisit.
3. Setiap diagram alir harus dimulai dari satu start state dan berakhir pada satu atau lebih terminal akhir/terminator/halt state.
4. Gunakan connector dan off-page connector state dengan label yang sama untuk menunjukan keterhubungan antar path algoritma yang terputus/terpotong.
Tujuan dari Flowchart adalah untuk menggambarkan suatu tahapan penyelesaian masalah secara sederhana, terurai, rapi dan jelas menggunakan simbol-simbol yang standar.