BAB II LANDASAN TEORI 2.1. Pengertian Surat Pemberitahuan (SPT) Surat Pemberitahuan (SPT) adalah surat yang oleh Wajib Pajak (WP) digunakan untuk melaporkan penghitungan dan atau pembayaran pajak, objek pajak dan atau bukan objek dan atau harta dan kewajiban, menurut ketentuan peraturan perundang-undangan perpajakan. 2.1.1 Jenis SPT a. SPT Tahunan PPh, adalah Surat Pemberitahuan untuk suatu Tahun Pajak atau bagian tahun Pajak. b. SPT Masa, adalah Surat Pemberitahuan untuk suatu Masa Pajak. Terdiri dari : SPT Masa PPh; SPT Masa PPN; dan SPT masa PPN bagi Pemungut PPN; 2.1.2 Pengisian dan Penyampaian SPT SPT wajib diisi dalam bahasa Indonesia dengan menggunakan huruf Latin, dan satuan mata uang Rupiah. Wajib Pajak juga bisa mengisi SPT dengan bahasa asing & mata uang selain Rupiah (bagi WP yang menyelenggarakan pembukuan dengan menggunakan bahasa asing dan mata uang selain Rupiah), asalkan telah mendapat izin dari Menteri Keuangan. 2.1.3 Fungsi SPT a. Wajib Pajak PPh Sebagai sarana WP untuk melaporkan dan mempertanggungjawabkan penghitungan jumlah pajak yang sebenarnya. b. Pengusaha Kena Pajak Sebagai sarana untuk melaporkan dan mempertanggungjawabkan penghitungan jumlah PPN dan PPn BM yang sebenarnya terutang. 8 http://digilib.mercubuana.ac.id/ c. Pemotong/ Pemungut Pajak Sebagai sarana untuk melaporkan dan mempertanggungjawabkan pajak yang dipotong atau dipungut dan disetorkan. 2.1.4 Tempat pengambilan SPT SPT berbentuk formulir kertas (hardcopy) dapat diambil secara langsung di tempat yang ditetapkan oleh Dirjen Pajak. SPT berbentuk e-SPT dapat diambil secara langsung oleh WP dengan cara mengunduh format SPT atau aplikasi e-SPT melalui website DJP : http://www.pajak.go.id atau mencetak/ menggandakan/ fotokopi dengan bentuk dan isi yang sama dengan aslinya. 2.1.5 Ketentuan Tentang Penyampaian SPT a. SPT dapat disampaikan secara langsung atau melalui Pos secara tercatat ke Kantor Pelayanan Pajak (KPP), atau melalui jasa ekspedisi atau jasa kurir yang ditunjuk oleh Direktur Jenderal Pajak. b. Batas Waktu penyampaian : Penyampaian SPT Tahunan PPh Badan paling lambat 4 bulan sejak akhir Tahun Pajak. SPT Masa paling lambat dua puluh hari setelah berakhirnya Masa Pajak. SPT Tahunan PPh Orang Pribadi paling lambat tiga bulan setelah akhir Tahun Pajak. 2.1.6 Sanksi Tidak atau Terlambat Menyampaikan SPT SPT yang tidak disampaikan atau disampaikan tidak sesuai dengan batas waktu yang ditentukan, dikenakan sanksi administrasi berupa denda : 1. SPT Tahunan PPh Orang Pribadi Rp. 100.000,- ; 2. SPT Tahunan PPh Badan Rp. 1.000.000,- ; 3. SPT Masa PPN Rp. 500.000,- ; 4. SPT Masa Lainnya Rp. 100.000,- ; 2.1.7 Batas Waktu Pembayaran dan Penyetoran Pajak 1) Untuk Pembayaran PPh harus disetor paling lama tanggal 10 (sepuluh) bulan berikutnya setelah Masa Pajak berakhir. 9 http://digilib.mercubuana.ac.id/ 2) PPN atau PPN dan PPnBM yang terutang dalam satu Masa Pajak harus disetor paling lama akhir bulan berikutnya setelah Masa Pajak berakhir dan sebelum Surart Pemberitahuan Masa PPN disampaikan. 2.1.8 Sanksi Keterlambatan Pembayaran Pajak Atas keterlambatan pembayaran pajak, dikenakan sanksi denda administrasi bunga 2% (dua persen) sebulan dari pajak terutang dihitung dari jatuh tempo. 2.2. Microsoft Visual Studio 2.2.1 Pengertian Microsoft Visual Studio 2010 Visual Studio 2010 pada dasarnya adalah sebuah bahasa pemrograman komputer. Dimana pengertian dari bahasa pemrograman itu adalah perintah-perintah atau instruksi yang dimengerti oleh komputer untuk melakukan tugas-tugas tertentu. Visual Studio 2010 (yang biasanya juga disebut VB .NET 2010) selain disebut dengan bahasa pemrograman, juga sering disebut sebagai sarana (tool) untuk menghasilkan program-program aplikasi berbasiskan windows. Beberapa kemampuan dari Visual Studio 2010 antara lain : 1. Untuk membuat program aplikasi berbasiskan windows. 2. Untuk membuat objek-objek pembantu program seperti : kontrol ActiveX, file Help, aplikasi Internet dan sebagainya. 3. Menguji program (debugging) dan menghasilkan program berakhiran .exe yang bersifat executable atau dapat langsung dijalankan. 2.2.2 IDE (Integrated Development Environment) Visual Basic 2010 IDE (Integrated Development Environment), atau juga disebut sebagai Integrated Design/ Debugging Environment, adalah perangkat lunak komputer yang berfungsi untuk membantu pemrograman dalam mengembangkan perangkat lunak. Singkatnya IDE merupakan suatu 10 http://digilib.mercubuana.ac.id/ lingkungan pengembangan aplikasi yang terintegrasi; lengkap dengan beragam tools atau utilitas pendukung. Pada IDE Visual Studio 2010, terdapat menu bar, toolbar, solution explorer, dan properties window. Menu Bar Adalah bagian dari IDE yang terdiri atas perintah-perintah untuk mengatur IDE, mengedit kode, dan mengeksekusi program. Toolbar Toolbar fungsinya sama seperti menu. Bedanya pada toolbar pilihanpilihan berbentuk icon. Toolbox Toolbox adalah tempat dimana kontrol-kontrol dan komponenkomponen diletakkan. Solution Explorer Solution Explorer memberikan tampilan daftar file-file dari proyek yang sedang dibuat. Properties Window Properties Window adalah tempat menyimpan property dari setiap objek kontrol dan komponen. Properties window juga dipakai untuk mengatur property dari objek kontrol dan komponen yang dipakai. Code Editor Code editor adalah tempat dimana kita meletakkan atau menuliskan kode program dari program aplikasi kita. Pada code editor terdapat bagian objek dan event dari kontrol. Output Window Output window menunjukkan langkah-langkah dalam mengompilasi aplikasi. 2.3. Dot NET Framework Microsoft .NET adalah sebuah perangkat lunak (software) yang digunakan terutama pada Sistem Operasi Microsoft Windows. .NET Framework merupakan suatu lingkungan kerja untuk memudahkan 11 http://digilib.mercubuana.ac.id/ pengembangan dan eksekusi berbagai macam bahasa pemrograman dan kumpulan library agar dapat bekerjasama dalam menjalankan aplikasi Windows. Fungsi utama dari .NET Framework sendiri yaitu sebagai penerjemah atau mengeksekusi sebuah software agar dapat berjalan. 2.4. Basis Data (Database) 2.4.1 Konsep Basis Data Basis data dapat diumpamakan sebuah lemari arsip. Dalam sebuah lemari arsip umumnya dilakukan beberapa hal seperti pengelompokan kedalam map-map, pemberian index, pengurutan, dimana hal ini bertujuan agar pemanfaatan dan pencarian data-data di dalam lemari menjadi lebih mudah. Bayangkan jika dalam lemari tersebut arsip disusun secara sembarangan, tentu akan sulit untuk mencari dan mengambil. 2.4.2 Definisi Basis Data Basis data dapat didefinisikan sebagai himpunan kelompok data yang saling berhubungan yang diorganisasikan sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah. Prinsip utamanya adalah pengaturan data. Tujuan utamanya kemudahan dan kecepatan dalam pengambilan kembali data. 2.4.3 Tujuan Basis Data Secara lebih lengkap, pemanfaatan basis data dilakukan untuk memenuhi tujuan berikut ini : 1) Kecepatan dan Kemudahan (Speed) Dengan basis data, kita bisa menyimpan data, melakukan perubahan/manipulasi data dan menampilkan kembali data dengan lebih cepat & mudah. 2) Efisiensi ruang penyimpanan (Space) Dengan basis data, kita bisa menekan jumlah redudansi (pengulangan) data. Baik dengan menerapkan sejumlah pengkodean atau dengan membuat relasi2 antar tabel. 3) Keakuratan (Accuracy) 12 http://digilib.mercubuana.ac.id/ Data di dalam basis data ditata sedemikian rupa sehingga dapat menekan kesalahan-kesalahan pada saat pemasukan(entry) atau penyimpanan(datastore). 4) Ketersediaan (Availability) Basis data diatur sedemikian rupa agar data bisa diakses/selalu tersedia ketika dibutuhkan. 5) Kelengkapan (Completeness) Data yang tersimpan di dalam basisdata harus lengkap, dengan kata lain dapat memenuhi kebutuhan setiap penggunanya. 6) Keamanan (Security) Membatasi hak akses pengguna terhadap data, sehingga data tertentu tidak dapat diakses, dimodifikasi, diubah, atau dihapus oleh pengguna yang tidak diberi hak. 7) Pemakaian Bersama (Sharability) Basis data umumnya dirancang agar dapat digunakan oleh berbagai unit kerja dan tidak terbatas pada satu pemakai, pada satu lokasi atau satu aplikasi saja. 2.4.4 Penggunaan Basis Data Pemanfaatan basis data antara lain : - Kepegawaian, untuk berbagai perusahaan yang memiliki banyak pegawai - Pergudangan (inventory) dan penjualan, untuk perusahaan manufaktur (pabrik), supermarket dll. - Akuntansi, untuk Bank dan perusahaan-perusahaan yang melibatkan uang. - Reservasi, untuk hotel, pesawat, kereta api. - Catatan Medik, untuk rumah sakit. - Akademik, untuk perguruan tinggi atau sekolah. - Dll. 2.4.5 Perancangan Basis Data 2.4.5.1 Tujuan Perancangan Basis Data Tujuan perancangan basis data adalah mendapatkan skema basis data yang meminimalisasi terjadinya redudansi dan duplikasi data serta menjaga integritas data. Kebanyakan 13 http://digilib.mercubuana.ac.id/ metode perancangan berbasis pada model basis data relasional. Pada basis data relasional, data diatur melalui pembuatan tabel-tabel dan terdapat keterkaitan antara tabel yang satu dengan lainnya (relasi). Salah satu permodelan yang sering digunakan untuk merancang basis data relasional adalah Entity Relationship Diagram (ERD). Menurut Brady dan Loonam (2010), Entity Relationship Diagram (ERD) merupakan teknik yang digunakan untuk memodelkan kebutuhan data dari suatu organisasi, biasanya oleh System Analys dalam tahap analisis persyaratan proyek pengembangan system. Dalam pembentukan ERD terdapat 3 komponen yang akan dibentuk, yaitu : a. Entitas : merupakan suatu obyek yang dapat dibedakan dari lainnya yang dapat diwujudkan dalam basis data. Pengertian lainnya menurut Brady dan Loonam (2010), entitas adalah objek yang menarik di bidang organisasi yang dimodelkan. Contoh : Mahasiswa, Kartu Anggota Perpustakaan, Buku dan lain-lain. b. Hubungan (relasi/relationship) : adalah suatu hubungan antara dua jenis entitas dan direpresentasikan sebagai garis lurus yang menghubungkan dua entitas. Contoh : Mahasiswa mendaftar sebagai anggota perpustakaan relasinya adalah mendaftar. c. Atribut : merupakan pendeskripsian karakteristik dari entitas. 2.4.5.2 Derajat Relasi atau Kardinalitas Menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Satu ke satu (one to one) 14 http://digilib.mercubuana.ac.id/ Setiap anggota entitas A hanya boleh berhubungan dengan satu anggota entitas B, begitu pula sebaliknya. Satu ke banyak (one to many) Setiap anggota entitas A dapat berhubungan dengan lebih dari satu anggota entitas B, tetapi tidak sebaliknya. Banyak ke banyak (many to many) Setiap anggota entitas A dapat berhubungan dengan banyak entitas himpunan entitas B, dan demikian pula sebaliknya. 2.5. Structured Query Language (SQL) 2.5.1 Pengertian SQL Server SQL Server adalah sistem manajemen database relasional (RDBMS) yang dirancang untuk aplikasi dengan arsitektur client/server. Client adalah setiap komponen dari sebuah sistem yang meminta layanan atau sumber daya (resource) dari komponen sistem lainnya. Server adalah setiap komponen sistem yang menyediakan layanan atau sumber daya ke komponen sistem lainnya. RDBMS (Relational Database Management System) adalah dasar untuk SQL, dan untuk sistem database modern seperti Ms SQL Server, *IBM DB2, Oracle, MySQL dan Microsoft Access. Data dalam RDBMS disimpan dalam objek database yang disebut tabel. 2.5.2 Elemen SQL Elemen dari SQL yang paling dasar antara lain pernyataan, nama, tipe data, ekspresi, konstanta dan fungsi bawaan. a. Pernyataan Perintah dari SQL yang digunakan untuk meminta sebuah tindakan kepada DBMS. Pernyataan dasar SQL tersebut antara lain : Alter, Create, Delete, Drop, Update, Insert, Select Alter : Merubah struktur tabel Commit : Mengakhiri eksekusi transaksi Create : Membuat tabel, indeks 15 http://digilib.mercubuana.ac.id/ Delete : Menghapus baris pada sebuah tabel Drop : Menghapus tabel, indeks Grant : Menugaskan hak terhadap baisdata kepada user Insert : Menambah baris pada tabel Revoke : Membatalkan hak kepada basis data Rollback : Mengembalikan pada keadaan semula apabila transaksi gagal dilaksanakan Select : Memilih baris dan kolom pada sebuah tabel Update : Mengubah value pada baris sebuah tabel. b. Nama Nama digunakan sebagai identitas bagi objek pada DBMS. Misalnya : tabel, kolom dan pengguna. c. Tipe data Tipe data yang ada di SQL antara lain : Int, Double, Float, Decimal, Char, Varchar, Text, Date, Time dan lain-lain. d. Ekspresi Ekspresi digunakan untuk menghasilkan/ menghitung nilai. Misalnya : jumlah=harga-diskon 1. + : tambah 2. - : kurang 3. / : bagi 4. * : kali e. Konstanta Konstanta adalah besaran yang nilainya tetap. f. Fungsi bawaan Fungsi adalah subprogram yang dapat menghasilkan suatu nilai apabila fungsi tersebut dipanggil. Fungsi Agregat adalah fungsi yang digunakan untuk melakukan summary, statistik yang dilakukan pada suatu tabel/query. Diantaranya : AVG, Count, Max, Min, Sum. 1. AVG(ekspresi) : digunakan untuk mencari nilai rata2 dalam kolom dari tabel 16 http://digilib.mercubuana.ac.id/ 2. COUNT(x) : digunakan untuk menghitung jumlah baris dari sebuah kolomm dari tabel 3. MAX(ekspresi) : digunakan untuk mencari nilai tertinggi dalam kolom dari tabel 4. MIN(ekspresi) : digunakan untuk mencari nilai terendah dalam kolom dari tabel 5. SUM(ekspresi) : digunakan untuk menghitung jumlah keseluruhan dari suatu kolom dari tabel 2.5.3 Kelompok Pernyataan SQL Pernyataan SQL dapat dikelompokan menjadi 5 kelompok, yaitu : DDL, DML, DCL, Pengendalian Transaksi, dan Pengendalian Program. a. Pernyataan SQL kelompok DDL (Data Definition Language) DDL berfungsi untuk mendefinisikan atribut basis data, tabel, atribut (kolom), batasan-batasan terhadap suatu atribut, serta hubungan antar tabel. Perintah yang sering digunakan antara lain : CREATE, ALTER dan DROP. b. DML (Data Manipulation Language) DML berfungsi untuk memanipulasi data yang ada di dalam basis data, misalnya untuk pengambilan data, penyisipan data, pengubahan dan penghapusan data. Perintah yang sering digunakan adalah : INSERT, DELETE, UPDATE dan SELECT. c. DCL (Data Control Language) Berisi pernyataan untuk mengendalikan pengaksesan data. Pengendalian dapat dilakukan per-user, per-tabel, per-field, maupun per-operasi (pernyataan) yang boleh dilakukan. Pernyataan yang tergolong kelompok ini adalah : Grant, Revoke, Lock Table GRANT : memberikan kendali pengaksesan data REVOKE : menghilangkan hak akses LOCK TABLE : mengunci tabel d. Pengendalian Transaksi Pernyataan yang digunakan untuk mengendalikan transaksi adalah : Commit, Rollback 17 http://digilib.mercubuana.ac.id/ COMMIT : menyetujui rangkaian perintah (transaksi) yang telah berhasil dilakukan ROLLBACK : membatalkan transaksi yang dilakukan karena adanya kesalahan atau kegagalan pada salah satu rangkaian perintah. e. Pengendalian Program Menyangkut pernyataan yang berhubungan dengan pernyataan SQL dalam bahasa lain (embedded SQL). Pernyataan SQL yang termasuk kelompok ini antara lain : CLOSE, DECLARE, OPEN. Close : menutup pointer yang menunjuk ke tabel Declare : mendeklarasikan pointer Open : membuka pointer 2.6. UML (Unified Modeling Language) Definisi Unified Modeling Language (UML) menurut para ahli : 1. Menurut (Hend, 2006) ; ”Unified Modeling Language (UML) adalah bahasa yang telah menjadi standar untuk visualisasi, menetapkan, membangun dan mendokumentasikan artifak suatu sistem perangkat lunak”. 2. Menurut (Adi Nugroho, 2005) ; “Unified Modeling Language (UML) adalah alat bantu analisis serta perancangan perangkat lunak berbasis objek”. 3. Menurut (Joomla dari http://soetrasoft.com, 2007) ; “Unified Modeling Language (UML) merupakan standar modeling language yang terdiri dari kumpulan-kumpulan diagram, dikembangkan untuk membantu para pengembang sistem dan software agar bisa menyelesaikan tugas-tugas seperti : Spesifikasi, Visualisasi, Desain Arsitektur, Konstruksi, Simulasi dan Testing serta Dokumentasi”. Berdasarkan definisi diatas, bisa diambil kesimpulan bahwa UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, 18 http://digilib.mercubuana.ac.id/ membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-Oriented). Untuk dapat memahami UML membutuhkan bentuk konsep dari sebuah bahasa model, dan mempelajari 3 (tiga) elemen utama dari UML seperti building block, aturan-aturan yang menyatakan bagaimana building block diletakkan secara bersamaan, dan beberapa mekanisme umum (common). 2.6.1 Building blocks Tiga macam yang terdapat dalam building block adalah : Benda/Things, adalah abstraksi yang pertama dalam sebuah model Hubungan/Relationship, sebagai alat komunikasi dari bendabenda, Bagan/Diagrams, sebagai kumpulan/ group dari benda- benda/things. 2.6.1.1 Benda/Things Adalah hal yang sangat mendasar dalam model UML, juga merupakan bagian paling statik dari sebuah model, serta menjelaskan elemen-elemen lainnya dari sebuah konsep dan atau fisik. Bentuk dari beberapa benda/thing antara lain : Classes, yang diuraikan sebagai sekelompok dari object yang mempunyai atribute, operasi, hubungan semantik. Kelas dapat digambarkan sebagai sebuah persegi panjang yang mempunyai sebuah nama, atribute, dan metoda pengoperasiannya. Interfaces, merupakan sebuah antar-muka yang menghubungkan dan melayani antar kelas dan atau elemen. Umumnya digambarkan dengan sebuah lingkaran yang disertai dengan namanya. Collaboration, yang didefinisikan dengan interaksi dan sebuah kumpulan/kelompok dari kelas-kelas/elemen- elemen yang bekerja secara bersama-sama. Digambarkan dengan sebuah ‘elips’ dengan garis terpotong-potong. 19 http://digilib.mercubuana.ac.id/ Use Cases, adalah rangkaian/uraian sekelompok yang saling terkait dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh sebuah aktor. Umumnya use case digambarkan dengan sebuah elips dengan garis yang solid, dan mengandung nama. Nodes, merupakan fisik dari elemen-elemen yang ada pada saat dijalankannya sebuah sistem. Contohnya adalah sebuah komputer, umumnya mempunyai sedikitnya memory dan processor. Umumnya node ini digambarkan seperti kubus serta hanya mengandung namanya. 2.6.1.2 Hubungan/Relationship Ada 4 macam hubungan didalam penggunaan UML, yaitu : Dependency, adalah hubungan semantik antara dua benda/things yang mana sebuah benda berubah mengakibatan benda satunya akan berubah pula. Umumnya sebuah dependency digambarkan sebuah panah dengan garis terputus-putus. Association, hubungan antar benda struktural yang terhubung diantara obyek. Kesatuan obyek yang terhubung merupakan hubungan khusus, yang menggambarkan sebuah hubungan struktural diantara seluruh atau sebagian. Umumnya association digambarkan dengan sebuah garis yang dilengkapi dengan sebuah label, nama dan status hubungannya. Generalizations, adalah menggambarkan hubungan khusus dalam obyek anak/child yang menggantikan obyek parent/induk. Dalam hal ini, obyek anak memberikan pengaruhnya dalam hal struktur dan tingkah lakunya kepada obyek induk. digambarkan dengan garis panah. Realizations, merupakan pengelompokkan yang hubungan semantik antara menjamin adanya ikatan diantaranya. Hubungan ini dapat diwujudkan diantara 20 http://digilib.mercubuana.ac.id/ interface dan kelas atau elements, serta antara use cases dan collaborations. 2.6.1.3 Bagan/Diagram UML terdiri atas pengelompokkan diagram-diagram sistem menurut aspek atau sudut pandang tertentu. Diagram adalah yang menggambarkan permasalahan maupun solusi dari permasalahan suatu model. Diagram UML yang sering digunakan antara lain : Use Case Diagram, menggambarkan sekelompok use cases dan aktor yang disertai dengan hubungan diantaranya. Diagram use cases ini menjelaskan dan menerangkan kebutuhan/ requirement yang diinginkan/dikehendaki user/ pengguna, serta sangat berguna dalam menentukan struktur organisasi dan model dari sebuah sistem. Class Diagram, yang memperlihatkan struktur statis dari kelas actual didalam sistem. Sequence Diagram, yang memperlihatkan kolaborasi dinamik antara objek-objek dengan suatu urutan pesan (a sequence of message) antar objek tersebut. Activity Diagram, yang memperlihatkan aliran urutan aktifitas. 2.6.2 Diagram Use Case Menggambarkan apa saja aktifitas yang dilakukan oleh suatu sistem dari sudut pandang pengamatan luar. Yang menjadi persoalan itu “apa yang dilakukan”, bukan “bagaimana melakukannya”. Gambar 1. Contoh use case pasien yang membuat janji 21 http://digilib.mercubuana.ac.id/ Diagram Use Case berguna dalam 3 hal : 1. Menjelaskan fasilitas yang ada (requirements) 2. Komunikasi dengan klien 3. Membuat test dari kasus-kasus secara umum Tabel 1. Simbol Dalam Pemodelan Use Case Diagram [Indrajani 2011:31] Simbol SUBJEK Nama Simbol Actor Keterangan Seseorang yang berinteraksi oleh sistem Use Case Menggambarkan bagaimana seseorang akan menggunakan sistem Merupakan nama sistem atau proses bisnis individual Subjek Boundary Association Relationship Include Relationship Extend Relationship Generalisasi Penghubung antara aktor dan use case yang saling berinteraksi Include memungkinkan use case untuk menggunakan fungsional yang disediakan oleh use case lainnya Extend memungkinkan suatu use case memiliki kemungkinan memperluas fungsionalilitas yang disediakan oleh use case lainnya Digunakan untuk memperlihatkan bahwa beberapa aktor atau use case memiliki sesuatu yang bersifat umum. 2.6.3 Diagram Class Memberikan pandangan secara luas dari suatu sistem dengan menunjukkan kelas-kelasnya dan hubungan mereka. Diagram class bersifat statis; menggambarkan hubungan apa yang terjadi bukan apa yang terjadi jika mereka berhubungan. Diagram class mempunyai 3 macam relationalship (hubungan). Yaitu : 22 http://digilib.mercubuana.ac.id/ Association ; suatu hubungan antara bagian dari dua kelas. Aggregation ; suatu association dimana salah satu kelasnya merupakan bagian dari suatu kumpulan. Generalization ; suatu hubungan turunan dengan mengasumsikan satu kelas merupakan suatu superClass (kelas super) dari kelas lain. Setiap diagram Class memiliki Class (kelas), association, dan multiplicity. Sedangkan navigability (alur arah) dan role (kegiatan) merupakan optional (tidak diharuskan). Gambar 2. Contoh Diagram Class transaksi Pembelian Barang 23 http://digilib.mercubuana.ac.id/ Tabel 2. Komponen Class Diagram 2.6.4 Diagram Sequence Diagram Class dan Diagram Object merupakan suatu gambaran model statis. Namun ada juga yang bersifat dinamis, seperti Diagram Interaction. Diagram sequence merupakan salah satu diagram Interaction yang menjelaskan bagaimana suatu operasi itu dilakukan; message (pesan) apa yang dikirim dan kapan pelaksanaannya. Diagram ini diatur berdasarkan waktu, dimana obyek-obyek yang berkaitan dengan proses berjalannya operasi, diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang terurut. Berikut contoh diagram Sequence untuk pembuatan Hotel Reservation. Obyek yang mengawali urutan message adalah “aReservation Window”. 24 http://digilib.mercubuana.ac.id/ Gambar 3. Contoh Diagram Sequence “Pemesanan kamar di Hotel”. ‘Reservation window’ mengirim pesan makeReservation() ke ‘HotelChain’. Kemudian ‘HotelChain’ mengirim pesan yang sama ke ‘Hotel’. Bila ‘Hotel’ punya kamar kosong, maka dibuat ‘Reservation’ dan ‘Confirmation’. Lifeline adalah garis dot (putus-putus) vertikal pada gambar, menerangkan waktu terjadinya suatu obyek. Setiap panah yang ada adalah pemanggilan suatu pesan. Panah berasal dari pengirim ke bagian paling atas dari batang kegiatan (activation bar) dari suatu pesan pada lifeline penerima. Activation bar menerangkan lamanya suatu pesan diproses. Pada gambar diagram, terlihat bahwa ‘Hotel’ telah melakukan pemanggilan diri sendiri untuk pemeriksaan jika ada kamar kosong. Bila benar, maka ‘Hotel’ membuat ‘Reservation’ dan ‘Confirmation’. Pemanggilan diri sendiri disebut dengan iterasi. Expression yang dikurung dengan “[ ]”, adalah condition (keadaan kondisi). Pada diagram dapat dibuat note (catatan). Pada gambar, terlihat seperti selembar kertas yang berisikan teks. Note bisa diletakan dimana saja pada diagram UML. 25 http://digilib.mercubuana.ac.id/ Tabel 3. Komponen Sequence Diagram [Indrajani,2011:37] Notasi Simbol Keterangan Object Lifeline: menggambar object Object Lifeline apa saja yang terlibat Actor Actor: Menggambarkan actor yang terlihat Activation Activation: hubungan menggambarkan antar object dengan message Message (call) Message (call): menggambarkan alur message yang merupakan kejadian dari object pengirim lifeline ke objek penerima lifeline. Message Message (return): menggambarkan (return) alur pengembalian message ke object pemanggil dan tanda bahwa objek penerima telah menyelesaikan prosesnya. 2.6.5 Diagram Activity Pada dasarnya diagram Activity sering digunakan oleh flowchart. Diagram ini berhubungan dengan diagram Statechart. Diagram Statechart berfokus pada obyek yang dalam suatu proses (atau proses menjadi suatu obyek), diagram Activity berfokus pada aktifitas-aktifitas yang terjadi yang terkait dalam suatu proses tunggal. Jadi denga nkata lain, diagram ini menunjukkan bagaimana aktifitas-aktifitas tersebut bergantung satu sama lain. 26 http://digilib.mercubuana.ac.id/ Perhatikan contoh proses yang terjadi pada “Pengambilan uang dari bank melalui ATM”. Ada tiga aktifitas kelas (orang, dan lainnya) yang terkait, yaitu : Customer, ATM dan Bank. Proses berawal dari lingkaran start hitam pada bagian atas dan berakhir di pusat lingkaran stop hitam/putih pada bagian bawah. Aktivitas digambarkan dalam bentuk kotak persegi. Gambar 4. Contoh Diagram Activity ‘Pengambilan Uang melalui ATM’. Diagram Activity dapat dibagi menjadi beberapa jalur kelompok yang menunjukkan obyek yang mana yang bertanggung jawab untuk suatu aktifitas. Peralihan tunggal (single transition) timbul dari setiap adanya activity (aktifitas), yang saling menghubungi pada aktifitas berikutnya. Sebuah transition (transisi) dapat membuat cabang ke dua atau lebih percabangan exclusive transition (transisi eksklusif). Label Guard Expression (ada di dalam [ ]) yang menerangkan output (keluaran) dari percabangan. Percabangan akan menghasilkan bentuk menyerupai bentuk intan. Transition bisa bercabang menjadi beberapa aktifitas 27 http://digilib.mercubuana.ac.id/ paralel yang disebut Fork. Fork beserta join (gabungan dari hasil output fork) dalam diagram berbentuk solid bar (batang penuh). Tabel 4. Komponen Activity Diagram [Indrajani,2011:32] Notasi Keterangan Initial Activity Initial Activity sebagai awal dari aktivitas modul sistem aplikasi Activity Activity menunjukkan Aktivitas yang dilakukan Final Activity Final Activity menunjukkan akhir dari aktivitas Decisions Signal Concurrent Activities Simbol Decisions menunjukkan aktivitas yang harus dipilih pilihan pertama atau kedua Signal sebagai pengirim dan penerima pesan dari aktivitas yang terjadi . Signal terdiri dari 2 (dua) Jenis, yaitu signal penerima yang digambarkan dengan polygon terbuka dan signal pengirim yang digambarkan dengan convex polygon. Concurrent Activities menggambarkan aktivitas yang dilakukan bersamaan atau paralel. 2.7 Microsoft SQL Server Database Management System (DBMS) adalah aplikasi yang dipakai untuk mengelola basis data. DBMS biasanya menawarkan beberapa kemampuan yang terintegrasi, seperti : 1. Membuat, menghapus menambah dan memodifikasi basis data. 2. Pada beberapa DBMS pengelolaannya berbasis windows (berbentuk jendela-jendela) sehingga lebih mudah digunakan. 3. Tidak semua orang bisa mengakses basis data yang ada sehingga memberikan keamanan bagi data. 4. Kemampuan berkomunikasi dengan program aplikasi yang lain. Misalnya dimungkinkan untuk mengakses basis data SQL Server menggunakan aplikasi yang dibuat menggunakan VB.NET. 28 http://digilib.mercubuana.ac.id/ 5. Kemampuan pengaksesan melalui komunikasi antar komputer (client server). Microsoft SQL Server adalah salah satu aplikasi DBMS yang sudah sangat banyak digunakan oleh para pemrogram aplikasi basis data. 2.8 Koneksi Database VB.NET dengan ADO.NET ADO.NET (ActiveX Data Objects untuk .NET Framework) merupakan kumpulan class yang berisi komponen yang berfungsi menghubungkan antara aplikasi dengan basis data. Dengan menggunakan ADO .NET, kita dapat melakukan koneksi (berhubungan) dengan basis data untuk mengambil data, memanipulasi data maupun memperbarui data. Class ADO .NET terdapat pada file System.Data.dll. pada ADO .NET terdapat dua buah komponen pokok, yaitu DataSet dan Data Provider .NET. Pada ADO .NET jenis koneksi ditentukan oleh sistem database yang kita gunakan. Untuk membangun koneksi database kita dapat menggunakan cara berikut : a. SqlConnection Syntax yang dipakai untuk koneksi ini adalah : connectionString = ”Data Source=ServerName;Initial ID=Username;Password=Password” Catalog=DBName;User Jika kita ingin membangun koneksi database dengan menggunakan authentikasi windows, kita bisa menggunakan sintax : “Server = localhost; Database=employeedetails;Integrated Security=SSPI;” Sedangkan jika akan melakukan koneksi dengan menggunakan IP, sintax nya adalah : connectionString = ”Data Source=IP_ADDRESS,PORT;Network Library=DBMSSOCN;Initial Catalog=DBName;User ID=Username;Password=Password” b. OleDbConnection Koneksi ini menggunakan driver yang sudah tersedia. Contoh sintax nya : connectionString = ”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DBName;” c. OdbcConnection Cara ketiga dalam membangun koneksi database adalah dengan memakai OdbcConnection. Pada koneksi ini, kita harus deskripsikan sintaxnya sebagai berikut : connectionString =”Driver={Microsoft Access Driver(*.mdb)};DBQ=DBName.mdb;” 29 http://digilib.mercubuana.ac.id/