BAB 2 LANDASAN TEORI 2.1 Database MySQL Database adalah suatu kumpulan data-data yang disusun sedemikian rupa sehingga membentuk informasi yang sangat berguna. Database terbentuk dari sekelompok data-data yang memiliki jenis/sifat yang sama. Ambil contoh, data-data berupa nama-nama, kelas-kelas, alamat-alamat. Semua data tersebut dikumpulkan menjadi satu menjadi kelompok data baru, sebut saja sebagai data-data mahasiswa. Demikian juga, kumpulan dari data-data mahasiswa, data-data dosen, data-data keuangan dan lainnya dapat dikumpulkan lagi menjadi kelompok besar, misalkan data-data politeknik elektronika. Bahkan dalam perkembangannya, data-data tersebut dapat berbentuk berbagai macam data, misalkan dapat berupa program, lembaran-lembaran untuk entry (memasukkan) data, laporan-laporan. Kesemuanya itu dapat dikumpulkan menjadi satu yang disebut dengan database. Salah satu bahasa database yang populer adalah SQL. MySQL biasa dibaca mai-es-ki-el atau mai-se-kuel adalah suatu perangkat lunak database relasi (Relational Database Management System atau RDBMS) seperti halnya Oracle, Postgresql, MS SQL dan sebagainya. Universitas Sumatera Utara SQL atau singkatan dari Structured Query Language ialah suatu sintaks perintah-perintah tertentu atau bahasa pemrograman yang digunakan untuk mengelola suatu database. Jadi, MySQL dan SQL tidaklah sama. Singkatnya, MySQL ialah perangkat lunaknya dan SQL adalah bahasa perintahnya. Ketika dibandingkan antara MySQL dengan sistem database yang lain, maka perlu difikirkan apa yang paling penting sesuai kebutuhan. Apakah tampilan, support, fitur-fitur SQL, kondisi keamanan dalam lisensi, atau masalah harga. Dengan pertimbangan tersebut, MySQL memiliki banyak hal yang bisa ditawarkan, antara lain : 1. Berdasarkan kecepatannya, banyak ahli memberikan pendapat bahwa MySQL merupakan server tercepat. 2. MySQL memiliki performa tinggi namun merupakan database yang simpel sehingga mudah di-setup dan dikonfigurasi. 3. MySQL cenderung gratis untuk penggunaan tertentu. 4. MySQL mengerti bahasa SQL (Structured Query Language) yang merupakan pilihan sistem database moderen. 5. Banyak klien dapat mengakses server dalam satu waktu. Mereka dapat menggunakan banyak database secara simultan. 6. Database MySQL dapat diakses dari semua tempat di internet dengan hak akses tertentu. 7. MySQL dapat berjalan dalam banyak varian Unix dengan baik, sebaik seperti saat berjalan di sistem non-Unix. 8. MySQL mudah didapatkan dan memiliki source code yang boleh disebarluaskan sehingga bisa dikembangkan lebih lanjut. 9. Dapat dikoneksikan pada bahasa C, C++, Java, Perl, PHP dan Python. Universitas Sumatera Utara Jika hal-hal diatas ialah kelebihan yang dimiliki oleh MySQL, maka MySQL juga memiliki kekurangan seperti : 1. Untuk koneksi ke bahasa pemrograman visual seperti visual basic, delphi, dan foxpro, MySQL kurang mendukung. Karena koneksi ini menyebabkan field yang dibaca harus sesuai dengan koneksi dari program visual tersebut. Dan ini yang menyebabkan MySQL jarang dipakai dalam program visual. 2. Data yang ditangani belum begitu besar. 2.2 XAMPP Control Panel XAMPP merupakan tool yang menyediakan paket perangkat lunak ke dalam satu buah paket. Dengan menginstall XAMPP maka tidak perlu lagi melakukan instalasi dan konfigurasi webserver Apache, PHP dan MySQL secara manual. XAMPP akan menginstalasi dan mengkonfigurasikannya secara otomatis untuk anda atau auto konfigurasi. Anda bisa mendownload //www.apachefriends.org/en/xampp-window.html. 2.3 PHP: Hypertext Preprocessor Menurut dokumen resmi PHP, PHP adalah singkatan dari PHP Hypertext Preprocessor. Ia merupakan bahasa pemrograman yang berbentuk skrip yang ditempatkan didalam server dan Universitas Sumatera Utara diproses di server. Hasilnyalah yang akan dikirimkan ke klien, tempat pemakai menggunakan browser. Secara khusus, PHP dirancang untuk membentuk android dinamis. Artinya, ia dapat membentuk suatu tampilan berdasarkan permintaan terkini. Misalnya, untuk menampilkan isi database kehalaman android. PHP bersifat bebas dipakai. Tidak perlu membayar apapun untuk menggunakan perangkat lunak ini. Berikut contoh sederhana skrip PHP. <?php echo “Tanggal sekarang : %s”, Date(“d F Y”);?> 2.4 PHP dan MySQL Sebagai Web Service Web service merupakan sesuatu yang berbeda jika dibandingkan dengan website. Website sendiri dirancang dengan tampilan atau user interface yang baik sedangkan web service tidak. Web service tidak dirancang untuk berinteraksi langsung dengan pengguna. Sesuai dengan namanya, web service hanya menyediakan layanan saja. Sehingga, web service sendiri dapat disebut sebagai sebuah aplikasi yang dibuat agar dapat dipanggil atau diakses oleh aplikasi lain melalui internet dengan menggunakan format pertukaran data sebagai pengiriman pesan. Web service juga memungkinkan untuk dipanggil dengan menggunakan protokol lain seperti SMTP (Simple Mail Transfer Protocol), namun yang paling Universitas Sumatera Utara umum digunakan ialah HTTP. Karena web service menggunakan protokol HTTP, tentu PHP sebagai bahasa pemrograman web menjadi salah satu kekuatan dalam bahasa pemrogaman yang mengelola web service. Banyak teknik dan metode untuk menghasilkan web service dengan PHP, pembuatan web service dengan format XML dan JSON yang diambil dari database MySQL lewat bahasa pemrograman PHP. 2.5 Intregreted Developnment Environment Menurut buku karya Nazruddin Safaat H, para pengembang aplikasi android memiliki beberapa pilihan ketika membuat aplikasi berbasis androidnya. Kebanyakan para pengembang menggunakan Eclipse yang tersedia secara bebas untuk merancang dan mengembangkan aplikasi android. Eclipse adalah IDE yang paling populer untuk pengembangan android, karena memiliki android plug-in yang tersedia untuk memfasilitasi pengembangan android. selain itu eclipse juga mendapat dukungan langsung dari Google untuk menjadi IDE pengembangan aplikasi android. Ini terbukti dengan adanya penambahan plug-in pada eclipse untuk membuat project android dimana source software langsung dari situs resminya Google. Walaupun eclipse cukup populer di kalangan umum, namun tidak menutup kemungkinan untuk menggunakan IDE lain seperti Netbeans. Universitas Sumatera Utara 2.6 Macromedia Dreamweaver Macromedia Dreamweaver adalah sebuah HTML editor profesional untuk mendesain secara visual dan mengelola situs web maupun halaman web. Dreamweaver merupakan software utama yang digunakan oleh web desainer maupun web programmer guna mengembangkan situs web. Dreamweaver juga dilengkapi dengan fasilitas manajemen situs yang cukup lengkap. Fasilitas-fasilitas penyutingan secara visual dari Dreamwever dapat menambah desain dan fungsionalitas halaman web tanpa perlu menulis satu baris kodepun. Beberapa waktu yang lalu, tool yang digunakan untuk membuat suatu halaman web dibagi menjadi 3 jenis, yaitu: editor HTML berbasis teks, editor kombinasi grafik WYSIWYG (What You See Is What You Get) dengan tampilan kodenya, dan editor yang benar-benar berbasis grafik. Tiap-tiap jenis editor tersebut memiliki grup penggemarnya sendiri, para programmer, para webmaster, dan para grafik desiner. Macromedia Dreamweamer versi 4, merupakan editor pertama dengan fitur-fitur lengkap yang memenuhi semua grup diatas. Untuk lebih lanjut dalam pengenalan dasar macromedia dreamweaver dan pembuatan web, maka harus tau darimana pengerjaannya terlebih dahulu agar web tersebut nantinya dapat dikatakan dinamis. Bila membuat sebuah halaman web dengan Dreamweaver, maka selain document window, pemakai akan bekerja dengan tiga toolbar dan panel utama, yaitu: Insert Bar, Property Inspector, dan Site Panel. Document window berfungsi untuk menampilkan dokumen atau halaman web yang sedang di buat. Pada bagian bawah dari Document window, bisa dilihat nama file dari semua dokumen yang sedang kita buka. Universitas Sumatera Utara Insert Bar terdiri dari beberapa macam icon untuk memasukkan berbagai macam objek web seperti gambar, layer, dan tabel. Insert Bar ini terdiri dari beberapa tab yang masing-masing terdiri dari beberapa icon yang berkesesuaian. Gambar 2.1 Insert Bar pada Dreamweaver Sumber : Agnes Heni Triyuliana, Adobe Dreamweaver CS 3 dan PHP, Madcom, 2007 Property Inspector menampilkan property dari objek yang kita pilih didalam dokumen. Seperti tinggi dan lebar dari suatu gambar. Gambar 2.2. Properties pada Dreamweaver Sumber : Agnes Heni Triyuliana, Adobe Dreamweaver CS 3 dan PHP, Madcom, 2007 Sedangkan Site Panel memungkinkan pemakai untuk menampilkan dan mengatur semua file dan folder yang merupakan bagian dari website yang dibuat. Universitas Sumatera Utara Gambar 2.3 Tampilan Ruang Kerja Dreamweaver Sumber : Agnes Heni Triyuliana, Adobe Dreamweaver CS 3 dan PHP, Madcom, 2007 Dreamweaver dapat menampilkan dokumen dalam tiga cara yaitu : Code View, dan Code dan Design View. Pada Design View, pemakai bisa menampilkan dan mengedit dokumen secara visual. Tampilan dari Design View sama seperti bila ingin menampilkan dengan web browser. Pada Code View, bisa diedit langsung halaman web dengan menuliskan kode HTML, Java Script, PHP, ASP, atau CSS. Dalam Toolbar dreamweaver terdapat button-button yang dapat di pilih untuk menampilkan dokumen secara cepat yaitu Code (HTML), desain, dan gabungan HTML dan desain. Check Eror Code view Disain view Nama File Refresh Status File Universitas Sumatera Utara Code & Disain View Tampilan Browser Options Menu Gambar 2.4 Button pada Toolbar Dreamweaver Sumber : Agnes Heni Triyuliana, Adobe Dreamweaver CS 3 dan PHP, Madcom, 2007 Keterangan Gambar 1. Untuk menampilkan dan menyembunyikan Toolbar, pilih menu View > Toolbar. 2. Untuk tampilan dokumen secara kode atau HTML , klik button Code View pada toolbar. Disini anda dapat mengedit atau membuat halaman web anda secara HTML 3. Untuk tampilan dokumen secara kode dan desain, klik button Code & Design View, 4. Untuk tampilan dokumen secara desain, klik button Design View. Disini anda bisa mengedit atau membuat halaman web anda secara visual. 5. Untuk merubah nama dokumen, klik pada title lalu rubah nama dokumen sesuai dengan keinginan anda. 6. Anda dapat melihat halaman web secara browser (Internet Explorer) dengan mengklik button Preview Browser. 7. Pada Options menu, anda dapat memilih tampilan desain yang anda inginkan, contoh : anda dapat menambahkan tampilan Rulers (garis ukuran) untuk memudahkan anda dalam mendesain sebuah web. 8. Check Eror berfungsi untuk melakukan pengecekan kesalahan pada document web. 9. Refresh berfungsi melakukan pembaharuan terhadap daftar isi situs anda. Universitas Sumatera Utara 10. View Options berfungsi untuk mengatur pilihan pada tampilan ruang kerja. Sumber : Agnes Heni Triyuliana, Adobe Dreamweaver CS 3 dan PHP, Madcom, 2007 2.7 HTML Hypertext Markup Language (HTML) adalah bahasa standar dalam menulis halaman web, HTML merupakan pengembangan dari standar pemformatan dokumen teks. HTML sebenarnya adalah dokumen dalam bentuk ASCII atau teks biasa yang dapat diterjemahkan oleh browser web menjadi suatu halaman yang menarik. Sesuai dengan namanya yaitu Hypertext Markup Language (HTML) maka dokumen HTML terdiri dari tanda-tanda (markup) untuk menandai perintah-perintahnya (tag). Tag HTML biasanya adalah tag-tag yang berpasangan dan ditandai dengan simbol < dan >, sedangkan pasangan akhir perintah dari sebuah tag ditandai dengan tanda “ / “, misalnya pasangan dari tag <tag> adalah </tag>. Setiap dokumen HTML memiliki struktur sbb : <HTML> <HEAD> <TITLE>Judul title bar web</TITLE> </HEAD> <BODY> Isi Dokumen HTML Universitas Sumatera Utara </BODY> </HTML 2.8 Apache Server HTTP Apache atau Server Web/WWW Apache adalah server web yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows dan Novell Netware serta platform lainnya) yang berguna untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web/www ini mengunakan HTTP. Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat dikonfigur, autentikasi berbasis basis dataantarmuka pengguna berbasis grafik (GUI) yang memungkinkan penanganan server menjadi mudah. dan lain-lain. Apache juga didukung oleh sejumlah Apache merupakan perangkat lunak sumber terbuka dikembangkan oleh komunitas terbuka yang terdiri dari pengembang-pengembang dibawah naungan Apache Software Foundation. Server HTTP Apache atau Server Web/WWW Apache adalah server web yang dapat dijalankan di banyak sistem operasi seperti : Unix, BSD, Linux, Microsoft Windows dan Novell Netware serta platform lainnya yang bmemfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web/www ini mengunakan HTTP. Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat dikonfigur, autentikasi berbasis basis data antarmuka pengguna berbasis grafik (GUI) yang memungkinkan penanganan server menjadi mudah. dan lain-lain. Universitas Sumatera Utara Apache merupakan perangkat lunak sumber terbuka dikembangkan oleh komunitas terbuka yang terdiri dari pengembang-pengembang dibawah naungan Apache Software Foundation. 2.9.Flowchart Flowchart merupakan bagan atau gambar yang memperlihatkan hubungan antar-proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol yang mana dari tiap-tiap simbol mewakili proses tertentu. Sedangkan hubungan antar-proses tadi digambarkan dengan garis-garis. Flowchart merupakan langkah awal pembuatan program. Setelah flowchart selesai disusun, selanjutnya pemrogram menerjemahkannya ke dalam bentuk program menggunakan bahasa pemrograman. Berikut ini adalah simbol-simbol standar pada sebuah flowchart beserta fungsinya. Tabel 2.1. Simbol Flowchart No Nama Simbol Fungsi 1 Terminator Digunakan untuk mewakili simbol start atau end. 2 Arrow Menunjukkan alur proses. 3 Rectangle Menunjukkan langkah pemrosesan. 4 Trapezium Simbol untuk inputoutput. Universitas Sumatera Utara 5 Document Digunakan untuk mewakili output. 6 Decision Simbol yang berfungsi untuk menyatakan keputusan. 7 Preparation Simbol yang berfungsi untuk proses inisialisasi atau pemberian harga awal. Tabel 2.1. Lanjutan No 8 Nama Connector Simbol Fungsi Simbol untuk keluarmasuk atau penyambungan proses pada halaman yang berbeda. Manual Input Simbol untuk pemasukkan data secara manual melalui keyboard. 10 Manual Operation Simbol yang menunjukkan pengolahan yang tidak dilakukan oleh komputer. 11 Predefine Process Simbol untuk pelaksanaan suatu bagian (subprosedur) Display Simbol yang menyatakan peralatan output yang digunakan seperti layar, printer, plotter, dan sebagainya. 9 12 Universitas Sumatera Utara 13 14 Magnetic Disk Simbol yang digunakan untuk penyimpanan data ke database. Storage Data Simbol yang menyatakan input yang berasal dari disk atau disimpan ke disk. 2.10 Data Flow Diagram Data Flow Diagram adalah alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi yang dapat digunakan untuk penggambaran analisa maupun perancangan sistem yang mudah dikomunikasikan ke pengguna ataupun ke pembuat program. Didalam DFD terdapat tiga level, yaitu : 1. Diagram Konteks (DFD Level 0) Diagram konteks menggambarkan satu lingkaran besar yang dapat mewakili seluruh proses yang terdapat dalam suatu sistem. Diagram konteks merupakan tingkatan tertinggi dalam Data Flow Diagram dan biasanya diberi penomoran nol. Semua entitas eksternal ditunjukkan dalam diagram konteks beserta dengan aliran-aliran data utama, baik dari dan menuju sistem. 2. Diagram Nol (DFD Level 1) Universitas Sumatera Utara Diagram nol merupakan satu lingkaran besar yang mewakili lingkaran-lingkaran kecil yang ada pada diagram konteks. Dengan kata lain diagram nol merupakan pemecahan dari diagram konteks. 3. Diagram Rinci Lebih rinci lagi, diagram rinci adalah diagram yang menguraikan proses-proses yang terdapat di dalam diagram nol. Berikut merupakan simbol-simbol standar menurut Yourdan dan DeMarco yang digunakan untuk membuat sebuah Data Flow Diagram. Tabel 2.2. Simbol Data Flow Diagram No Nama 1 Kesatuan Luar 2 Arus Data 3 Proses 4 Simpanan Data Simbol Media Nama datastore Fungsi Sebagai kesatuan (entitas) di lingkungan luar sistem yang dapat berupa orang, organisasi, sumber asli transaksi, atau penerima akhir. Berfungsi untuk menghubungkan antara proses, simpanan data, dan kesatuan luar. Berupa kegiatan atau proses yang sedang dilakukan. Menunjukkan informasi yang tersimpan. Universitas Sumatera Utara 2.11 Entity Relationship Diagram Entity Relationship Diagram merupakan suatu model untuk menjelaskan hubungan antar-data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar-relasi. Menurut salah satu para ahli, Brady dan Loonam (2010), Entity Relationship Diagram (ERD) merupakan salah satu teknik yang digunakan untuk memodelkan kebutuhan data dari suatu organisasi. Komponen penyusun ERD adalah sebagai berikut. Tabel 2.3. Komponen ERD No Nama Simbol Fungsi 1 Entitas Persegi panjang untuk entitas 2 Atribut Ellips untuk atribut 3 Relasi Belah ketupat mewakili relasi 4 Garis Garis menghubungkan Entitas adalah objek dalam dunia nyata yang dapat dibedakan dengan objek lain, seperti mahasiswa, dosen, departemen. Sedangkan setiap entitas pasti memiliki elemen yang disebut atribut yang berfungsi untuk mendeskripsikan karakter dari entitas tersebut. Misalnya, atribut dari mahasiswa adalah nim dan nama. Relasi merupakan gambaran antar-entitas. Universitas Sumatera Utara