BAB II LANDASAN TEORI 2.1 Sistem Informasi Dalam landasan teori tentang sistem informasi akan menguraikan tentang sejarah sistem informasi, pengertian sistem informasi, dan unsur – unsur dalam pembuatan sistem informasi atau aplikasi dekstop yang di rancang (seperti penyimpanan data (database), bahasa program (scripts program), desain sistem informasi (graphical user interface), laporan transaksi (report), dan publikasi sistem informasi (compile), berikut penjelasanya. 2.1.1 Sejarah Sistem Informasi Selama tahun 1980-an dan awal tahun 1990-an, perusahaan raksasa multinasional banyak menyelesaikan pembangunan sistem informasi global mereka (GIS/ Global Information System), tetapi masih terdapat beberapa hal lain yang masih harus diselesaikan dalam rangka menyempurnakan sistem pengelolaan informasi berbasis komputer yang mendunia ini. Pada tahun 2000-an, kurang lebih 2070 perusahaan multinasional akan didorong untuk memperbaiki aplikasi sistem informasi dan bentukan arsitektur sistem ini. Sistem yang mulanya dirancang untuk mendukung operasi yang tersentralisasi ataupun tidak tersentralisasi akan ditingkatkan untuk memampukan perusahaan induk dan cabangnya beroperasi sebagai sebuah koordinat suatu sistem yang terintegrasi. Adapun hal yan perlu ditingkatkan dan diintegrasikan secara utuh dalam pematangan sistem informasi dunia adalah peranan sistem informasi berbasis komputer (Computer Based Information System/ CBIS). (Wikipedia, 2016) 2.1.2 Pengertian Sistem Informasi Sistem Informasi adalah aplikasi komputer untuk mendukung operasi dari suatu organisasi yaitu: operasi, instalasi, dan perawatan komputer, perangkat lunak, dan data. Sistem Informasi Manajemen adalah kunci dari bidang yang menekankan 10 11 finansial dan personal manajemen. 'Sistem Informasi' dapat berupa gabungan dari beberapa elemen teknologi berbasis komputer yang saling berinteraksi dan bekerja sama berdasarkan suatu prosedur kerja (aturan kerja) yang telah ditetapkan, dimana memproses dan mengolah data menjadi suatu bentuk informasi yang dapat digunakan dalam mendukung keputusan. (Wikipedia, 2016) 2.1.3 Unsur-Unsur Sistem Informasi Unsur-unsur sistem informasi menurut Cushing (diterjemahkan oleh Ruhiyat Kosasih, 1983) terdiri dari 6 blok yang disebut information system building block yaitu : 1. Blok masukan (Input Block) Input merupakan data yang dimasukan ke dalam sistem informasi. Masalah input mencakup metode-metode dan media untuk menangkap data yang akan dimasukkan ke sistem. 2. Blok Model Proses (Process Block) Blok ini terdiri dari kombinasi prosedur, logika dan model matematik yang akan memanipulasi data. Data tersebut disimpan di bank data dengan cara tertentu untuk menghasilkan suatu keluaran yang diinginkan. 3. Blok Keluaran (Output Block) Hasil dari sistem informasi adalah keluaran atau output yang merupakan informasi yang berkualitas atau laporan-laporan yang berguna untuk tingkat manajemen dan semua pemakai informasi. 4. Blok Teknologi (Technology Block) Teknologi merupakan "kotak alat" (tool-box) di dalam sistem informasi. Teknologi berguna untuk menerima input, menjalankan model, menyimpan dan mengakses data menghasilkan dan mengirimkan keluaran (output) dan membantu pengendalian dari sistem secara keseluruhan. 12 5. Blok Basis Data (Database Block) Kumpulan dari data yang terkait ata berhubungan secara terpadu satu sama lain, tersimpan diperangkat keras komputer dan digunakan perangkat lunak untuk memanipulasinya ini merupakan basis data. Data yang ada dalam basis data perlu disimpan untuk keperluan penyediaan informasi lebih lanjut. Data di dalam basis data perlu diorganisasikan, supaya menghasilkan informasi yang berkualitas. Organisasi basis data yang juga berguna untuk efisiensi kapasitas penyimpanannya. Basis data diakses atau dimanipulasi/diolah dengan menggunakan perangkat lunak paket yang disebut DBMS (Database Management Systems) 6. Blok Kendali (Control Block) Pengendalian-pengendalian perlu diterapkan di dalam sistem supaya sistem informasi dapat berjalan sesuai dengan yang seharusnya. Banyak hal yang dapat merusak sistem informasi, seperti misalnya terjadi salah proses, salah formula, data input yang dimasukkan salah atau disalahgunakan, sistem yang belum sudah dijalankan, sistem tidak sesuai kebutuhan, terjadinya kecurangan-kecurangan, kegagalankegagalan sistem itu sendiri, kesalahan-kesalahan, ketidakefisienan, sabotase, bencana alam, kebakaran/api, air, temperatur dan sebagainya. Agar resiko yang dapat merusak sistem dapat dicegah atau bila terlanjur terjadi dapat segera diatasi, perlu dirancang dan diterapkan beberapa pengendalian intern untuk menyakinkan bahwa segala sesuatunya sudah berjalan seperti yang seharusnya. 2.1.4 Komponen Sistem Informasi Sedangkan menurut Leitch dan Davis (1992, p8-10), komponen sistem informasi terdiri dari: 1. Business Operations Dalam suatu organisasi terdapat beberapa aktivitas seperti perekrutan karyawan, pembelian barang persediaan dan penerimaan kas dari konsumen. Input sistem informasi akuntansi disiapkan oleh bagian 13 operasional dan outputnya digunakan untuk mengatur kegiatan operasional 2. Transaction Processing Transaksi yang dilakukan perusahaan lazimnya ialah penjualan, produksi (bila perusahaan industri) dan pembelian. Para penyusun sistem informasi harus paham apa dan bagaimana transaksi-transaksi itu diproses. 3. Management Decision Making Pada umumnya informasi digunakan untuk bahan pengambilan keputusan berdasarkan pertimbangan-pertimbangan pihak manajemen, oleh karena itu informasi menentukan proses pengambilan keputusan. 4. Reporting Dalam menyusun laporan berdasarkan sistem informasi, penyusun sistem harus mengetahui output apa yang dibutuhkan/diinginkan 5. System Development and Operation Sistem informasi harus dirancang, diimplementasikan dan dioperasikan secara efektif. Idealnya user terlibat penuh dalam implementasinya. 6. Database Untuk memperoleh database yang baik, perlu dipahami sungguhsungguh proses pengumpulan dan penyimpanan data, dan jenisdatabase software. 7. Technology Kemampuan dalam perencanaan dan pengelolaan operasi bisnis tergantung dari pengetahuan teknologi untuk melengkapi pengetahuan mengeai sistem informasi akuntansi. Pada waktu ini dukungan teknologi komputerisasi dan komunikasi sudah pada tingkat yang sedemikian rupa sehingga prosedur operasional yang lazim dikenal secara tradisional sudah berubah secara total, misalnya mengenai otorisasi, pembagian tugas, hubungan antar organisasi secara elektronis (e-business), dan aspek-aspek keamanan (karena dengan menggunakan internet berarti kita makin terbuka terhadap akses publik). 14 8. Controls Dalam menyusun sistem pengendalian intern harus dipertimbangkan tingkat kompleksitas sistem informasi serta perkembangan teknologi. 9. Interpersonal/Communication Skill Untuk mempresentasikan hasil kerja secara efektif, system designer harus memiliki kemampuan komunikasi yang baik secara lisan maupun tulisan. 10. Accounting and Auditing Principles Untuk menyusun dan mengoperasikan sistem informasi akuntansi, seorang akuntan harus mengetahui prosedur akuntansi dan memahami audit terhadap sistem informasi. 2.1.5 Elemen Sistem Informasi Sistem informasi terdiri dari elemen-elemen yang terdiri dari orang, prosedur, perangkat keras, perangkat lunak, basis data, jaringan komputer dan komunikasi data. Semua elemen ini merupakan komponen fisik. 1. Orang Orang atau personil yang dimaksudkan yaitu operator komputer, analis sistem, programmer, personil data entry, dan manajer sistem informasi/EDP. 2. Prosedur Prosedur merupakan elemen fisik. Hal ini di sebabkan karena prosedur disediakan dalam bentuk fisik seperti buku panduan dan instruksi. Ada 3 jenis prosedur yang dibutuhkan, yaitu instruksi untuk pemakai, instruksi untuk penyiapan masukan, instruksi pengoperasian untuk karyawan pusat komputer. 3. Perangkat keras Perangkat keras bagi suatu sistem informasi terdiri atas komputer (pusat pengolah, unit masukan/keluaran), peralatan penyiapan data, dan terminal masukan/keluaran. 4. Perangkat lunak Perangkat lunak dapat dibagi dalam 3 jenis utama : a. Sistem perangkat lunak umum, seperti sistem pengoperasian dan sistem manajemen data yang memungkinkan pengoperasian sistem komputer. 15 b. Aplikasi perangkat lunak umum, seperti model analisis dan keputusan. c. Aplikasi perangkat lunak yang terdiri atas program yang secara spesifik dibuat untuk setiap aplikasi. 5. Basis data File yang berisi program dan data dibuktikan dengan adanya media penyimpanan secara fisik seperti disket, harddisk, magnetic tape, dan sebagainya. File juga meliputi keluaran tercetak dan catatan lain diatas kertas, mikro film, dan lain sebagainya. 6. Jaringan komputer Jaringan komputer adalah sebuah kumpulan komputer, printer dan peralatan lainnya yang terhubung dalam satu kesatuan. Informasi dan data bergerak melalui kabel-kabel atau tanpa kabel sehingga memungkinkan pengguna jaringan komputer dapat saling bertukar dokumen dan data. 7. Komunikasi data Komunikasi data adalah merupakan bagian dari telekomunikasi yang secara khusus berkenaan dengan transmisi atau pemindahan data dan informasi diantara komputer komputer dan piranti-piranti yang lain dalam bentuk digital yang dikirimkan melalui media komunikasi data. Data berarti informasi yang disajikan oleh isyarat digital. Komunikasi data merupakan bagian vital dari suatu sistem informasi karena sistem ini menyediakan infrastruktur yang memungkinkan komputer-komputer dapat berkomunikasi satu sama lain. 2.1.6 Klasifikasi Sistem Informasi Sistem informasi merupakan suatu bentuk integrasi antara satu komponen dengan komponen lain karena sistem memiliki sasaran yang berbeda untuk setiap kasus yang terjadi yang ada di dalam sistem tersebut. Oleh karena itu, sistem dapat diklasifikasikan dari beberapa sudut pandang, diantaranya: a. Sistem abstrak atau sistem fisik Sistem abstrak adalah sistem yang berupa pemikiran atau ide ide yang tidak tampak secara fisik, misalnya sistem teologia, yaitu sistem yang berupa pemikiran hubungan antara 16 manusia dengan Tuhan. Sistem fisik merupakan sistem secara fisik, misalnya sistem komputer. b. Sistem alamiah dan sistem buatan manusia Sistem alamiah adalah sistem yang terjadi melalui proses alam, tidak dibuat oleh manusia, misalnya sistem perputaran bumi. Sistem buatan manusia merupakan sistem yang melibatkan interaksi manusia dengan mesin, yang disebut human machine system. Sistem informasi berbasis internet merupakan contoh human machine system karena menyangkut penggunaan komputer yang berinteraksi dengan manusia. c. Sistem deterministik dan sistem probabilistik Sistem deterministik adalah sistem yang beroperasi dengan tingkah laku yang dapat diprediksi. Sistem probabilistik dalah sistem yang kondisi masa depannya tidak dapat diprediksi karena mengandung unsur probabilistik. d. Sistem terbuka dan sistem tertutup Sistem terbuka adalah sistem yang berhubungan dan dipengaruhi oleh lingkungan luarnya. Sistem ini menerima masukan dan menghasilkan keluaran untuk subsistem lainnya. Sistem tertutup adalah sistem yang tidak terhubung dan tidak terpengaruh oleh lingkungan luarnya. Sistem ini bekerja secara otomatis tanpa campur tangan pihak luar. 2.2 Database Basis data (bahasa Inggris: database), atau sering pula dieja basis data, adalah kumpulan informasi yang disimpan di dalam 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 17 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 di dalamnya 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 denga 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 programer menggunakan istilah basis data untuk kedua arti tersebut. Ada puluhan bahkan mungkin ratusan perangkat lunak DBMS (Database Management System) yang tersedia. Masing-masing memiliki spesifikasinya sendiri-sendiri. Mulai dari yang sangat sederhana sampai yang paling kompleks. Pada bagian ini kita akan membahas 5 buah DBMS yang cukup familiar dikalangan pengguna DBMS, yaitu Microsoft Access, MySQL, Microsoft SQL Server, PosgreSQL, dan Oracle. (Sang Lazurdi, 2011). Basis Data terdiri dari 2 kata, yaitu Basis dan Data. Basis kurang lebih diartikan sebagai markas atau gabungan, tempat bersarang / berkumpul. sedangkan Data adalah refresentatif fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai), barang, hewan, peristiwa, konsep, keadaan dan sebagainya, 18 yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi, atau kombinasinya (Fathasyah, 2007). Basis Data dapat didefinisikan (Agus Hermawan, 2012) dalam sejumlah sudut pandang seperti : a. Himpunan Kelompok data (arsip) yang saling berhubungan yang diorganisasikan sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah. b. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redun-dansasi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. c. Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpan elektronik. 2.2.1 Operasi Dasar Basis Data Operasi-operasi dasar yang dapat kita lakukan berkenaan dengan basis data (Yudi Herdiana, 2012) dapat meliputi: a. Pembuatan basis data baru (create database), yang identik dengan pembuatan lemari data baru. b. Penghapusan basis data (drop database), yang identik dengan perusakan lemari arsip (sekaligus beserta isinya, jika ada). c. Pembuatan file/tabel baru kesuatu basis data (create table), yang identik dengan penambahan map arsip lama yang ada di sebuah lemari arsip. d. Pembuatan file/tabel baru kesuatu basis data (drop table), yang identik dengan perusakan map arsip yang ada di sebuah lemari arsip. e. Penambahan dan pengisian data baru ke sebuah file/tabel di sebuah basis data (insert), yang identik dengan penambahan lembaran arsip ke sebuah map arsip. f. Pengambilan data dari sebuah file/tabel (retrieve/search), yang identik dengan pencarian lembaran arsip dari sebuah map arsip. g. Pengubahan data dari sebuah file/tabel (update), yang identik dengan perbaikan isi lembaran arsip yang ada di sebuah map arsip. 19 h. Penghapusan data dari sebuah file/tabel (delete), yang identik dengan penghapusan sebuah lembar arsip yang ada di sebuah map arsip. 2.3 Pengertian SQL SERVER 2008 Microsoft SQL Server adalah sebuah sistem manajemen basis data relasional (RDBMS) produk Microsoft. Bahasa kueri utamanya adalah TransactSQL yang merupakan implementasi dari SQL standar ANSI/ISO yang digunakan oleh Microsoft dan Sybase. Umumnya SQL Server digunakan di dunia bisnis yang memiliki basis data berskala kecil sampai dengan menengah, tetapi kemudian berkembang dengan digunakannya SQL Server pada basis data besar. Microsoft SQL Server dan Sybase/ASE dapat berkomunikasi lewat jaringan dengan menggunakan protokol TDS (Tabular Data Stream). Selain dari itu, Microsoft SQL Server juga mendukung ODBC (Open Database Connectivity), dan mempunyai driver JDBC untuk bahasa pemrograman Java. Fitur yang lain dari SQL Server ini adalah kemampuannya untuk membuat basis data mirroring dan clustering. Pada versi sebelumnya, MS SQL Server 2000 terserang oleh cacing komputer SQL Slammer yang mengakibatkan kelambatan akses Internet pada tanggal 25 Januari 2003. (Wikipedia, 6 Maret 2017) 2.4 Pengertian Visual Studio Microsoft Visual Studio merupakan sebuah perangkat lunak lengkap (suite) yang dapat digunakan untuk melakukan pengembangan aplikasi, baik itu aplikasi bisnis, aplikasi personal, ataupun komponen aplikasinya, dalam bentuk aplikasi console, aplikasi Windows, ataupun aplikasi Web. Visual Studio mencakup kompiler, SDK, Integrated Development Environment (IDE), dan dokumentasi (umumnya berupa MSDN Library). Kompiler yang dimasukkan ke dalam paket Visual Studio antara lain Visual C++, Visual C#, Visual Basic, Visual Basic .NET, Visual InterDev, Visual J++, Visual J#, Visual FoxPro, dan Visual SourceSafe. Microsoft Visual Studio dapat digunakan untuk mengembangkan aplikasi dalam native code (dalam bentuk bahasa mesin yang berjalan di atas Windows) ataupun 20 managed code (dalam bentuk Microsoft Intermediate Language di atas .NET Framework). Selain itu, Visual Studio juga dapat digunakan untuk mengembangkan aplikasi Silverlight, aplikasi Windows Mobile (yang berjalan di atas .NET Compact Framework). (Wikipedia, 6 Maret 2017) 2.4.1 Pengertian Visual Basic.NET Microsoft Visual Basic .NET adalah sebuah alat untuk mengembangkan dan membangun aplikasi yang bergerak di atas sistem .NET Framework, dengan menggunakan bahasa BASIC. Dengan menggunakan alat ini, para programmer dapat membangun aplikasi Windows Forms, Aplikasi web berbasis ASP.NET, dan juga aplikasi command-line. Alat ini dapat diperoleh secara terpisah dari beberapa produk lainnya (seperti Microsoft Visual C++, Visual C#, atau Visual J#), atau juga dapat diperoleh secara terpadu dalam Microsoft Visual Studio .NET. Bahasa Visual Basic .NET sendiri menganut paradigma bahasa pemrograman berorientasi objek yang dapat dilihat sebagai evolusi dari Microsoft Visual Basic versi sebelumnya yang diimplementasikan di atas .NET Framework. Peluncurannya mengundang kontroversi, mengingat banyak sekali perubahan yang dilakukan oleh Microsoft, dan versi baru ini tidak kompatibel dengan versi terdahulu. (Wikipedia, 6 Maret 2017) 2.4.2 Pengertian Bahasa BASIC BASIC, adalah singkatan dari Beginners’ All-purpose Symbolic Instruction Code adalah sebuah kelompok bahasa pemrograman tingkat tinggi. Secara harfiah, BASIC memiliki arti "kode instruksi simbolis semua tujuan yang dapat digunakan oleh para pemula". Memang, istilah "Bahasa BASIC" di sini juga bisa diartikan menjadi bahasa untuk pemula, atau dengan kata lain, disebut sebagai bahasa dasar, tapi hal tersebut dirasa kurang tepat, mengingat BASIC dapat juga digunakan oleh para pemrogram ahli. BASIC pertama kali dikembangkan pada tahun 1963 oleh John George Kemeny dan Thomas Eugene Kurtz yang berasal dari Dartmouth College, untuk 21 mengizinkan akses terhadap komputer bagi para mahasiswa jurusan selain jurusan ilmu eksakta. Pada waktu itu, hampir semua komputer membutuhkan perangkat lunak, dan waktu itu belum ada perangkat lunak yang dijual secara bebas, sehingga hanya orang-orang tertentulah yang dapat menggunakan komputer, yakni para matematikawan dan ilmuwan, karena mereka dapat membangun perangkat lunak sendiri. Bahasa BASIC, setelah diciptakan menjadi menjamur dan banyak dimodifikasi. Bahasa BASIC menjadi bahasa yang paling populer digunakan pada komputer mikro pada akhir tahun 1970-an dan komputer rumahan pada tahun 1980an. Dan hingga saat ini, menjadi bahasa yang dialeknya beberapa kali berevolusi. (Wikipedia, 6 Maret 2017) 2.5 Crystall Report Menurut Andri Kuniyo dan Kusrini (2007:264) dalam bukunya yang berjudul Membangun Sistem Informasi Akuntansi dengan Visual Basic & SQL Server, menjelaskan bahwa: “Crystal report merupakan program yang dapat digunakan untuk membuat, menganalisis dan menterjemahkan informasi yang terkandung dalam database atau program ke dalam berbagai jenis laporan yang sangat flexibel”. Menurut Madcom (2003:40) dalam bukunya yang berjudul Program Aplikasi Terintegrasi Inventory Hutang dan Piutang dengan Visual Basic 6.0 dan Crystal Report, menyebutkan bahwa: “crystal report merupakan program khusus untuk membuat laporan yang terpisah dari program Microsoft Visual Basic 6.0, tetapi keduanya dapat dihubungkan (linkage)”. 2.6 Pengertian OOP (Object Oriented Programming) Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya, model data berorientasi objek dikatakan dapat memberi fleksibilitas yang 22 lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat. 2.6.1 Konsep Dasar OOP (Object Oriented Programming) Kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya. a. Objek - membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek. b. Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan. c. Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap 23 objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut. d. Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama. e. Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, karyawan administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh karyawan bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek karyawan administrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri. (Wikipedia, 6 Maret 2017) 2.7 Pengenalan UML (Unified Modeling Language) 24 UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-Oriented). UML sendiri juga memberikan standar penulisan sebuah sistem yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponen-komponen yang diperlukan dalam sistem software. UML memiliki diagram grafis untuk membuat suatu model (Chandra Ade, 2010), yaitu: a. Use-Case Diagram b. Class Diagram c. Behavior Diagram 1. Statechart Diagram 2. Activity Diagram 3. Sequence Diagram 4. Interaction Diagram d. Implementation Diagram 1. Component Diagram 2. Deployment Diagram 2.7.1 Use-Case Diagram Use-Case Diagram digunakan untuk memodelkan bisnis proses berdasarkan perspektif pengguna sistem. Use case diagram terdiri atas diagram untuk use case dan actor. Actor merepresentasikan orang yang akan mengoperasikan atau orang yang berinteraksi dengan sistem aplikasi. Use case merepresentasikan operasi-operasi yang dilakukan oleh actor. Use-case digambarkan berbentuk elips dengan nama operasi dituliskan di dalamnya. Actor yang melakukan operasi dihubungkan dengan garis lurus ke use case. (Ramdani, 2010) Contoh use case diagram: 25 Gambar 2.1 Use-Case Diagram (sumber: ramdani april: 2010) Berikut ini merupakan gambar dari tiga komponen sistem use case diagram: Gambar 2.2 Komponen Use-Case (sumber: ramdani april: 2010) Simbol-simbol Use Case Relationship (Rambaugh, 1999): 1. Association Garis yang menghubungkan antar actor dengan use case. Simbol : 2. Extend Menghubungkan antara dua atau lebih use case yang merupakan tambahan dari base use case yang biasanya untuk mengatasi kasus pengecualian. Simbol : <<Extend>> 26 3. Generalization Hubungan antara use case umum dengan use case yang lebih khusus. Simbol : 4. Include Menghubungkan antara 2 atau lebih use case untuk menunjukan use case tersebut merupakan bagian (hubungan bersyarat) dari base use case. Simbol : <<Include>> Gambar 2.3 Contoh Use-Case Diagram (sumber: ramdani april: 2010) 2.7.2 Class Diagram Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). 27 Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. (Jamilah, 2008) Class memiliki tiga area pokok : a. Nama b. Atribut c. Method Atribut dan metoda dapat memiliki salah satu sifat berikut : a. Private ( - ), tidak dapat dipanggil dari luar class yang bersangkutan. b. Protected ( # ), hanya dapat dipanggil oleh class yang bersangkutan dan anakanak yang mewarisinya. c. Public ( + ), dapat dipanggil oleh siapa saja. Contoh : Nama Atribut Method Adapun hubungan antar classnya, yakni : a. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class. Simbol : b. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”) atau biasa disebut relasi mempunyai sebuah. Simbol : 28 c. Composition, yaitu sebuah kelas tidak bisa berdiri sendiri dan harus merupakan bagian dari class yang lain, maka class tersebut memiliki relasi composition. Simbol : d. Dependency, yaitu hubungan yang menunjukan operasi pada suatu kelas yang menggunakan class yang lain. Simbol : e. Generalisasi / Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Simbol : Contoh : Setiap 1 rekening tabungan dapat tidak memiliki ATM atau hanya memiliki 1 ATM. 2.7.3 ACTIVITY DIAGRAM Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state 29 sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Menggambarkan proses bisnis dan urutan aktivitas dalam sebuah proses. Dipakai pada business modeling untuk memperlihatkan urutan aktifitas proses bisnis. Struktur diagram ini mirip flowchart atau Data Flow Diagram pada perancangan terstruktur. Sangat bermanfaat apabila akan membuat diagram ini terlebih dahulu dalam memodelkan sebuah proses untuk membantu memahami proses secara keseluruhan. Activity diagram dibuat berdasarkan sebuah atau beberapa use case pada use case diagram. (Ramdani, 2010) 1. Pada UML, activity digambarkan dengan simbol kotak. 2. Start state dengan tegas menunjukan dimulainya suatu workflow pada sebuah activity diagram. Hanya ada satu start state dalam sebuah workflow. Pada UML, start state digambarkan dengan simbol lingkaran yang solid. 3. End state menggambarkan akhir atau terminal dari pada sebuah activity diagram. Bisa terdapat lebih dari satu end state pada sebuah activity diagram. Pada UML, end state digambarkan dengan simbol sebuah bull's eye. 30 4. State transition menunjukan kegiatan apa berikutnya setelah suatu kegiatan sebelumnya. Pada UML, state transition digambarkan oleh sebuah solid line dengan panah. 5. Decision adalah suatu titik atau point pada activity diagram yang mengindikasikan suatu kondisi dimana ada kemungkinan perbedaan transisi. Pada UML, decision digambarkan dengan sebuah simbol diamond. Swimlanes Obyek swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu. (Jamilah, 2008) 1. Mulailah dengan node awal untuk titik awal. 2. Tambahkan partisi jika relevan untuk analisis yang dibuat. 3. Tambahkan aksi untuk setiap langkah utama dari use case. 4. Tambahkan alur dari setiap aksi ke aksi lain, keputusan atau node akhir. Setiap aksi hanya mendapat satu alur masuk dan satu alur keluar menuju ke forks, joins, decisions, dan merges. 5. Tambahkan decisions jika alur dipecah menjadi beberapa pilihan. Jangan lupa untuk menggabungkan kembali dengan merge. 6. Tambahkan forks dan joins jika aktivitas akan dilakukan secara paralel. Contoh Activity Diagram Studi kasus: Penarikan Uang dari Account Bank Melalui ATM 31 Gambar 2.4 Activity Diagram (sumber: ramdani april : 2010) 2.8 Flowchart atau Diagram Alir Flowchart adalah penyajian yang sistematis tentang proses dan logika dari kegiatan penanganan informasi atau penggambaran secara grafik dari langkahlangkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian. System flowchart adalah urutan proses dalam system dengan menunjukkan alat media input, output serta jenis media penyimpanan dalam proses pengolahan data. Program flowchart adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program. (Anharku, 2009). Simbol-Simbol Flowchart : Tabel 2.1 Simbol Flowchart 32 2.9 Metode Waterfall Dalam pengembangan sistem pengolahan Sistem Informasi Penjualan Barang CV.Mawiney Palangka Raya menggunakan permodelan waterfall atau air terjun (waterfall). Tahap-tahap utama dari model ini menentukan kegiatan-kegiatan pengembangan dasar yaitu (sommerville, 2003:24) : 33 Gambar 2.5 Waterfall Modelling (sumber : Software Engineering 9, Sommerville, 2003:24) 1. Requirements Analysis and Definiton (Analisis dan Definisi Persyaratan) Pelayanan, batasan, dan tujuan sistem ditentukan melalui konsultasi dengan user sistem. Persyaratan ini kemudian didefinisikan secara rinci dan berfungsi sebagai spesifikasi sitem. 2. System and Software Desain (Perancangan Sistem dan Perangkat Lunak) Proses perancangan sistem membagi persyaratan dalam sisem perangkat keras dan perangkat lunak. Kegiatan ini menentukan arsitektur sistem secara keseluruhan. Perancangan perangkat lunak melibatkan identifikasi dan deskripsi abstraksi sistem perangkat lunak yang mendasar dan hubunganhubungannya. 3. Implementations and Unit Testing (Implementasi dan Pengujian Unit) Pada tahap ini, perancangan perangkat lunak direalisasikan sebagai serangkaian program atau unit program. Pengujian unit melibatkan verifikasi bahwa setiap unit telah memenuhi spesifikasinya. 4. Integration and System Testing (Integrasi dan Pengujian Sistem) Unit program atau program individual diintegrasikan dan diuji sebagai sistem yang lengkap untuk menjamin bahwa persyaratan sistem telah dipenuhi. Setelah pengujian sistem, perangkat lunak dikirim kepada pengguna. 34 5. Operation and Maintenance (Operasi dan Pemeliharaan) Biasanya(walaupun tidak seharusnya), ini merupakan fase siklus yang paling lama. Sistem diinstal dan dipakai. Pemeliharaan mencakup koreksi dan berbagai error yang tidak ditentukan pada tahap-tahap terdahulu, perbaikan dan implentasi unit sistem dan pengembangan pelayanan, sistem sementara persyaratan-persyaratan baru ditambahkan. Pada prinsipnya, hasil dari setiap tahap adalah satu atau lebih dokumen yang disetujui. Tahap berikutnya tidak harus memulai sampai tahap sebelumnya telah selesai. Dalam prakteknya, tahap ini saling tumpang tindih dan memberi informasi satu sama lain. Selama perancangan, masalah dengan persyaratan diidentifikasi. Selama pengkodingan, masalah perancangan dilakukan dan sebagainya. Proses perangkat lunak bukan model linear sederhana tetapu melibatkan umpan balik dari satu tahap ke tahap lain. Dokumen yang dihasilkan pada setiap tahap mengkin kemudian harus diubah untuk mencerminkan perubahan yang dibuat. Karena biaya produksi dan persetujuan dokumen, iterasi dapat menjadi lebih mahal dan melibatkan ulang pekerjaan yang signifikan. Oleh karena itu, setelah sejumlah kecil iterasi, adalah biasa untuk membekukan bagian dari pengembangan seperti spesifikasi dan untuk melanjutkan dengan tahap perkembangan selanjutnya. Masalah yang ditinggalkan untuk keputusan kemudian diabaikan. Pembekukan dini dari persyaratan ini mungkin berarti bahwa sistem akan melakukan apa yang diinginkan pengguna. Hal ini juga dapat menyebabkan buruknya sistem terstruktur sebagai masalah perancangan yang digagalkan oleh trik implementasi. Selama tahap siklus hidup akhir (operasi dan pemeliharaan) perangkat lunak diletakan kedalam penggunaan. Kesalahan dan kelalaian dala persyaratan perangkat lunak yang asli ditemukan. Program dan perancangan kesalahan muncul dan kebutuhan akan fungsi baru diidentifikasi. Oleh karena itu sistem harus berevolusi untuk tetap berguna. Mebuat perubahan ini (pemeliharaan perangkat lunak) mungkin melibatkan perulangan tahapan proses sebelumnya. 35 2.10 Testing (Black Box) Pengujian Black Box adalah pengujian aspek fundamental sistem tanpa memperhatikan struktur logika internal perangkat lunak. Metode ini digunakan untuk mengetahui apakah perangkat lunak berfungsi dengan benar. Pengujian black box merupakan metode perancangan data uji yang didasarkan pada spesifikasi perangkat lunak. Data uji dieksekusi pada perangkat lunak dan kemudian keluar dari perangkat lunak dicek apakah telah sesuai yang diharapkan (Rizky, 2011). Pengujian Black Box berusaha menemukan kesalahan dalam kategori : 1. Fungsi-fungsi yang tidak benar atau hilang. 2. Kesalahan interface. 3. Kesalahan dalam struktur data atau akses database eksternal. 4. Kesalahan kinerja. 5. Inisialisasi dan kesalahan terminasi.