BAB 2 LANDASAN TEORI 2.1 Analisis Kebutuhan Aplikasi Analisis kebutuhan merupakan langkah awal untuk menentukan perangkat lunak yang dihasilkan. Perangkat lunak yang baik dan sesuai dengan kebutuhan pengguna sangat tergantung kepada keberhasilan dalam melakukan analisis kebutuhan. Jika terjadi analisis dalam kebutuhan, maka perangkat lunak yang dibuat menjadi tidak berguna. Analisis kebutuhan yang baik belum tentu menghasilkan perangkat lunak yang baik. Tetapi analisis kebutuhan yang tidak tepat sudah pasti menghasilkan perangkat lunak yang tidak berguna. Kesalahan analisis kebutuhan yang diketahui ketika sudah memasuki penulisan kode atau pujian, bahkan hampir tahap penyelesaian adalah malapetaka yang besar bagi sebuah kelompok pembuat perangkat lunak. Biaya dan waktu yang diperlukan menjadi banyak yang tersia-sia. Faktor utama yang mesti dipenuhi dalam membuat analisis kebutuhan: 1. Komunikasi yang baik Salah satu hal yang diperlukan adalah membangun hubungan yang baik dengan pengguna. Kemampuan seorang analis dalam menciptakan hubungan sosial dengan pihak lain, dalam situasi ini adalah dengan pengguna, menjadi bantuan yang signifikan. Hubungan sosial yang baik dengan pengguna akan menjadikan komunikasi terbuka dan lancar. 2. Mengetahui “Apa” Perlu diketahui adalah tentang apa yang dikerjakannya, data apa yang menjadi masukan, apa yang dihasilkan. Jangan terburu-buru menyatakan tentang cara pengerjaannya. 3. Gunakan Istilah yang Sederhana Berkomunikasi dengan pengguna, ketika dalam proses analisis kebutuhan, jangan melakukan istilah yang sulit dimengerti. Kebiasaan menggunakan istilah yang sulit atau sangat spesifik dalam bidang komputer mungkin akan menjadikan orang bangga dengan penulis, tapi ini bias menjadi sebuah bencana. 4. Terbuka dengan Langkah yang Dilakukan Bersikap terbuka tentang apa saja yang dilakukan selama proses pembuatan perangkat lunak merupakan tindakan yang cukup membantu. Untuk sebuah pemilihan yang diminta oleh pengguna. Jika ada berbagai pilihan maka akan membantu kedua belah pihak dalam memperoleh sebuah keputusan. 2.2 Perangkat Lunak Software adalah perintah (program komputer) yang diketahui memberikan fungsi dan petunjuk kerja seperti yang diinginkan. Struktur data yang memungkinkan program memanipulasi informasi secara profesional dan dokumen yang menggambarkan informasi dan kegunaan program. Software memiliki dua peran, di satu sisi berfungsi sebuah produk dan di sisi lain sebagai pengontrol pembuatan sebuah produk. Selain produk, software mengantarkan potensi penghitungan yang dibangun oleh software komputer. Software merupakan transformer yang memproduksi, mengatur, memperoleh, memodifikasi, menampilkan, atau memancarkan informasi, ini dapat sederhana suatu bit tunggal atau sekompleks sebuah simulasi multimedia. Sedangkan peran sebagai pengontrol yang dipakai untuk mengantarkan produk, software berlaku sebagai dasar untuk kontrol komputer (sistem operasi), komunikasi informasi (jaringan), dan penciptaan serta kontrol dari program-program lain. 2.2.1 Proses Perangkat Lunak Proses pengembangan perangkat lunak sama seperti proses rekayasa keteknikan lainnya. Sebuah model mengenai proses pengembangan perangkat lunak diturunkan dari aktivitas rekayasa keteknikan yang diterima oleh manajemen proyek perangkat lunak karena menawarkan cara membuat proses pengembangan yang lebih baik. (Roger S Pressman, 1994). Berikut ini merupakan gambar dari pengembang perangkat lunak model air terjun: Definisi dan Analisis Kebutuhan Perancangan Sistem dan Perangkat Lunak Implementasi dan Unit Testing Intregrasi dan Sistem Testing Gambar 2.1 Model Pengembangan perangkat lunak 2.2.2 Karakteristik Perangkat Lunak Perangkat lunak memiliki karakteristik yaitu: 1. Perangkat lunak dikembangkan atau rekayasa tidak dalam pengertian klasik. Adapun kemiripan antara pengertian perangkat lunak dan pembuatan perangkat lunak, namun secara fundamental berbeda. Fase pembuatan perangkat perangkat keras membuat masalah kualitas yang tidak ada pada perangkat lunak. 2. Perangakat lunak tidak dapat rusak (wear out) Jika sebuah komponen perangkat keras rusak, maka dapat diganti dengan suatu spare part, sedangkan perangkat lunak tidak memiliki spare part. Perangkat lunak tidak rentan terhadap ganguan lingkugan yang menyebabkan menjadi rusak. Pemeliharaan perangkat lunak memiliki kompleksitas yang lebih tinggi dibandingkan perawatan perangkat keras. 3. Sebahagian besar perangkat lunak dibuat berdasrkan pesanan, dirakit/dipasang dengan komponen-komponen yang ada. Perangkat keras memiliki catalog komponen digital, sedangkan perangkat tidak memiliki catalog komponen. Ini memungkinkan untuk memesan perangkat lunak yang off-the-shelf, tetapi hanya sebagian unit yang complete, bukan sebagai komponen yang dapat dipasang kembali ke dalam program yang baru. 2.2.3 Komponen Perangkat Lunak Komponen perangkat lunak dibuat melalui sederetan terjemahan yang meletakkan kebutuhan pengguna terhadap kode yang dieksekusi oleh mesin. Perancangan perangkat lunak diterjemahkan ke dalam sebuah format bahasa yang meletakkan struktur dan data perangkat lunak, atribut prosedur dan kebutuhan-kebutuhan yang terkait. Komponen utama rekayasa perangkat lunak yaitu: 1. Teknologi 2. Manajemen 3. Manusia Definisi dan Analisis Kebutuhan Perancangan Sistem dan Perangkat Lunak Implementasi dan Unit Testing Integrasi dan Sistem Testing Operasi dan Perawatan Gambar 2.2 Daur Hidup Perangkat Lunak 2.3 Pengertian Sistem Informasi Pengertian sistem informasi menurut Henry C. Lucas “ Sistem Informasi adalah kegiatan dari suatu prosedur yg diorganisasikan dan bila dieksekusi akan menyediakan informasi untuk mendukung pengambilan keputusan dan pengendalian di dalam organisasi”. Pengertian sistem informasi menurut John F. Nash dan Martin B. Robert “Sistem Informasi adalah suatu kombinasi dari orang-orang, fasilitas teknologi, media, prosedur-prosedur dan pengendalian ditujukan untuk mendapat jalur komunikasi penting, memproses tipe transaksi rutin tertentu, member sinyal kepada manajemen dan lainnya terhadap kejadian-kejadian internal dan eksternal yang penting dan menyediakan suatu dasar untuk pengambilan keputusan yang cerdik”. 2.4 MySQL 2.4.1 Pengertian MySQL MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multi thread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License( GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL. Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hamper atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael “Monty” Widenius. 2.4.2 Keistimewaan MySQL MySQL memiliki beberapa keistimewaan, antara lain: 1. Portabilitas MySQL dapat berjalan stabi pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi. 2. Perangkat lunak sumber terbuka MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis. 3. Multi-user MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik 4. Performance tuning MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu. 5. Ragam tipe data MySQL memiliki ragam tipe data yang sangat kaya, seperti signed/unsigned,integer, float, double, char, text, date, timestamp, dan lain-lain. 6. Perintah dan Fungsi MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query). 7. Keamanan MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta terenkripsi. 8. Skalabilitas dan Pembatasan MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu table serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya. 9. MySQL dapat melakukan koneksi dengan klien menggunakan protocol TCP/IP, Unix soket(UNIX), atau Named Pipes(NT). 10. Lokalisasi MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari 20 bahasa. Meskipun demikian, bahasa Indonesia belum termasuk didalamnya. 11. Antar Muka MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface). 12. Struktur Tabel MySQL memiliki struktur table yang ebih fleksibe dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam Postgre SQL atau Oracle. 2.5 Pengertian Data Data adalah catatan atas kumpulan fakta. Data merupakan bentuk jamak dari datum, berasal dari bahasa Latin yang berarti "sesuatu yang diberikan". Dalam penggunaan sehari-hari data berarti suatu pernyataan yang diterima secara apa adanya. Pernyataan ini adalah hasil pengukuran atau pengamatan suatu variabel yang bentuknya dapat berupa angka, kata-kata, atau citra. Dalam keilmuan (ilmiah), fakta dikumpulkan untuk menjadi data. Data kemudian diolah sehingga dapat diutarakan secara jelas dan tepat sehingga dapat dimengerti oleh orang lain yang tidak langsung mengalaminya sendiri, hal ini dinamakan deskripsi. Pemilahan banyak data sesuai dengan persamaan atau perbedaan yang dikandungnya dinamakan klasifikasi. Dalam pokok bahasan Manajemen Pengetahuan, data dicirikan sebagai sesuatu yang bersifat mentah dan tidak memiliki konteks. Dia sekedar ada dan tidak memiliki signifikansi makna di luar keberadaannya itu. Dia bisa muncul dalam berbagai bentuk, terlepas dari apakah dia bisa dimanfaatkan atau tidak. Menurut berbagai sumber lain, data dapat juga didefinisikan sebagai berikut: a. Menurut kamus bahasa inggris-indonesia, data berasal dari kata datum yang berarti fakta. b. Dari sudut pandang bisnis, data bisnis adalah deskripsi organisasi tentang sesuatu (resources) dan kejadian (transactions)yang terjadi. c. Pengertian yang lain menyebutkan bahwa data adalah deskripsi dari suatu kejadian yang kita hadapi intinya data itu adalah suatu fakta-fakta tertentu sehingga menghasilkan suatu kesimpulan dalam menarik suatu keputusan. 2.5.1 Pengertian Basis Data Pangkalan data atau basis data (bahasa Inggris: database), atau sering pula dieja basisdata, adalah kumpulan informasi yang disimpan didalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi. Istilah basis data berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini mengenai basis data komputer. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis. Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan didalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah Layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili dengan menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel. Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen basis data (database management system/DBMS). Jika konteksnya sudah jelas, banyak administrator dan programmer menggunakan istilah basis data untuk kedua arti tersebut. 2.5.2 Lingkupan Basis Data Lingkungan basis data adalah sebuah habitat di mana terdapat basis data untuk bisnis. Dalam lingkungan basis data, pengguna memiliki alat untuk mengakses data. Pengguna melakukan semua tipe pekerjaan dan keperluan mereka bervariasi seperti menggali data (data mining), memodifikasi data, atau berusaha membuat data baru. Masih dalam lingkungan basis data, pengguna tertentu tidak diperbolehkan mengakses data, baik secara fisik maupun logis. 2.6 Entity Relationship Diagram (ERD) Entity Relationship Diagram (ERD) adalah suatu model jaringan yang menggunakan susunan data yang disimpan dalam sistem secara abstrak. ERD merupakan model jaringan data yang menekankan pada struktur-struktur dan relasi data. Entity Relationship Diagram (ERD) merupakan gambaran data yang dimodelkan dalam suatu diagram yang digunakan untuk mendokumnetasikan data dengan cara menentukan apa saja yang terdapat dalam tiap entity dan bagaimana hubungan entity satu dengan yang lainnya. 2.6.1 Simbol-simbol Entity Relationship Diagram ERD merupakan alat untuk pembuatan model data secara grafik, maka ERD memiliki simbol-simbol yang digunakan untuk menggambarkan model data seperti terdapat pada tabel berikut: Tabel 2.1 Simbol-simbol Entity Relationship Diagram No. Simbol Arti Defenisi 1. Suatu kumpulan objek atau Entitas sesuatu yang dapat dibedakan atau didefenisikan secara unik. 2. Relationship Hubungan yang terjadi antara satu atau lebih entity. 3. Atribut Karakteristik dari entity atau relationship yang menyediakan detail penjelasan tentang entity atau relationship tersebut 4. Atribut Kunci Atribut yang digunakan untuk menentukan suatu entity secara unik. 5. Atribut Komposisi Atribut yang memiliki sekelompok nilai untuk setiap instansi entity. 2.7 Data Flow Diagram Data Flow Diagram (DFD) adalah representatik grafik dari sebuah sistem. DFD menggambarkan komponen-komponen sebuah sistem, aliran-aliran data dimana komponen-komponen tersenbut, asal, tujuan, dan penyimpanan data. DFD memiliki symbol-simbol yang digunakan untuk menggambarkan model data seperti terdapat pada tabel berikut: Tabel 2.2 Tabel Data Flow Diagarm DeMarco and Yourdan Keterangan Gane and Sarson Symbols Symbols Source (Kesatuan Luar) Proses Data Flow (Arus Data) Data Source (Penyimpanan Data) 2.8 Pengertian Flowchart Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urutan prosedur dari suatu program. Flowchart menolong analisis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam suatu menganalisis alternative-alternative lain dalam pengoperasian. Flowchart biasanya mempermudah penyelesaian suatu masalh khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut. 2.8.1 Simbol-simbol pada Flowchart Flowchart merupakan penggambaran urutan prosedur suatu program secara grafik, maka flowchart memiliki symbol-simbol yang digunakan untuk menggambarkan urutan program seperti terdapat pada tabel berikut: Tabel 2.3 Simbol-simbol Flowchart No. Simbol Arti Defenisi 1. Proses Mempresentasikan operasi 2. Input/Output Mempresentasikan input data atau output data yang diproses atau informasi 3. Keputusan Keputusan dalam program 4. Dokumen I/O dalam format cetak 5. Terminal Point Awal/ akhir Flowchart 6. Preparation Pemberian harga awal 7. Manual Input Input yang dimasukkan secara manual dari keyboard 8. Connector Keluar atau bagian lain khususnya masuk dari flowchart halaman yang sama. 9. Penghubung Keluar atau bagian khususnya sama. lain masuk dari flowchart halaman yang 10. Display Output yang ditampilkan pada terminal 11. Anak panah Mempresentasikan aur kerja 2.9 Pengertian PhpMyAdmin Setiap RDMS (Relation Database Management System) seperti Oracle, SQL Server, MySQL dan lain-lain, pasti memiliki tool yang dapat digunakan untuk mempermudah pengoperasian database. Oracle memiliki TAOD, SQL Server memiliki Enterprise Manager dan SQL Query Analyzer. Sedangkan MySQL memiliki tool atau aplikasi yang disebut PhpMyAdmin. PhpMyAdmin merupakan aplikasi berbasiskan web yang dikembangkan menggunakan bahsa pemrograman PHP. Melalui PhpMyAdmin, user dapat melakukan perintah query. Perintah tersebut misalnya administrasi user dan privileges, export dan import database, manajemen database, manajemen tabel dan struktur tabel, dan sebagainya. PhpMyAdmin sangat user friendly, sehingga mudah untuk digunakan walaupun pengguna baru (newbie)(Saputro, 2008). 2.10 Microsoft Visual Basic 6.0 Visual basic merupakan salah satu Development Tool yaitu alat bantu untuk membuat berbagai mcam program computer, khususnya yang menggunakan system operasi windows. Visual basic merupakan salah satu bahasa pemrograman computer yang mendukung object (Object Oriented Programming=OOP) 2.10.1 Mengenal Interaged Development Environment (IDE) Visual Basic 6.0 Interaged Development Environment atau interfase antar muka visual basic 6.0 menggunakan model Multiple Document Interfase (MDI). Berikut ini merupakan tampilan IDE Visual Basic 6.0: Menu Toolbar Jendela Properties Project Explorer Toolbox jendela Form Jendela Code Gambar 2.3 Tampilan utama visual basic 6.0 Visual Basic 6.0 membagi tampilan utamanya menjadi beberapa bagian yaitu: 13. Menu Bar 14. Toolbar 15. Jendela Project 16. Jendela From 17. Toolbox Secara garis besar fungsi dari masing-masing komponen toolbox tersebut adalah sebagai berikut: a. Pointer b. Picture Box c. Label d. Frame e. TestBox f. CommandButton g. CheckBox h. OptionButton i. ListBox j. ComboBox k. HscrollBar dan VScroollBar l. Timer m. Shape dan Line n. Image o. Data p. OLE 18. Jendela Code 19. Jendela Properties 2.10.2 Konsep Dasar Pemrograman Visual Basic 6.0 Konsep dasar pada pemrograman Visual Basic 6.0 adalah pembuatan form dengan mengikuti aturan pemrograman Property, Metode dan Event. 1. Property Property adalah karakteristik yang melekat pada sebuah objek yang menunjukkan cirri/ karakteristik suatu objek. Misalnya BackColor menunjukkan warna latar belakang. Font menunjukkan jenis dan ukuran font yang digunakan, dan sebagainya. Pengaturan property suatu objek dapat diatur dengan 2 cara. Cara pertama adalah dengan mengatur komponen melalui Property Window, cara kedua adalah dengan member baris program pada Code. 2. Metode Metode adalah prosedur yang dikerjakan pada satu objek. Metode nerupakan suatu tindakan dimana objek dapat di bentuk. 3. Event Event berfungsi untuk menunjukkan kejadian yang terjadi pada sebuah objek, misalnya kejadian ketika command1 diklik (event Command1_Click), kejadian ketika form loading pertama kali (event Form_Load), dan sebagainya. 2.10.3 Koneksi Visual Basic dengan Database MySQL Koneksi Visual Basic 6.0 dengan database Mysql dapat dilakukan dengan menggunakan Driver ODBC 3.51. Connector ini harus diinstal terlebih dahulu sebelum melakukan koneksi visual basic ke database MySQL. Komponen ini dapat dihubungkan dengan beberapa komponen yang digunakan untuk mengakses data seperti testbox, datagrid. Untuk dapat menggunakan ADODC, ada beberapa property yang harus kita lakukan pengaturan antara lain: 1. Connection String Connection String berfungsi untuk mendefenisikan database yang akan digunakan Adobe. 2. RecordSource RecordSource berfungsi untuk mendefenisikan table/query yang akan digunakan Adobe. 3. CommandType CommandType berfungsi untuk mendefenisikan perintah yang digunakan Adobe.