BAB II LANDASAN TEORI Pada bab kedua ini, memberikan pembahasan tentang teori-teori yang berhubungan dengan

perancangan sistem informasi komputerisasi administrasi keuangan MA Mazro'atul Huda Karanganyar Demak. Hal-hal yang dijelaskan yaitu : 2.1.Konsep Dasar Sistem Pengertian dan definisi sistem pada berbagai bidang berbeda-beda, tetapimeskipun istilah sistem yang digunakan bervariasi, semua sistem pada bidang-bidang tersebut mempunyai beberapa persyaratan umum, yaitu sistem harus mempunyai elemen, lingkungan, interaksi antar elemen, interaksi antara elemen dengan lingkungannya, dan yang terpenting adalah sistem harus mempunyai tujuan yang akan dicapai. Berdasarkan persyaratan ini, sistem dapat didefinisikan sebagai seperangkat elemen yang digabungkan satu dengan lainnya untuk suatu tujuan bersama.Kumpulan elemen terdiri dari manusia, mesin, prosedur, dokumen, data atau elemen lain yang terorganisir dari elemen-elemen tersebut. Elemen sistem disamping berhubungan satu sama lain, juga berhubungan dengan lingkungannya untuk mencapai tujuan yang telah ditentukan sebelumnya. Terdapat beberapa definisi sistem yaitu : “Sebuah sistem terdiri dari bagian-bagian saling berkaitan yang beroperasi bersama untuk mencapai beberapa sasaran atau maksud”. (Gordon B. Davis : 1984) “Sistem adalah himpunan dari unsur-unsur yang saling berkaitan sehingga membentuk suatu kesatuan yang utuh dan terpadu”. (Ramond Mcleod (2001).

2.1.1.Karakteristik Sistem 1.Komponen Sistem Komponen sistem atau elemen sistem dapat berupa : a.Elemen-elemen yang lebih kecil yang disebut sub sistem, misalkan sistem komputer terdiri dari sub sistem perangkat keras, perangkat lunak dan manusia b.Elemen-elemen yang lebih besar yang disebut supra sistem. Misalkan bila perangkat keras adalah sistem yang memiliki sub sistem CPU, perangkat I/O dan memori, maka supra sistem perangkat keras adalah sistem komputer. 1.Batas sistem Batas sistem merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batas sistem ini memungkinkan suatu sistem dipandang sebagai suatu kesatuan. Batas suatu sistem menunjukkan ruang lingkup dari sistem tersebut. 2.Lingkungan luar sistem Lingkungan dari sistem adalah apapun di luar batas dari sistem yang mempengaruhi operasi sistem. Lingkungan luar sistem dapat bersifat menguntungkan dan dapat juga bersifat merugikan sistem tersebut. lingkungan luar yang mengutungkan merupakan energi dari sistem dan dengan demikian harus tetap dijaga dan dipelihara. Sedang lingkungan luar yang merugikan harus ditahan dan dikendalikan, kalau tidak akan mengganggu kelangsungan hidup dari sistem. 3.Penghubung Penghubung merupakan media perantara antar subsistem. Melalui penghubung ini memungkinkan sumber-sumber daya mengalir dari satu subsistem ke subsistem lainnya. Output dari satu subsistem akan menjadi input untuk subsistem yang lainnya dengan melalui penghubung. Dengan penghubung satu subsistem

dapat berinteraksi dengan subsistem yang lainnya membentuk satu kesatuan. 4.Masukkan Masukan adalah energi yang dimasukkan ke dalam sistem. Masukan dapat berupa maintenance input dan sinyal input. Maintenance input adalah energi yang dimasukkan supaya sistem tersebut dapat beroperasi. Sinyal input adalah energi yang diproses untuk didapatkan keluaran. 5.Keluaran Keluaran adalah hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan. 6.Pengolah Suatu sistem dapat mempunyai suatu bagian pengolah atau sistem itu sendiri sebagai pengolahnya. Pengolah yang akan merubah masukan menjadi keluaran. Suatu sistem produksi akan mengolah masukan berupa bahan baku dan bahan-bahan yang lain menjadi keluaran berupa barang jadi. 7.Sasaran atau tujuan Suatu sistem pasti mempunyai tujuan atau sasaran. Kalau suatu sistem tidak mempunyai sasaran, maka operasi sistem tidak akan ada gunanya. Sasaran dari sistem sangat menentukan sekali masukan yang dibutuhkan sistem dan keluaran yang akan dihasilkan sistem. Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuannya. 2.1.1.Klasifikasi Sistem 1.Sistem abstrak dan sistem fisik. Sistem abstrak adalah sistem yang berupa pemikiran atau ide-ide yang tidak tampak secara fisik. Misalnya sistem teologia, yaitu sistem yang berupa pemikiranpemikiran hubungan antara manusia dengan tuhan. Sistem fisik Keluaran dapat merupakan masukan untuk subsistem yang lain atau kepada supra sistem.

merupan sistem yang ada secara fisik misalnya sistem komputer, sistem akuntansi dan sistem produksi. 2.Sistem alamiah (natural system) dan sistem buatan manusia (human made system). Sistem alamiah adalah sistem yang terjadi melalui proses alam, misalnya sistem perputaran bumi. Sistem buatan manusia adalah sistem yang dirancang oleh manusia. Sistem buatan manusia yang melibatkan interaksi antara manusia dengan mesin disebut dengan human machine system atau ada yang menyebut dengan man machine system, karena menyangkut penggunaan komputer yang berinteraksi dengan manusia. 3.Sistem tertentu (deterministic system) dan sistem tak tentu (probabilistic system). Sistem tertentu beroperasi tertentu dengan tingkah laku yang sudah dapat diprediksi. Inteaksi diantara bagianbagiannya dapat dideteksi dengan pasti, sehingga keluaran dari sistem dapat diramalkan. Sistem komputer adalah contoh dari sistem tertentu yang tingkah lakunya dapat dipastikan berdasarkan program-program yang dijalankan. Sistem tak tentu adalah sistem yang kondisi masa depannya tidak dapat diprediksi karena mengandung unsur probabilitas. 4.Sistem tertutup (closed system) dan sistem terbuka (open system). Sistem tertutup merupakan sistem yang tidak berhubungan dan tidak terpengaruh oleh lingkungan luarnya. Sistem ini bekerja secara otomatis tanpa adanya turut campur tangan dari pihak diluarnya. Secara teoritis sistem tertutup ada, tetapi kenyataan tidak ada sistem yang benar-benar tertutup yang ada hanyalah relatively closed system (secara relatif tertutup, tidak benar-benar tertutup), sedang sistem terbuka adalah sistem yang berhubungan dan terpengaruh oleh lingkungan luarnya. Sistem ini menerima masukan dan menghasilkan keluaran untuk lingkungan luar atau subsistem yang lainnya, karena sistem sifatnya terbuka dan tepengaruh oleh lingkungan luarnya, maka suatu sistem harus

mempunyai sistem pengendalian yang baik. Sistem-sistem yang baik harus dirancang sedemikian rupa, sehingga secara relatif tertutup karena sistem tertutup akan bekerja secara otomatis dan terbuka untuk pengaruh yang baik saja. 2.1.Konsep Dasar Informasi 2.2.1.Pengertian Informasi Menurut Raymond Mcleod, : “Informasi adalah data yang telah diolah menjadi bentuk yang memiliki arti bagi si penerima dan bermanfaat bagi pengambilan keputusan saat ini atau mendatang”. Secara umum informasi dapat didefinisikan sebagai hasil dari pengolahan data dalam suatu bentuk yang lebih berguna dan lebih berarti bagi penerimanya yang menggambarkan suatu kejadiankejadian yang nyata yang digunakan untuk pengambilan keputusan. Sumber dari informasi adalah data. Data adalah kenyataan yang menggambarkan suatu kejadian-kejadian dan kesatuan nyata. Kejadian-kejadian adalah sesuatu yang terjadi pada saat tertentu. Di dalam dunia bisnis, kejadian-kejadian yang sering terjadi adalah transaksi perubahan dari suatu nilai yang disebut transaksi. Kesatuan nyata adalah berupa suatu obyek nyata seperti tempat, benda dan orang yang betul-betul ada dan terjadi. Data merupakan bentuk yang masih mentah, belum dapat bercerita banyak sehingga perlu diolah lebih lanjut. Data diolah melalui suatu metode untuk menghasilkan informasi. Data dapat berbentuk simbol-simbol semacam huruf, angka, bentuk suara, sinyak, gambar, dsb. Data yang diolah melalui suatu model menjadi informasi, penerima kemudian menerima informasi tersebut, membuat suatu keputusan dan melakukan tindakan, yang berarti menghasilkan suatu tindakan yang lain yang akan membuat sejumlah data kembali. Data

tersebut akan ditangkap sabagai input, diproses kembali lewat suatu model dan seterusnya membentuk suatu siklus. Siklus informasi ini dapat digambarkan sebagai berikut :
Proses (Model)

Input (Data)

Dasar Data

Output (Information)

Data (Ditangap)

Penerima

Hasil Tindakan

Keputusan tindakan

Gambar 2.1. Siklus Informasi 2.2.2.Fungsi Informasi Informasi mempunya beberapa fungsi diantaranya adalah : 1.Untuk meningkatkan pengetahuan bagi si pemakai 2.Untuk mengurangi ketidakpastian keputusan pemakai 3.Menggambarkan keadaan yang sebenarnya dari sesuatu hal. 2.2.1.Kualitas Informasi Informasi yang berkualitas harus akurat, tepat pada waktunya dan relevan. 1.Akurat Berarti informasi harus bebas dari kesalahan-kesalahan dan tidak bias atau menyesatkan. Akurat juga berarti informasi harus jelas mencerminkan maksudnya. Informasi harus akurat karena dalam proses pengambilan

dari

sumber

informasi

sampai

ke

penerima

informasi

kemungkinan terjadi gangguan yang dapat merubah atau merusak informasi tersebut. 2.Tepat Waktu Berarti informasi yang datang pada penerima tidak boleh terlambat. Informasi yang sudah usang tidak akan mempunyai nilai lagi. Karena informasi merupakan landasan di dalam pengambilan keputusan. Bila pengambilan keputusan terlambat, maka dapat berakibat fatal bagi organisasi. Saat ini mahalnya nilai informasi disebabkan harus cepatnya informasi itu didapat sehingga 3.Relevan Berarti informasi tersebut mempunyai manfaat untuk pemakainya. Relevansi informasi untuk tiap-tiap orang berbedabeda. 2.1.Konsep Dasar Sistem Informasi 2.3.1.Pengertian Sistem Informasi Menurut Mc Leod : “Sistem Informasi merupakan sistem yang mempunyai kemampuan untuk mengumpulkan informasi dari semua sumber dan menggunakan berbagai media untuk menampilkan informasi”. Sistem informasi dapat didefinisikan sebagai suatu sistem di dalam suatu organisasi yang merupakan kombinasi dari orang-orang, fasilitas, teknologi, media prosedur-prosedur dan pengendalian yang ditujukan untuk mendapatkan jalur komunikasi penting, memproses tipe transaksi rutin tertentu, memberi sinyal kepada manajemen dan yang lainnya terhadap kejadian-kejadian internal dan eksternal yang penting dan menyediakan suatu dasar informasi untuk pengambilan keputusan. diperlukan teknologi-teknologi mutakhir untuk mendapatkan, mengolah dan mengirimkannya.

2.3.2.Komponen Sistem Informasi Komponen sistem informasi terdiri dari 5 komponen, kelima komponen sistem informasi tersebut dapat diklasifikasikan sebagai hardware dan software yang berfungsi sebagai mesin, people dan procedures yang merupakan manusia dan tatacara menggunakan mesin, data yang merupakan jembatan penhubung antara manusia dan mesin agar terjadi suatu proses pengolahan data. 1.Hardware Hardware dalam komponen sistem informasi dapat di golongkan menjadi beberapa bagian, yaitu: a.Peralatan penyimpanan data Disk digunakan merupakan sebagai berupa perangkat peralatan yang paling dengan sering Disk tiap penyimpanan.

diorganisasikan

silinder-silinder

permukaan terdapat head yang ditumpuk secara vertikal. Head terdiri dari beberapa track. Dan treck terbagi menjadi sektorsektor. b.Peralatan input Peralatan input merupakan alat yang digunakan untuk menerima input. c.Peralatan output Peralah output merupakan suatu alat keluaran/tampilan suatu data setelah mengalami proses. Output yang dihasilkan dari pengolahan data digolongkan kedalam 4 macam bentuk yaitu: 1)Tulisan: terdiri dari huruf, kata, angka, karakter khusus, dan simbol-simbol lainnya. 2)Image: didalam suatu bentuk grafik atau gambar. 3)Bentuk yang dapat dibaca oleh mesin dalam bentuk simbol yang hanya dibaca dan dimengerti oleh komputer. 4)Suara: dalam bentuk musik atau omongan.

a.Peralatan komunikasi data Komunikasi adalah suatu bagian dari ilmu komunikasi yang mengkhususkan diri pada penyampaian informasi yang berupa teks dan gambar. 1.Software Software merupakan kumpulan dari perintah /fungsi yang ditulis dengan aturan tertentu untuk memerintahkan komputer melaksanakan tugas tertentu. 2.Data Data merupakan komponen dari informasi yang akan diproses lebih lanjut untuk menghasilkan informasi. Data merupakan jembatan penghubung antara manusia dan mesin agar terjadi suatu proses pengolahan data. Himpunan data akan mempunyai sifat yang unik, yaitu: a.Saling berkaitan (interrelated), data-data tersebut akan saing berkaitan/terintegrasi dan tersimpan secara terorganisir didalam suatu media penyimpanan. b.Kebersamaan (Shared), daya yang terintegrasi tersebut dapat diakses oleh berbagai macam pengguna/orang tetapi hanya satu yang dapat merubahnya yaitu Database Administrator (DBA). c.Terkendali (controlled), data yang terintegrasi hanya dapat diubah oleh Database Administrator (DBA). 1. Prosedur Dokumentasi prosedur/proses sistem, buku penuntun operasional dan teknis. Prosedur menghubungkan berbagai perintah dan aturan yang akan menentukan rancangan dan penggunaan sistem informasi.

2.Manusia Manusia adalah mereka yang terlibat dalam kegiatan sistem informasi seperti operator, pemimpin sistem informasi dan sebagainya.
Hardware (Perangkat Keras) Softwre (Perangkat Lunak) Procedures (Prosedur) People (Manusia)

DATA

Gambar 2.2. Lima Komponen Sistem Informasi Sumber: Al-Bahra Bin Ladjamudin 2.1.Konsep Dasar Sistem Komputer Komputer berasal dari kata to compute yang artinya menghitung. Tetapi apabila kita tinjau dari kata tersebut dengan fungsi komputer dewasa ini kita melihat ketidakcocokan, dimana komputer sekarang dapat digunakan untuk berbagai pekerjaan. Secara umum komputer dapat diartikan serangkaian atau sekelompok mesin elektronika yang terdiri dari ribuan bahkan jutaan komponen yang saling bekerjasama, serta membentuk suatu sistem kerja yang rapi dan teliti. Sistem kerja ini kemudian dapat digunakan untuk melaksanakan serangkaian pekerjaan secara otomatis berdasarkan urutan instruksi atau program yang telah diberikan kepadanya. Komputerisasi bermakna sebagai penggunaan komputer sebagai alat bantu dalam kegiatan pengolahan data, untuk menggantikan prosedur pengolahan data secara manual. Prosedur pengolahan data yang dilakukan secara manual meliputi kegiatan pengumpulan yang data, pada melakukan akhirnya pengelompokan, pengurutan, penghitungan,

menyusunnya dalam sejumlah bentuk laporan untuk berbagai keperluan yang ada. (Edi Purwono, 2002).

2.2.Konsep Dasar Administrasi Keuangan 2.5.1.Pengertian Administrasi Dalam buku Pengantar Ilmu Administrasi Negara Drs. Darmanto, M.Si. Mengutip beberapa definisi administrasi antara lain : 1.Leonard D. White: Administrasi adalah suatu proses yang pada umumnya terdapat pada semua usaha kelompok, negara atau swasta, sipil atau militer, usaha yang besar dan kecil. 2.H.A Simon: Administrasi adalah kegiatan dari kelompok yang mengadakan kerjasama untuk menyelesaikan tujuan bersama. 3.William H. Newman: Administrasi adalah bimbingan, kepemimpinan, dan pengawasan atas usaha-usaha kelompok individu, terhadap tercapainya tujuan bersama. Dengan memperhatikan penjelasan tersebut di atas maka dapat diketahui bahwa ciri-ciri administrasi adalah sebagai berikut: 1.Adanya kelompok manusia (2 orang atau lebih) 2.Adanya kerjasama dari kelompok tersebut 3.Adanya bimbingan, kepemimpinan, dan pengawasan 4.Adanya tujuan kelompok 2.5.1.Pengertian Keuangan Keuangan adalah hal yang berkaitan dengan uang. Keuangan juga berarti masalah pembayaran dan pembiayaan untuk kebutuhan baik pribadi maupun organisasi. 2.5.2.Pengertian Administrasi Keuangan Menurut Prof. Dr. Sondang P. Siagian, MPA, dikutip oleh Martono dan Agus Harjito (1998 : 2) secara ilmu administrasi adalah keseluruhan proses kerja sama antara dua orang atau lebih yang didasarkan atas rasionalitas tertentu dalam rangka pencapaian tujuan yang telah ditentukan sebelumnya dan memanfaatkan sarana dan prasarana tertentu secara berdaya guna dan berhasil guna. Administrasi secara sempit adalah berasal dari kata administratie (Belanda), meliputi kegiatan catat mencatat, surat

menyurat, pembukuan ringan, ketik mengetik, agenda yang bersifat teknis ketatausahaan. Administrasi administration secara luas adalah dari berasal dari kata yang (inggris), kegiatan pada kelompok

mengadakan kerja sama untuk mencapai tujuan bersama. Administrasi secara seni adalah yang dapat mendorong, menggairahkan dalam melaksanakan suatu aktifitas demi pencapaian tujuan. Dalam artian kita merasa enjoy dalam pelaksanaan suatu aktivitas sebagai tanggung jawab. Menurut Prof. Dr. Mr. S. Prajudi Atmosudirjo administrasi adalah suatu bantuan kepada seseorang yang harus menunaikan tugas, jabatan / menjalankan suatu usaha tertentu. Menurut Drs. A.W. Wijaya administrasi adalah segenap proses penyelenggaraan kegiatan usaha kerja sama sekelompok orang untuk mencapai tujuan tertentu. Jadi administrasi keuangan adalah proses pengelolaan yang melibatkan semua kegiatan yang berhubungan dengan keuangan, pembuatan laporan keuangan dan pencapaian tujuan untuk kepentingan bersama. 2.1.Perancangan Sistem Dalam suatu proses pengembangan software, analisa dan rancangan telah merupakan terminologi yang sangat tua. Pada saat masalah ditelusuri dan spesifikasi dinegoisasikan, dapat dikatakan kita berada pada tahap rancangan. Merancang adalah menemukan suatu cara untuk menyelesaikan masalah, salah satu tool / model untuk merancang pengembangan software yang berbasis object oriented adalah UML. 2.6.1.Teknik Dasar OOA/D (Object-Oriented Analysis/Design) Dalam dunia pemodelan, metodologi implementasi obyek walaupun terikat kaidah-kaidah standar, namun teknik pemilihan obyek tidak terlepas pada subyektifitas software analyst & designer.

Beberapa obyek akan diabaikan dan beberapa obyek menjadi perhatian untuk diimplementasikan di dalam sistem. Hal ini sah-sah saja karena kenyataan bahwa suatu permasalahan sudah tentu memiliki lebih dari satu solusi. Ada 3 (tiga) teknik/konsep dasar dalam OOA/D, yaitu pemodulan (encapsulation), penurunan (inheritance) dan polymorphism. 1.Pemodulan (Encapsulation) Pada dunia nyata, seorang ibu rumah tangga menanak nasi dengan menggunakan rice cooker, ibu tersebut menggunakannya hanya dengan menekan tombol. Tanpa harus tahu bagaimana proses itu sebenarnya terjadi. Disini terdapat penyembunyian informasi milik rice cooker, sehingga tidak perlu diketahui seorang ibu. Dengan demikian menanak nasi oleh si ibu menjadi sesuatu yang menjadi dasar bagi konsep information hiding. 2.Penurunan (Inheritance) Obyek-obyek memiliki banyak persamaan, namun ada sedikit perbedan. Contoh dengan beberapa buah mobil yang mempunyai kegunaan yang berbeda-beda. Ada mobil bak terbuka seperti truk, bak tertutup seperti sedan dan minibus. Walaupun demikian obyek-obyek ini memiliki kesamaan yaitu teridentifikasi sebagai obyek mobil, obyek ini dapat dikatakan sebagai obyek induk (parent). Sedangkan minibus dikatakan sebagai obyek anak (child), hal ini juga berarti semua operasi yang berlaku pada mobil berlaku juga pada minibus. 3.Polymorphism Pada obyek mobil, walaupun minibus dan truk merupakan jenis obyek mobil yang sama, namun memiliki juga perbedaan. Misalnya suara truk lebih keras dari pada minibus, hal ini juga berlaku pada obyek anak (child) melakukan metoda yang sama dengan algoritma berbeda dari obyek induknya. Hal ini yang disebut polymorphism, teknik atau konsep dasar lainnya adalah

ruang lingkup / pembatasan. Artinya setiap obyek mempunyai ruang lingkup kelas, atribut, dan metoda yang dibatasi. 2.6.1.Pengenalan UML UML sebagai sebuah bahasa yang memberikan vocabulary dan tatanan penulisan kata-kata dalam ‘MS Word’ untuk kegunaan komunikasi. Sebuah bahasa model adalah sebuah bahasa yang mempunyai vocabulary dan konsep tatanan / aturan penulisan serta secara fisik mempresentasikan dari sebuah sistem. Seperti halnya UML adalah sebuah bahasa standard untuk pengembangan sebuah software yang dapat menyampaikan bagaimana membuat dan membentuk model-model, tetapi tidak menyampaikan apa dan kapan model yang seharusnya dibuat yang merupakan salah satu proses implementasi pengembangan software. UML tidak hanya merupakan sebuah bahasa pemograman visual saja, namunjuga dapat secara langsung dihubungkan ke berbagai bahasa pemograman, seperti JAVA, C++, Visual Basic, atau bahkan dihubungkan secara langsung ke dalam sebuah object-oriented database. Begitu juga mengenai pendokumentasian dapat dilakukan seperti; requirements, arsitektur, design, source code, project plan, tests, dan prototypes. 2.6.2.Diagram-Diagram UML UML 2 terdiri dari 13 jenis diagram resmi seperti tertulis dalam Tabel 2.1 dan mengklasifikasi mereka seperti pada gambar 2.2. Meskipun jenis-jenis diagram ini merupakan cara orang-orang memperlakukan UML dan cara mengorganisasikan buku ini, para perancang UML tidak memandang diagram sebagai bagian yang sentral. Dan hasilnya, jenis-jenis diagram sebagai bagian yang sentral. Acapkali secara legal dapat menggunakan elemen-elemen dari satu jenis diagram untuk diagram yang lain. Standard UML menunjukkan bahwa elemen-elemen tertetu hanya diambil dari jenis diagram tertentu, tetapi ini bukanlah hal yang dianjurkan.

No. 1 2 3 4 5 6 7 8 9 10

Diagram Activity Class

Kegunaan

Turunan

Behavior prosedural dan Di UML 1 paralel Clas, fitur, dan hubungan-hubungan Di UML 1 Diagram kolaborasi UML 1 Di UML 1 Baru di UML 2 Di UML 1

Communication Interaksi antar objek, penekanan pada jalur Component Composite structure Deployment Interaction overview Object Package Sequence Struktur dan koneksi komponen Dekomposisi runtime sebuah class Pemindahan artifak ke node

Campuran sequence dan Baru di UML 2 activity diagram Contoh konfigurasi dari Tidak resmi di contoh-contoh UML 1 Struktur hierarki compile time Interaksi antar objek, penekanan pada sequence Tidak resmi di UML 1 Di UML 1

11

State machine

Bagaimana even Di UML 1 mengubah objek selama aktif Interaksi antar objek, penekanan pada timing Bagaimana pengguna berinteraksi dengan sebuah sistem Baru di UML 2 Di UML 1

12 13

Timing User case

Tabel 2.1. Tabel Jenis Diagram UML

Class Diagram Composite Structure Diagram Object Diagram Diagram Activity Diagram Package Diagram Component Diagram Deployment Diagram

Structure Diagram

Use Case Diagram Behavior Diagram State Machine Diagram

Sequence Diagram Communication Diagram Interaction Diagram Interaction Overview Diagram Timing Diagram Gambar 2.3. Klasifikasi Diagram UML Sumber : UML Distilled Panduan Singkat Bahasa Pemodelan Objek Standar (Martin Fowler)

1.Use Case Diagram Pada umumnya use case sistem merupakan sebuah interaksi dengan perangkat lunak, sedangkan sebuah use case bisnis berbicara tentang bagaimana sebuah bisnis menanggapi seorang konsumen atau sebuah event. Use case diagram berfungsi untuk menggambarkan kebutuhan system dari sudut pandang user, mengfokuskan pada proses komputerisasi (automated processes), menggambarkan hubungan antara use case dan actor, serta menggambarkan proses system (kebutuhan system dari sudut pandang user).

Gambar 2.4. Contoh Use Case Diagram 2.Activity Diagram Activity diagram adalah teknik untuk menggambarkan logika prosedural, proses bisnis, dan jalur kerja. Dalam beberapa hal, diagram ini memainkan peran mirip sebuah diagram alir, tetapi perbedaan prinsip antara diagram ini dan notasi diagram alir adalah diagram ini mendukung behavior paralel.

Gambar 2.5. Contoh Activity Diagram 3.Class Diagram Kelas diagram adalah representasi visual dari sebuah aplikasi yang menunjukkan class dan hubungan antar class. Class diagram juga mendeskripsikan jenis-jenis objek, properti dan operasi sebuah class dan batasan-batasan yang terdapat dalam hubungan objek tersebut.

Gambar 2.6. Contoh Class Diagram

4.Sequence Diagram Sequence diagram secara khusus menjabarkan behavior sebuah skenario tunggal. Diagram ini tersebut menunjukkan sejumlah objek contoh dan pesan-pesan yang melewati objekobjek ini di dalam use case.

Gambar 2.7. Contoh Sequence Diagram 2.6.1.Perancangan Masukan dan Keluaran (Input Output Design) 1.Design Input Untuk membuat tahapan baru ke dalam perkembangan sistem adalah dengan menggunakan dokumen dan prosedur desain input sehingga perkembangan sistem dapat berkembang dengan

cepat dan akurat pada system informasi. Tujuan desain input : a.Untuk mengidentifikasikan biaya pemasukan data. b.Untuk menjamin kemasukan data dapat diterima dan dimengerti oleh pemakai. 1.Desain Output Desain Output merupakan keberhasilan dari sistem informasi. Setelah desain input data file berlangsung maka akan terjadi desain output. 2.1.Konsep Dasar Java 2.7.1.Sejarah Singkat Bahasa Pemrograman Java Java secara resmi diperkenalkan oleh SUN pada dunia pada tanggal 23 Mei 1995. Sedangkan sejarah pembangunan Java sendiri sudah dimulai sejak tahun 1991. Saat itu tim “Stealth Project” mengadakan pertemuan (brainstorming) untuk menciptakan suatu sistem software yang mampu berjalan pada alat-alat elektronik (small devices). James Gosling berkonsentrasi pada ide pembuatan bahasa pemrograman. Pada Juni 1991, muncullah bahasa interpreter “Oak” yang menjadi cikal bakal dari Java. Kemudian secara resmi pada tahun 1995 Java diperkenalkan bersama dengan browser HotJava, Java pun merambah ke dunia web. Kenyataan ini mungkin agak sedikit berbeda dengan ide pembuatan Java pada awalnya. Internet ternyata membantu menjadikan Java terkenal seperti sekarang ini. Memang harus diakui karena semakin berkembangnya Internet, maka fokus pemograman saat ini mengarah ke pemograman Internet itu sendiri. Saat ini Java dibagi menjadi 3 macam framework atau teknologi yaitu J2SE untuk pemogramman aplikasi berbasis console dan destop, kemudian J2EE untuk pemogramman aplikasi berskala

enterprise seperti aplikasi web-base (JSP dan Servlet), komponen (EJB), Web Services dan lain – lain. Kemudian framework yang terakhir adalah J2ME untuk pemogramman small divice seperti hanphone dan pda. 2.7.2.Kelebihan dan Karakteristik Java Sintaks bahasa pemogramman Java adalah pengembangan dari bahasa pemogramman C/C++. Sehingga bagi mereka yang sudah terbiasa dengan C/C++, tidak akan mengalami kesulitan mempelajari bahasa pemogramman Java. Java adalah bahasa pemogramman yang sederhana dan tangguh. Berikut ini adalah beberapa karakteristik dari Java sesuai dengan white paper dari Sun. 1.Berorientasi Object, java telah menerapkan konsep pemograman berorientasi object yang modern dalam implementasinya 2.Robust, java mendorong pemograman yang bebas dari kesalahan dengan bersifat strongly typed dan memiliki run-time checking 3.Protable, program java dapat berjalan pada sistem operasi apapun yang miliki Java Virtual Machine 4.Multithreading, Java mendukung pemograman multithreading dan telah terintegrasi secara langsung dalam bahasa Java. 5.Dinamis, program Java dapat melakukan sesuatu tindakan yang ditentukan pada saat eksekusi program dan bukan pada saat kompilasi. 6.Sederhana, Java menggunakan bahasa yang sederhana dan mudah dipelajari. 7.Terdistribusi, Java didesain untuk berjalan pada lingkungan yang terdistribusi seperti halnya internet. 8.Aman, aplikasi yang dibuat dengan bahasa java lebih dapat dijamin keamanannya terutama untuk aplikasi internet. 9.Netral secara arsitektur, Java tidak terikat pada suatu mesin atau sistem operasi tertentu.

10.Interpreted, aplikasi Java bisa dieksekusi pada platform yang berbeda-beda karena melakukan interpretasi pada bytecode. 11.Berkinerja Tinggi, bytecode Java telah teroptimasi dengan baik sehingga eksekusi program dapat dilakukan secara cepat. 2.7.1.Beberapa Istilah dalam Bahasa Pemrograman Java 1.Modifier Modifiers digunakan untuk menentukan penggunaan dari suatu data, methods dan class. Contoh modifiers adalah public, static, private, final, abstract dan protected. Penggunaan modifier berfungsi untuk melakukan enkapsulasi (membungkus data) pada objeck. Dengan menggunakan modifier kita dapat menentukan siapa saja yang boleh menggunakan atau mengakses member dari suatu objek. a.Class Modifier Bentuk penggunaan modifier pada class:
modifier class NamaClass{ … … }

Modifier (default) public final b.Method Modifier

Keterangan Class visible atau dapat digunakan hanya pada package yang sama Class visible terhadap semua package yang berbeda – beda Class tidak dapat diturunkan lagi / extends

Bentuk penggunaan method modifier:
modifier tipe-data namaMethod(parameter){ … … }

Berikut ini adalah daftar modifier yang dapat digunakan pada method. Modifier (default) public private protected static final abstract Keterangan Method visible atau dapat digunakan hanya pada package yang sama Method visible pada semua package Method visible hanya di dalam class itu sendiri Method visible didalam package dan sub classnya Lihat sub bab sebelumnya Method tidak dapat diubah / dioverride pada subclass (dibahas pada bab selanjutnya) Method harus dioverride / didefinisikan pada subclassnya (dibahas pada bab selanjutnya) 1.Statements Statements merupakan baris perintah atau kumpulan perintah. Setiap statements pada java selalu diakhiri dengan titik koma ( ; ). a.Statement Break Penggunaan break yang utama adalah untuk menghentikan proses perulangan di dalam while, do-while atau di dalam for. Perhatikan contoh program berikut ini:
class TestBreak{ public static void main(String[] args){ System.out.println(“Sebelum for”); for(int x=0;x<10;x++){ if(x==4) break; System.out.pritnln(“Nilai x : ”+x); } System.out.println(“Setelah For”); } }

b.Statement Continue Terkadang dalam mengeksekusi suatu kode dalam perulangan anda ingin terus melakukan perulangan, tetapi karena kondisi tertentu anda ingin kode setelah posisi tertentu tersebut tidak dieksekusi. Di sinilah kita dapat menggunakan continue. Perhatikan contoh berikut ini:
class TestContinue{ public static void main(String[] args){ int x=10; System.out.println(“Sebelum while”); while(x<=50){ x++; if(x%2==0) continue; System.out.println(“Nilai x : ”+x); } System.out.println(“Sesudah while”); } }

c.Statement Return Perintah dalam Java terakhir yang dapat dikategorikan sebagai jump adalah perintah return yang digunakan di dalam method. Method dipanggil oleh bagian lain dari program. Dengan menggunakan perintah return, alur eksekusi dikembalikan ke bagian program yang memanggil method tersebut.
public class Orang{ public String cetakNama(){ return Hello Nama Saya Hendro!”; } public statc void main(String[] args){ Orang org = new Orang(); System.out.println(“Sebelum panggil method”); System.out.println(org.cetakNama()); System.out.println(“Sesudah panggil method”); } }

1.Blocks Blocks digunakan untuk membentuk suatu grup statements. Blocks diawali dengan kurung kurawal buka ( { } dan kurung

kurawal tutup ( } ). Blocks dapat digunakan secara nested (blocks didalam blocks). 2.Classes Classes merupakan inti dari program Java. Suatu class merupakan “blueprint” untuk menciptakan suatu object. Dengan mendeklarasikan suatu class, maka kita telah mendeklarasikan suatu tipe data baru (tipe data referensi). Dengan menggunakan tipe data class ini, kita dapat menciptakan instance-nya yang merupakan objek sesungguhnya. Bentuk dasar class adalah sebagai berikut:
class NamaClass{ tipe-data namaVariabel1; …. …. tipe-data namaVariabelN; tipe-data namaMethod1(parameter){ //implementasi method1 } …. …. tipe-data namaMethodN(parameter){ //implementasi methodN }

} 3.Method Methods merupakan kumpulan statements yang berfungsi melakukan tugas tertentu di dalam program. Untuk aplikasi Java kecuali Applet harus mempunyai method main(). Bentuk umum pendeklarasian method adalah sebagai berikut:
tipe-data namaMethod(daftar-parameter){ //implementasi }

2.7.1.Aturan Penamaan (Naming Convention) 1.Penamaan Class Huruf pertama setiap kata harus huruf besar. Contoh: •HelloWorld •Employee

•BankAccount 1.Penaaam Method Huruf pertama setiap kata harus huruf besar, kecuali kata pertama. Contoh: •getEmployeeName() •setSpeedLimit() •accelerate() 1.Penaaam Field atau Variabel Huruf pertama setiap kata harus huruf besar, kecuali kata pertama. Contoh: •employeeName •employeeAccountNumber •address 1.Penamaan Konstanta / Constant Semua huruf harus huruf besar. Apabila lebih dari satu kata, gunakan underscore ( _ ) sebagai pemisah. Contoh: •PI •MIN_RATE •MAX_HEIGHT 2.7.1.Struktur Penulisan SourceCode Java 1.Array a.Array Satu Dimensi Array adalah sebuah set variabel yang diberi nama tertentu yang memiliki tipe data yang sama. Tiap variabel di dalam array disebut elemen, dimana tiap elemen memiliki indeks dengan tipe integer. Berikut ini contoh deklarasi array: •int[] nilaiSiswa; //cara ini lebih dianjurkan •int nilaiSiswa[]; •float[] jumlahPanen;

Array yang sudah dideklarasikan perlu didefinisikan, seperti contoh berikut: •nilaiSiswa = new int[50]; •jumlahPanen = new float[100]; Untuk memberikan nilai kepada sebuah elemen array caranya dengan menyebutkan nama array yang diikuti indeks dan nilai yang diberikan, seperti contoh berikut: •nilaiSiswa[0] = 8; •jumlahPanen[2] = 223.66; a.Array Multidimensi Cara pendeklarasian array multidimensi ini pada dasarnya sama dengan array satu dimensi di mana anda cukup menambahkan [] sesuai dengan dimensi yang anda inginkan. Contoh: •int[][] arr2; //array 2 dimensi •int[][][] arr3; //array 3 dimensi •int[][][][] arr4; //array 4 dimensi Untuk pengalokasian memori array multidimensi, memiliki sintaks yang sama dengan array satu dimensi. Contoh: •int[][] arr2 = new int[3][4]; 1.Pernyataan Kontrol a.Percabangan If Pernyataan if digunakan untuk menguji suatu kondisi kemudian mengerjakan pernyataan yang lain sesuai hasil pengujian. Bentuk pernyataan if adalah:
if(ekspresi) pernyataan;

Contoh:
if(angka % 2 != 0) ++angka; if(nilai<10) System.out.println (“kurang dari 10”);

if(nilai<51){ System.out.println(“Tidak lulus”); status=false; }

Untuk menambahkan pernyataan yang akan dijalankan jika kondisi uji salah, maka dapat ditambahkan klausa else, seperti contoh berikut:
if(nilai<51){ System.out.println(“Tidak lulus”); status=false; }else{ System.out.println(“Lulus”); status=true; }

Untuk melakukan pengujian lebih dari satu kali, dapat ditambahkan klause else if, seperti contoh berikut:
if(nilai<51){ System.out.println(“Tidak lulus”); status=false; }else if((nilai>51) && (nilai<71)){ System.out.println(“Lulus, status=cukup”); status=true; }else { System.out.println(“Lulus, status=memuaskan”); status=true; }

a.Percabangan Switch Pernyataan switch digunakan untuk menguji beberapa pilihan berdasarkan beberapa nilai tertentu. Ekspresi yang digunakan harus menghasilkan data dengan tipe char, byte, short dan int. Bentuk dari pernyataan switch adalah sebagai berikut:
switch(ekspresi){ case a: pernyataan; break; ..... default: pernyataan; break; }

Contoh:
switch(status){ case 1: gaji = 500000; break; case 2: gaji = 750000; break; default:] gaji = 300000; break; }

1.Struktur Perulangan a.Perulangan For Pernyataan for digunakan untuk melakukan perulangan dengan menentukan kondisi perulangan dan pernyataan increment. Bentuk pernyataan for adalah sebagai berikut:
for(inisialisasi ; kondisi; increment){ pernyataan1; pernyataan2; .... }

Contoh:
byte nilai=1; for (int i=0; i<8; i++){ nilai *= 2; }

a.Perulangan While Pernyataan while digunakan untuk melakukan perulangan dengan menentukan kondisi yang menyebabkan perulangan dihentikan. Bentuk pernyataan while adalah sebagai berikut:
while(ekspresi){ pernyataan1; pernyataan2; .... }

Contoh:
while (int i < 10){ nilai += 10; i++; }

a.Perulangan do-while Penggunaan do-while ini mirip dengan bentuk while di atas. Perbedaan utamanya hanyalah dua, yaitu: •Penyataan yang ingin dieksekusi harus diletakan di dalam blok kode, sekalipun hanya ingin mengeksekusi satu buah penyataan saja. •Pengecekan kondisi (true atau false) dilakukan pada bagian akhir sehingga pernyataan yang ada di dalam blok perulangan akan dieksekusi minimal satu kali, sekalipun eksekusi do-while pertama kali menemukan kondisi bernilai false. Penggunaan bentuk do-while mengikuti bentuk berikut ini:
do{ Pernyataan1; Pernyataan2; .... }while(kondisi);

2.1.Konsep Dasar NetBeans IDE 6.5 NetBeans mengacu pada dua hal, yakni platform untuk pengembangan aplikasi desktop java, dan sebuah Integrated Development Environment (IDE) yang dibangun menggunakan platform NetBeans. Platform NetBeans memungkinkan aplikasi dibangun dari sekumpulan komponen perangkat lunak moduler yang disebut ‘modul’. Sebuah modul adalah suatu arsip Java (Java archive) yang memuat kelas-kelas Java untuk berinetraksi dengan NetBeans Open API dan file manifestasi yang mengidentifikasinya sebagai modul. Aplikasi yang dibangun dengan modulmodul dapat dikembangkan dengan menambahkan modul-modul baru. Karena modul dapat dikembangkan secara independen, aplikasi berbasis platform NetBeans dapat dengan mudah dikembangkan oleh pihak ketiga secara mudah dan powerful.

2.7.1.Akses Data Untuk melakukan akes data, Java menyediakan banyak cara. Cara yang sering dipakai adalah koneksi dengan jdbc. Akan tetapi, untuk mempermudah dan mempersingkat proses manipulasi data, banyak kalangan yang mengembanngkan framework diantaranya : 1.Hibernate Framework Hibernate merupakan framework Object Relational Mapping, dimana dengan framework ini kita bisa lebih mudah melakukan proses Persistence. 2.Spring Framework Framework ini memperkenalkan konsep IoC (Injection of Controll) dan dikenal dengan nama Dependency Injection. selain itu Spring juga terus berkembang. Spring dapat dikatakan sebsagai Framework Enterprise, karena bisa ditempatkan dimana saja dan dapat diintegrasikan dengan berbagai framework seperti Hibernate 3.Apache Lucene Lucene ini merupakan framework untuk information retrieval, dimana dengan lucene ini, untuk membangun sistem yang support IR, akan lebih mudah. Hampir sama seperti melakukan proses save ke database. 4.Apache ActiveMQ Activemq merupakan implementasi dari JMS. Activemq sangat bagus jika kita membangun aplikasi yang membuatuhkan fasilitas JMS. namun jika kita menggunakan Enterprise Server seperti GlassFish, JBoss, Geronimo, Websphere. ActiveMQ jadi tidak perlu digunakan. Akan tetapi, jika kita akan membangun sebuah sistem yang perlu JMS tanpa menggunakan Enterprise Server, ActiveMQ wajib dipakai.

2.7.1.NetBeans

IDE

6.5 sebagai

IDE

(Integrated

Development

Environment) Java yang handal Untuk mempermudah pengembangan aplikasi berbasis Java, sangat dibutuhkan IDE yang handal. Java mempunyai banyak IDE yang dapat kita pergunakan untuk membantu mempermudah dan mempercepat pengembangan program aplikasi. Beberapa IDE Java yang terkenal diantaranya Kawa Pro, SyncJedit, JBuilder, Eclipse dan lain sebagainya. Dalam penulisan skripsi ini, untuk menunjang perancangan dan pembangunan aplikasinya, penulis memanfaatkan NetBeans IDE 6.5. Beberapa alasan penulis adalah kelengkapan NetBeans IDE 6.5 untuk membangun sebuah aplikasi, karena telah dilengkapi : 1.Matisse GUI builder memungkinkan pengembangan aplikasi java desktop menggunakan vusial GUI designer. Matisse memanfaatkan Group layout yang dikembangkan oleh swing engineer untuk menjadi fondasi layouting bagi aplikasi Swing. Dengan adanya Matisse kita bisa mengucapkan selamat tinggal cara lama membuat aplikasi swing, yaitu dengan mengetik satusatu proses layouting dan pembuatan komponen GUI. Matisse memotong nyaris 90% waktu yang digunakan untuk membuat layout aplikasi swing di masa lalu. 2.Netbeans Mobility Pack bersama Matisse GUI builder adalah mahkota netbeans, dua module ini menjadi feature yang banyak dicari user dan tidak ada IDE lainya yang mempunyai feature sebagus ini. Development Java ME menggunakan Mobility Pack sangat mudah dan menyenangkan, Netbeans menyediakan komponen yang dapat ditambahkan dengan mudah. Flow Editor memudahkan user untuk merancang "aliran" aplikasi Java ME secara visual, hanya perlu operasi drag-n-drop sederhana untuk merancang "aliran" aplikasi Java ME.

3.UML Designer merupakan bagian dari Netbeans Enterprise Pack untuk memudahkan desain aplikasi berbasis OOP. Cukup dengan membuat design UMLnya kita bisa mengenerate class java secara otomatis. Proses ini mengurangi waktu yang diperlukan untuk mendesign API dari aplikasi yang akan kita kembangkan. UML designer juga memungkinkan adanya proses reverse engineering dari kode yang sudah dibuat untuk menghasilkan UML Class Diagram 4.Netbeans Visual Web Pack memungkinkan pengembangan aplikasi berbasis Java EE 5 dengan ditambah fungsionalitas dari JSFAJAX. Pack ini memungkinkan kita mendevelop aplikasi web secara visual menggunakan operasi drag-n-drop. Banyak sekali komponen JSF yang sudah dilengkapi dengan kemampuan AJAX siap digunakan hanya dengan melakukan drag-n-drop, sederhana. 5.Feature databinding memungkinkan kita mengambil komponen table dari database dan meletakkan kedalam komponen JSF, abrakadabra, secara otomatis table tersebut dibind dengan komponen JSF tersebut. Tidak hanya table, kita juga bisa mendefinisikan query yang melakukan join untuk kemudian di-bind dengan komponen JSF secara otomatis. Query yang dibuat pun dapat digenerate dari feature visual query editor. Visual Web Pack juga mempunyai editor CSS yang canggih yang memungkinkan kita membuat CSS file untuk mendekorasi komponen JSF. AJAX komponen juga tersedia dalam pack ini, kita bisa menggunakan AJAX komponen untuk membuat aplikasi menjadi jauh lebih interaktif mengikuti paradigma Web 2.0. 6.Netbeans Profiler sudah tersedia semenjak versi 4.1, kita dapat memonitor penggunaan CPU maupun penggunaan memory menggunakan netbeans profiler. Dalam versi 5.5, netbeans profiler dilengkapi dengan kemampuan melakukan profiling terhadap aplikasi Java EE, tidak hanya Java SE. Tidak seperti profiler lain,

kita bisa mendefinisikan bagian mana saja yang akan diperiksa, sehingga Netbeans profiler dapat melakukan pekerjaanya secara efisien dan tepat sasaran. Dengan Netbeans Profiler kita dapat : Memonitor aplikasi, menganalisis performance, menganalisis sebagian kode program, penggunaan memori dan custom profiling. 7.Sun Web Development Pack digunakan untuk mengembangkan aplikasi berbasis AJAX, web service dan beberapa feature lain yang mendukung paradigma Web 2.0. Pack ini masih dalam pengembangan dan dalam masa uji coba (beta) dan memerlukan banyak feedback dari user. Walau belum masuk dalam jajaran Netbeans Pack, tetapi fasilitasnya sudah cukup banyak dan dapat berjalan sempurna di netbeans 5.5. Didalamnya terdapat beberapa sub module antara lain : jMaki, RESTfull Webservice dan Rome project. jMaki membundle banyak sekali komponen AJAX yang keren abis, seperti FishEye, yahoo map, google map dan lain sebagainya. RESTful web service merupakan arsitektur web service yang bersifat statless, sifat ini memungkinkan dihematnya bandwith selama proses komunikasi antara client dan server. 2.7.1.Komponen untuk Membangun Aplikasi Berbasis Desktop pada NetBeans IDE 6.5 NetBeans IDE 6.5 menyediakan komponen-komponen yang dapat kita pergunakan untuk membangun aplikasi berbasis desktop. Dengan Mattise GUI Builder kita dapat dengan mudah membangun aplikasi berbasis desktop dengan NetBeans 6.5. Beberapa komponen yang sering kita pakai diantaranya : 1.Project NetBeans IDE 6.5 membuldel project menjadi susunan yang teratur pada hierarki direktori standar Java. Sehingga class-class yang ada akan diletakkan pada folder-folter yang telah ditentukan.

Gambar 2.8. Mattise GUI Builder NetBeans IDE 6.5 2.Component Pallete Component Pallete merupakan untuk pallate yang menyediakan dengan komponen-komponen membangun aplikasi

NetBeans. Masing-masing mempunyai fungsi yang berbeda.

Gambar 2.9. Component Pallete 3.Event Event adalah peristiwa atau kejadian yang diterima oleh suatu object, misalnya klik, drag, drop, dan lain-lain. Event yang diterima obyek akan memicu NetBeans IDE 6.5 untuk memeriksa keberadaan kode program yang didefinisikan dalam event tersebut untuk segera dijalankan.

4.Kode Program (Source Code) Kode program adalah serangkaian tulisan perintah yang akan dilaksanakan jika suatu object dijalankan. Kode program ini akan mengontrol dan menentukan jalannya suatu object. Dalam jendela code inilah setiap source code untuk aplikasi program dalam NetBeans IDE 6.5 ditulis. Semakin banyak diperlukan pengembangan aplikasi, maka akan semakin banyak kode yang harus ditulis untuk mengingat segala sesuatunya bersama-sama.

Gambar 2.10. Jendela Source Editor NetBeans IDE 6.5 5.Method Metode adalah suatu set perintah halnya prosedur dan fungsi, tetapi sudah tersedia di dalam suatu object. Metode biasanya akan mengerjakan suatu tugas khusus pada suatu object. Contoh :
public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { FrameSiswa framesiswa = new FrameSiswa(); framesiswa.setVisible(true); framesiswa.setLocationRelativeTo(null); } }); }

6.Properties Properties digunakan untuk menentukan setting suatu komponen. Satu komponen biasanya memiliki beberapa properties yang dapat diatur langsung dari jendela properties atau lewat kode program. Bentuk property akan menentukan cara kerja komponen yang berhubungan pada saat program tersebut dijalankan. Jendela properties menguraikan setiap elemen individual pada aplikasi yang dibuat.

Gambar 2.11. Properties Components NetBeans IDE 6.5 2.1.Konsep Dasar IReport Ireport merupakan produk OpenSource dari JasperReport. IReport juga dapat diintegrasikan langsung pada NetBeans IDE. Hal ini menjadikan IReport lebih mudah untuk digunakan dan lebih praktis. IReport juga telah banyak mendukung berbagai macam koneksi database dari bahasa pemrograman Java. Dukungan IReport diantaranya apda koneksi dengan jdbc, Netbeans JDBC Connection, XML File DataSource, JavaBeans Set DataSource, File CSV DataSource,

JRDataSource Provider, Custom JRDataSource, Empty DataSource, Hibernate Connection, Spring Loaded Hibernate Connection, EJBQL Connection, XMLA Server, Mondrian OLAP Connection, Query Execute Mode. Selain itu IReport juga dapat mengekspor laporan ke dalam bentuk file pdf, xls, dan lain sebagainya, sehingga hal ini menambah popularitas IReport.

Gambar 2.12. IReport pada NetBeans IDE 6.5 2.2.Konsep Dasar Database MySQL 2.10.1.Pengertian Structured Query Language (SQL) Structured Query Language disingkat SQL adalah bahasa standar yang digunakan dalam database management system (DBMS) untuk berkomunikasi dengan basis data atau database, yang meliputi perintah-perintah untuk mengganti isi atau memodifikasi struktur database, mengganti setting dan membuat sistem security

data, memberi dan menentukan wewenang user pada database atau tabel, mentransfer data dari satu database ke database lain, menangani proses transaksi dalam suatu aplikasi (Kok Yung, 2003). Database itu sendiri dapat dianggap sebagai suatu penyusunan data agar dapat diakses dengan mudah dan cepat, yang disimpan secara terstruktur dalam suatu media pengingat yang sering disebut dengan harddisk. Database merupakan sekumpulan data yang terdiri atas satu atau lebih tabel yang terintegrasi satu sama lain dan disimpan dengan beberapa cara pengorganisasian, dimana setiap pemakai (user) diberi wewenang (otorisasi) untuk dapat mengakses (mengubah, mengubah, menganalisis, menambah, serta memperbaiki) data dalam tabel-tabel tersebut (Kok Yung, 2003). Database Management System (DBMS) dapat melakukan pekerjaan untuk menambah, menghapus, memanipulasi serta memperoleh data atau informasi berdasar perintah SQL yang diberikan melalui sebuah aplikasi yang berupa program develop menggunakan Visual Studio, .NET, Java, Phyton, Borland dan bahasa program lainnya. Jika ingin mendapatkan suatu informasi, maka perintah SQL tersebut diketikkan pada aplikasi database. Perintah-perintah tersebut akan diteruskan ke DBMS untuk diproses. Pada saat DBMS melakukan tugasnya, DBMS tersebut akan mengambil atau memanipulasi data-data dalam database sesuai perintah SQL yang diterimanya, dan kemudian memberikan atau mengembalikan data yang telah diproses. 2.10.2.Sejarah Structured Query Language (SQL) Pertengahan tahun 1970-an, vendor database berlombalomba mengimplementasikan database relational yang berbasiskan model relational. IBM sendiri tengah mengembangkan produk relasionalnya yang bernama System/R, untuk bahasa querynya IBM menciptakan SEQUEL. Ciri-ciri bahasa ini adalah mirip bahasa

Inggris, deklaratif, dan high level yang mirip dengan bahasa pemrograman COBOL. Ternyata System/R tidak sukses di pasaran, sehingga IBM pada tahun 1979 menciptakan produk database relasional yang lain yaitu DB/2. Namun bahasa SEQUEL ternyata diminati oleh vendor lain seperti Oracle dan Ingres yang akhirnya diubah menjadi SQL oleh IBM. Awal tahun 1980-an sudah ada produk database yang menggunakan SQL. Badan standar Amerika, ANSI akhirnya mengadopsi SQL menjadi standar tahun 1986. Satu tahun kemudian ISO mengangkat SQL sebagai bahasa standar. Standar pertama ini sering disebut SQL-86 atau SQL-87. Standar berikutnya adalah SQL-89 yang merupakan versi minor dari SQL-87. dokumen standar SQL-89 (belum schema, full outer join, dan cascade update/delete untuk foreign key constraint. SQL-92 merupakan generasi kedua standar SQL dan sering disebut SQL2, penambahannya antara lain : information schema, berbagai tipe join, union di view, tipe-tipe data tanggal, domain, ALTER TABLE, CASE. SQL-1999 merupakan generasi ketiga standar SQL dan dijuluki SQL3, penambahan fiturnya antara lain tabel inheritance, tipe data komposit (array, row) dan tipe data referensi (pointer), recursive query, regex, trigger, tipe data Boolean dan savepoint. SQL:2003 merupakan standar SQL yang berkaitan dengan XML. 2.10.3.MySQL sebagai bahasa Structured Query Language (SQL) MySQL merupakan salah satu database relasional yang mendukung pemakaian Structured Query Language (SQL) dan dirancang untuk penggunaan aplikasi dengan arsitektur client-server, yang memungkinkan pengguna untuk mengolah data didalam database tersentral pada komputer pusat yang disebut dengan server. Sedangkan informasi yang dihasilkan dapat digunakan bersama-

sama oleh beberapa user didalam komputer lokalnya yang disebut client. (Ridwan Sanjaya dan Yoni Eza Ikhmawan, 2003). Pada awalnya MySQL dioperasikan hanya pada satu platform saja. Namun seiring perkembangan teknologi, maka MySQL dapat dioperasikan ke dalam berbagai platform seperti Windows, Linux dan Free BSD. Kecepatan akses MySQL kemampuannya MySQL Indonesia, untuk dapat lain integrasi dengan atau ke dalam berbagai didownload terdekat pemrograman yang menjadikannya standar dalam pemrograman. bebas melalui dengan dan http://www.mysql.com antara http://mysql.ntcu.edu.tw melalui server (Taiwan), dan bahasa

http://mysql.hjc.edu.sg

(Singapura),

http://mirror.aarnet.edu.au/mysql (Australia). Pada platform sistem operasi Linux, MySQL merupakan paket aplikasi database yang sangat populer dan hampir setiap distro Linux telah membundlenya. Untuk masing-masing distro telah memaketkan sesuai jenis distronya, misalkan debiat / ubuntu (*.deb), Mandriva, OpenSuse (*rpm) dan lain sebagainya. Untuk mempermudah pengaturan juga telah disediakan MySQL Admin dalam versi GUI, sehingga kita tidak perlu report harus menghafalkan sintax-sintax SQL.

Gambar 2.13. MySQL Administrator

Sedangkan untuk dapat mencoba mengoperasikan perintahperintah SQL dapat menggunakan MySQL Monitor.

Gambar 2.14. MySQL Monitor 2.10.4.Tipe Data MySQL MySQL menyediakan beberapa tipe data seperti integer, long, single, double, currency, string, byte, Boolean, date, object, variant. Adapun jenis tipe data MySQL antara lain: Tabel 2.2. Tabel Tipe Data MySQL Type tinyint smallint mediumint int, integer bigint Range Ukuran terkecil dari integer. Signed range : -128 s.d 127 Unsigned range : 0 s.d 255 Ukuran kecil dari integer. Signed range : -32768 s.d 32767 Unsigned range : 0 s.d 65535 Ukuran menengah dari integer Signed range : -8388608 s.d 8388607 Unsigned range : 0 s.d 16777215 Integer Signed range : -2147483648 s.d 2147483647 Unsigned range : 0 s.d 4294967295 Ukuran terbesar dari integer Signed range : -9223372036854775808 s.d 9223372036854775808 Unsigned range : 0 s.d 18446744073709551615 Presisi tunggal Range : -3.402823466E+38 s.d -1.175494351E-38, 0, 1.175494351E-38 s.d 3.402823466E+38

float

Type double, double precision, real decimal, numeric Date datetime

Range Presisi ganda Range : -7976931348623157E+308 s.d -2.2250738585072014E-308, 0, dan 2.2250738585072014E-308 s.d 1.7976931348623157E+308 Pecahan dengan range seperti tipe data DOUBLE Tanggal Format : 'YYYY-MM-DD' Kombinasi tanggal dan jam Range : '1000-01-01 00:00:00' s.d ‘9999-12-31 23:59:59' Format : 'YYYY-MM-DD HH:MM:SS' Kombinasi tanggal dan jam yang berisi waktu saat tabel diakses. Range : '1970-01-01 00:00:00' s.d Tahun 2037 Format : YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD, atau YYMMDD Jam Range : '-838:59:59' s.d '838:59:59' Format : 'HH:MM:SS' Tahun Range : 1901 s.d 2155 (4 digit), 1970-2069 (2 digit) Format : 'YYYY' Karakter dengan panjang tetap sesuai saat pembuatan tabel dengan karakter spasi dihilangkan pada saat penyimpanan Range : 1 s.d 255 characters Karakter dengan panjang tetap sesuai saat pembuatan tabel namun karakter spasi tidak dihilangkan pada saat penyimpanan Range : 1 s.d 255 characters. Karakter dengan panjang sesuai saat panjang karakter ditulis, dengan karakter spasi dihilangkan pada saat penyimpanan. Range : 1 s.d 255 characters. TEXT/BLOB dengan panjang maksimal 255 karakter 65535

timestamp

Time Year

Char

nchar, national char varchar

tinyblob, tinytext mediumblob, mediumtext

Type longblob, longtext enum ('value1', 'value2', …) set ('value1', 'value2', …) 16777215

Range

Obyek string yang hanya boleh diisi dari daftar pilihan value yang diberikan, NULL, atau error value Maksimum value : 65535 Obyek string yang hanya boleh diisi dari daftar pilihan value yang diberikan, NULL, atau error value Maksimum value : 64

Sumber : Ridwan Sanjaya dan Yoni Eza Ikhmawan, 2003 2.10.5.Bahasa SQL Dalam SQL terdapat tiga subbahasa, yaitu Data Definition Language (DLL) yang digunakan untuk membangun objek-objek dalam database, seperti tabel dan indeks; Data Manipulation Language (DML) yang digunakan untuk menambah, mencari, mengubah dan menghapus baris dalam tabel; dan Data Control Language (DCL) yang digunakan untuk menangani masalah sekuriti dalam database. Ketiga komponen ini dapat diakses setelah database dibuka atau dipanggil. (Ridwan Sanjaya dan Yoni Eza Ikhmawan, 2003). Hal yang perlu diperhatikan dalam pembuatan database adalah penulisan nama database tidak diperbolehkan menggunakan spasi dan karakter non standar. Bentuk penulisan perintah untuk membuat database baru adalah : Create database nama_databases; Untuk membuat database latihan: create database latihan; Sedangkan untuk melihat keseluruhan database dapat digunakan perintah : shows databases; Untuk memanggil atau menggunakan database digunakan

perintah: use nama_database; Untuk menggunakan database latihan: use latihan; Untuk menghapus database digunakan perintah: drop database nama_database; Untuk menghapus database latihan: drop database latihan; 1.Sintak Data Definition Language (DLL) Sintak Data Definition Language terdiri atas create, alter, dan drop. DDL bertugas untuk membuat objek SQL dan menyimpan definisinya dalam tabel. Contoh obyek yang dimaksud adalah tabel, view, dan index. Pembuatan tabel, serta perintah untuk menghapus tabel, dilakukan dengan subbahasa yang tergolong dalam DDL. a.Membuat Tabel Struktur penulisan: create table type, …); nama_table (nama_field

Sintaks membuat tabel produk : create table produk varchar(25), harga bigint); b.Mengganti nama tabel Struktur penulisan: alter table nama_table_lama nama_table_baru; rename (nama

Sintaks mengganti tabel produk menjadi tabel barang: alter table produk rename barang; c.Menghapus tabel Struktur penulisan:

drop table nama_table; Sintaks menghapus tabel barang: drop table barang; 1.Sintak Data Manipulation Language (DML) Data Manipulation Language (DML) terdiri dari select, update, insert, dan delete. a.Memasukkan data (insert) Ada dua perintah yang dapat digunakan untuk memasukkan data ke dalam tabel: insert into (isi_field1, isi_fieldn); Contoh: insert into 45000); barang values (‘Buku’, nama_table isi_field2, values ...,

Jenis perintah yang kedua: insert into nama_table (nama_field1, nama_field2, ..., nama_fieldn) values (isi_field1, isi_field2, ..., isi_fieldn);

Contoh: insert into barang (nama, values (‘Buku’, 45000); b.Menampilkan data (select) Perintah select digunakan untuk menampilkan data. Perintah ini hampir 90% digunakan dalam pemakaian database MySQL untuk menampilkan informasi berdasarkan kriteria dan urutan tertentu. Struktur penulisan select [fields] from [nama_tabel] where [kondisi] order by [nama_field] harga)

group by [nama_field] asc|desc limit [batasan]; Setelah penulisan select, [fields] dapat diganti dengan menyebutkan satu nama field saja atau beberapa field sekaligus yang dipisah dengan tanda koma (,), penulisan field-field tersebut digunakan untuk memunculkan data dari kolom mana saja yang akan ditampilkan. Jika seluruh kolom akan ditampilkan, dapat menggunakan tanda asterik (*) untuk mewakilinya. Kemudian perintah dilanjutkan dengan penulisan from [nama_tabel], yang dimaksudkan untuk menyebutkan nama tabel yang akan digunakan sebagai sumber untuk menampilkan sebelumnya. Contoh penulisan: select * from produk; select nama, harga from produk; Sedangkan pada baris where [kondisi], dituliskan kriteria apa saja yang disyaratkan untuk menampilkan data. Contoh : untuk menampilkan produk pasta gigi: select * from ‘Pasta Gigi’; produk where nama = kolom-kolom yang telah disebutkan

Klausa order by digunakan untuk mengurutkan hasil. Untuk mengurutkan berdasarkan urutan terkecil ke besar dapat menggunakan asc (ascending), sedangkan untuk mengurutkan data yang terbesar ke yang kecil digunakan desc (descending). Contoh : select * from produk order by nama desc;

c.Mengubah data (Update) Digunakan untuk proses update (memperbaharui data) agar sesuai dengan kondisi yang diinginkan. Struktur penulisan: update nama_tabel nama_field1=isi_baru1, nama_field2=isi_baru2, . nama_fieldn=isi_barun where kriteria; set . .,

Contoh untuk mengubah nama produk pasta gigi menjadi odol: update produk set nama=”Odol” where nama=”Pasta gigi”; d.Menghapus data (Delete) Digunakan untuk menghapus data apabila terdapat kesalahan data atau data sudah tidak dipakai lagi. Struktur penulisan: delete from kriteria; nama_tabel where

Contoh untuk menghapus nama produk pasta gigi: delete from produk where nama=”Pasta gigi”; 1.Sintaks Data Control Language (DCL) Data Control Language (DCL) merupakan alat kontrol keamanan terhadap database dan tabelnya yang terdiri dari dua yaitu grant dan revoke. Yang berhak pemberian perintah ini adalah adalah user yang mempunyai hak sebagai admin (root). a.Grant Grant digunakan untuk mengizinkan user mengakses table dalam database tertentu.

Struktur penulisan: grant [privileges] on nama_tabel | nama_database.namatabel] to [nama_user]; Privileges dapat diisi dengan all privileges, jika hak akses terhadap database atau tabel tertentu diberikan semuanya. Jika hanya diberikan untuk satu tabel tertentu atau beberapa saja, dapat memilih diantara privileges alter, create, delete, drop, file, reload, index, insert, process, references, reload, select, shutdown, update, dan usage. Contoh penggunaan grant untuk mengizinkan user

“farazinux” mengakses semua isi (disimbolkan dengan asterik atau *) yang ada pada database latihan. grant all priveleges on latihan.* to farazinux@localhost; flush privileges; b.Revoke Kebalikan dari Grant, Revoke digunakan untuk mencabut kembali izin yang sudah diberikan sebelumnya oleh grant. Struktur penulisan: revoke [privileges] on [nama_tabel | nama_database.namatabel] to [nama_user]; Contoh penggunaan revoke untuk mencabut user “farazinux” dari hak delete pada semua database latihan revoke delete on latihan.* to farazinux@localhost; flush privileges;

Sign up to vote on this title
UsefulNot useful