BAB II LANDASAN TEORI 2.1 Konsep Dasar Sistem Informasi Sistem 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 [Tata Sutabri, 2012 : 22] diantaranya: A. 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 pemikiran hubungan antara manusia dengan Tuhan, sedangkan sistem fisik merupakan sistem yang ada secara fisik, misalnya sistem komputer, sistem produksi, sistem penjualan, sistem administrasi personalia dan lain sebagainya. B. Sistem alamiah dan sistem buatan manusia : Sistem alamiah adalah sistem yang terjadi melalui proses alam, tidak dibuat oleh manusia, misalnya sistem perputaran bumi, terjadinya siang malam, pergantian musim. Sedangkan sistem buatan manusia merupakan sistem yang melibatkan interaksi manusia dengan mesin yang disebut human machine system. Sistem informasi berbasis komputer merupakan contoh human machine system karena menyangkut penggunaan komputer yang berinteraksi dengan manusia. C. Sistem determinasi dan sistem probabilistik : Sistem yang beroperasi dengan tingkah laku yang dapat diprediksi disebut sistem deterministic. Sistem komputer adalah contoh dari sistem yang tingkah lakunya dapat dipastikan berdasarkan program – program komputer yang dijalankan, sedangkan sistem yang bersifat probabilistik adalah sistem yang kondisi 7 8 masa depannya tidak dapat diprediksi karena mengandung unsur probabilistic. D. Sistem terbuka dan sistem tertutup : Sistem tertutup merupakan sistem yang tidak berhubungan dan tidak terpengaruh oleh lingkungan luarnya. Sistem ini bekerja secara otomatis tanpa campur tangan pihak luar, Sedangkan sistem terbuka adalah sistem yang berhubungan dan dipengaruhi oleh lingkungan luarnya. Sistem ini menerima masukan dan menghasilkan keluaran subsistem lainnya. 2.2 Definisi Informasi Informasi adalah data yang telah diklasifikasi atau diinterpretasi untuk digunakan dalam proses pengambilan keputusan. Sistem pengolahan informasi mengolah data menjadi informasi atau tepatnya mengolah data dari bentuk tak berguna menjadi bentuk berguna bagi penerimanya. Nilai informasi berhubungan dengan keputusan maka informasi menjadi tidak diperlukan keputusan dapat berkisar dari keputusan berulang sederhana sampai keputusan strategis jangka panjang. Nilai informasi dilukiskan paling berarti dalam konteks sebuah keputusan [Tata Sutabri, 2012 : 29]. 2.3 Pengertian Sistem Informasi Sistem informasi adalah suatu sistem didalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian yang mendukung fungsi operasi organisasi yang bersifat manajerial dengan kegiatan strategi dari suatu organisasi untuk dapat menyediakan kepada pihak luar tertentu dengan laporanlaporan yang diperlukan [Tata Sutabri, 2012 : 46]. 2.4 Analisa dan Perancangan Perangkat Lunak Perangkat lunak (software) adalah program komputer yang terasosiasi dengan dokumentasi perangkat lunak seperti dokumentasi kebutuhan, model desain, dan cara penggunaan (user manual). Sebuah program komputer tanpa 9 terasosiasi dengan dokumentasinya maka belum dapat disebut perangkat lunak (software). [Rosa A.S, dkk : 2]. Karakter Perangkat lunak adalah sebagai berikut : A. Perangkat lunak dibangun dengan rekayasa (software engineering) bukan diproduksi secara manufaktur atau pabrikan. B. Perangkat lunak tidak pernah usang (“wear out”) karena kecacatan dalam perangkat lunak dapat diperbaiki. C. Barang produksi pabrikan biasanya kompunen barunya akan terus diproduksi, sedangkan perangkat lunak biasanya terus diperbaiki seiring bertambahnya kebutuhan. 2.4.1 Definisi Analisis Sistem Kegiatan analisis sistem adalah kegiatan untuk melihat sistem yang sudah berjalan, melihat bagian mana yang bagus dan tidak bagus, dan kemudian mendokumentasikan kebutuhan yang akan dipenuhi dalam sistem yang baru. Hal tersebut terlihat sederhana, namun sebenarnya tidak. Banyak hambatan yang akan ditemui dalam proses tersebut [Rosa A.S, dkk 2013 : 18]. 2.4.2 SDLC Model Waterfall Model SDLC air terjun (waterfall) sering disebut juga model sekuensial linie (Sequential liniear) atau alur hidup klasik (classic life cycle). Model air terjun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain, pengodean, pengujian, dan tahap pendukung (support) [Rosa A.S, dkk 2013 : 28]. Berikut adalah gambar model air terjun 10 Gambar 2.1 Model waterfall (Rosa A.S, dkk : 29) A. Analisis kebutuhan perangkat lunak : Proses pengumpulan kebutuhan dilakukan secara intensif untuk mespesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh user. Spesifikasi perangkat lunak pada tahap ini perlu didokumentasikan. B. Desain : Desain perangkat lunak adalah proses multi langkah yang fokus pada desain pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi antarmuka, dan prosedur pengodean. C. Pembuatan kode program : Desain harus ditranslasikan kedalam program perangkat lunak. Hasil dari tahap ini adalah program komputer sesuai dengan desain yang telah dibuat pada tahap desain. D. Pengujian : Pengujian fokus pada perangkat lunak secara dari segi lojik dan fungsional dan memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan. E. Pendukung (support) atau pemeliharaan (maintenance) : Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan ketika sudah dikirimkan ke user. Perubahan bisa terjadi karena adanya kesalahan yang muncul 11 dan tidak terdeteksi saat pengujian atau perangkat lunak harus beradaptasi dengan lingkungan baru. Tahap pendukung atau pemeliharaan dapat mengulangi proses pengembangan mulai dari analisis spesifikasi untuk perubahan perangkat lunak yang sudah ada, tapi tidak untuk membuat perangkat lunak baru. 2.5 Pemodelan sistem UML (Unified Modelling Language) adalah salah standar bahasa yang banyak digunakan di dunia industri untuk mendefinisikan requirement, membuat analisis dan desain, serta menggambarkan arsitektur dalam pemrograman berorientasi objek [Rosa A.S, dkk 2013 : 133] UML diaplikasikan untuk maksud tertentu, biasanya antara lain untuk : [Prabowo Pudjo Widodo, Herlawati 2011 : 6] A. Merancang perangkat lunak. B. Sarana komunikasi antara perangkat lunak dengan proses bisnis. C. Menjabarkan sistem secara rinci untuk analisa dan mencari apa yang diperlukan sistem. D. Mendokumentasi sistem yang ada, proses-proses dan organisasinya. Pada UML 2.3 terdiri dari 13 macam diagram yang dikelompokkan dalam 3 kategori. Pembagian kategori dan macam-macam diagram tersebut dapat dilihat pada gambar dibawah Gambar 2.2 Diagram UML (Rosa A.S, dkk : 140) 12 2.5.1 Konsepsi dasar UML Konsepsi dasar UML menggunakan beberapa pemodelan sistem, yaitu : 1. Class Diagram Class diagram menurut Rosa A.S, dkk [Rekayasa Perangkat Lunak, 2013 : 141] adalah menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki atribut dan metode operasi • Atribut merupakan variabel-variabel yang dimiliki oleh suatu class. • Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu class. Kemampuan menghasilkan kode program yang dimiliki diagram kelas menyebabkan diagram ini memiliki hubungan yang khas dengan diagram UML lainnya. Pada gambar 2.3 terlihat bahwa diagram yang lain memberi masukan kepada diagram kelas. Diagram kelas yang baik menghasilkan suatu rancangan sistem atau program yang mendekati kenyataan. Gambar 2.3 Hubungan diagram kelas dengan diagram lainnya (Prabowo Pudjo Widodo, dkk : 38) Secara teknis, [Prabowo Pudjo Widodo, dkk, 2013 : 39] mengartikan sebuah kelas sebagai suatu definisi sumber daya yang termasuk didalamnya informasi-informasi yang menggambarkan fitur suatu entitas dan bagaimana penggunaannya. Sedangkan objek adalah entitas yang bersifat unik yang mengikuti aturan-aturan yang sudah didefinisikan dalam kelasnya. Dalam terminologi perangkat lunak, kode program ditulis sebagai kumpulan kelas-kelas 13 yang mengacu pada perilaku yang telah didefinisikan dalam kelas. Dalam database, objek dinyatakan berupa baris yang tersimpan dalam file yang berada dalam memori komputer. Jadi diagram kelas menggambarkan “fisik” sistem yang akan dibuat. 2. Use Case Diagram Use case diagram menurut Rosa A.S, dkk [Rekayasa Perangkat Lunak, 2013 : 155] merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Use case digunakan untuk mengetahui fungsi apa saja yang ada didalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu. Komponen pembentuk diagram use case adalah A. Aktor Aktor adalah orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi yang akan dibuat itu sendiri. Gambar 2.4 Simbol Aktor (Rosa A.S, dkk. 2013 : 156) B. User Case : Use case adalah fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor, biasanya dinyatakan dengan menggunakan kata kerja di awal frase nama use case. Gambar 2.5 Simbol Use case (Rosa A.S, dkk. 2013 : 156) 14 C. Hubungan (Link) : Link adalah. actor mana saja yang terlibat dalam use case. • Asosiasi : Komunikasi antara aktor dengan.use case yang berpartisipasi pada use case atau use case memiliki interaksi pada actor Gambar 2.5 Simbol Asosiasi (Rosa A.S, dkk. 2013: 156) • Generalisasi : Hubungan generalisasi dan spesialisasi (umum – khusus) antara dua buah use case dimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya. Contoh : arah panah mengarah pada use case yang menjadi generalisasinya (umum) Gambar 2.6 Simbol Generalisasi (Rosa A.S, dkk. 2013: 157) • Extend : Relasi use case tambahan ke sebuah use case dimana use case ditambahkan dapat berdiri sendiri walau tanpa use case. Gambar 2.7 Simbol Extend (Rosa A.S, dkk. 2013: 156) 15 • Include : Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan memerlukan use case ini untuk menjalankan fungsinya atau sebagai syarat dijalankan use case ini. Gambar 2.8 Simbol Include (Rosa A.S, dkk. 2013: 158) Berikut adalah contoh diagram use case dari sistem informasi manajemen perpustakaan : Gambar 2.9 Use Case Diagram Sistem Informasi Manajemen Perpustakaan (Rosa A.S, dkk. 2013: 204) 16 3. Activity Diagram Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut [Rosa A.S, dkk 2013 : 161] A. Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan. B. Urutan atau pengelompokkan tampilan dari sistem atau user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka. C. Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya. D. Rancangan menu yang ditampilkan pada perangkat lunak. Gambar 2.10 Simbol-simbol Activity Diagram (Rosa A.S, dkk. 2013: 162) 17 4. Statechart Diagram Diagram statechart atau diagram state machine adalah diagram yang menggambarkan perilaku sistem perangkat lunak yang kita buat dan perilaku kelas, subsistem dan seluruh aplikasi. Selain itu diagram statechart bermanfaat juga untuk menyediakan cara yang baik dalam memodelkan komunikasi yang terjadi dengan entitas luar via protocol atau sistem dasarnya [Prabowo Pudjo Widodo, dkk, 2013 : 125] Berikut ini komponen – komponen dasar yang ada dalam statechart diagram : Gambar 2.11 Simbol-simbol Statechart Diagram (Rosa A.S, dkk. 2013: 164) Gambar 2.12 Contoh Statechart Diagram (Rosa A.S, dkk. 2013: 164) 18 5. Sequence Diagram Diagram Sekuen menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambar diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu. Membuat diagram sekuen juga dibutuhkan untuk melihat skenario yang ada pada use case. Berikut ini komponen – komponen dasar yang ada dalam sequence diagram : Gambar 2.13 Contoh Sequence Diagram (Rosa A.S, dkk. 2013: 165) 19 2.6 Perancangan Berorientasi Objek Perancangan berorientasi objek merupakan tahap lanjutan setelah analisa sistem yang merupakan proses spesifikasi yang terperinci atau pendefinisian dari kebutuhan-kebutuhan fungsional dan persiapan untuk rancang bangun implementasi yang menggambarkan bagaimana suatu sistem dibentuk. Pada sebuah model berbasis objek terdapat beberapa istilah yang sering digunakan, untuk lebih jelasnya penulis uraikan sebagai berikut: 1. Class, kumpulan atau definisi data dan fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebuah kelas adalah dasar dari modularitas dan struktur OOP. 2. Objek, membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program computer, objek merupakan dasar dari modularitas dan struktur dalam sebuah program computer berorientasi objek. 3. Abstraksi, kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. 4. 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 dimana pesan tersebut dikirim. 2.7 Basis Data Berorientasi Objek Basis data adalah Kumpulan dari tabel-tabel yang saling berelasi, disusun secara logis, sehingga menghasilkan informasi yang bernilai guna dalam proses pengambilan keputusan. Basis data merupakan komponen dasar dari sebuah sistem informasi dan pengembangan serta penggunaannya sebaiknya dipandang dari perspektif kebutuhan organisasi yang lebih besar. Oleh karena itu siklus hidup sebuah sistem informasi organisasi berhubungan dengan siklus hidup sistem database yang mendukungnya. 20 Gambar 2.14 Ilustrasi Basis Data (Rosa A.S, dkk. 2013: 44) Kebutuhan basis data dalam sistem informasi meliputi : • Memasukkan, menyimpan dan mengambil data. • Membuat laporan berdasarkan data yang telah disimpan. Tujuan Perancangan Basis Data 1. Untuk memenuhi kebutuhan-kebutuhan konten informasi dari pengguna dan aplikasi-aplikasi tertentu. 2. Menyediakan struktur informasi yang alami dan mudah dipahami . 3. Mendukung kebutuhan-kebutuhan pemrosesan dan objektifitas kinerja (waktu respon, waktu pemrosesan, dan ruang penyimpanan). Konsep Dasar Basis Data 1 Table : Sebuah tabel merupakan kumpulan data (nilai) yang diorganisasikan ke dalam baris (record) dan kolom (field). Masing-masing kolom memiliki nama yang spesifik dan unik. 2 Field : field merupakan kolom dari sebuah table. Field memiliki ukuran tipe data tertentu yang menentukan bagaimana data nantinya tersimpan. 3 Record : Record merupakan sebuah kumpulan nilai yang saling terkait. 21 4 Key : Key merupakan suatu field yang dapat dijadikan kunci dalam operasi tabel. Dalam konsep database, key memiliki banyak jenis diantaranya Primary Key, Foreign Key, Composite Key. 2.7.1 DBMS DBMS (Database Management System) atau Sistem Manajemen Basis Data adalah suatu sistem aplikasi yang digunakan untuk menyimpan, mengelola, dan menampilkan data. Suatu sistem aplikasi disebut DBMS jika memenuhi persyaratan minimal sebagai berikut : • Menyediakan fasilitas untuk mengelola akses data. • Mampu menangani integritas data. • Mampu menangani backup data Berikut ini adalah 4 macam DBMS versi komersial yang paling banyak digunakan di dunia saat ini, yaitu : A. ORACLE B. Microsoft SQL Server C. IBM DB2 D. Microsoft Access Sedangkan DBMS versi open source yang cukup berkembang dan paling banyak digunakan saat ini adalah sebagai berikut : A. MySQL B. PostgreSQL C. Firebird D. SQLite Hampir semua DBMS mengadopsi SQL sebagai bahasa untuk mengelola data pada DBMS. 22 2.7.2 SQL SQL (Structured Query Language) adalah bahasa yang digunakan untuk mengelola data pada DBMS. SQL awalnya dikembangkan berdasarkan teori aljabar relasional dan kalkulus. Bahasa SQL dibuat sebagai bahasa yang dapat merelasikan beberapa tabel dalam database maupun merelasikan antar database. SQL dibagi menjadi dua bentuk query, yaitu : 1. DDL (Data Definition Language) DDL adalah sebuah metofe Query language yang berguna untuk mendefinisikan pada sebuah database, adapun Query yang dimiliki adalah “ • CREATE : digunakan untuk melakukan pembuatan tabel database. • DROP : digunakan untuk melakukan penghapusan tabel maupun database. • ALTER : digunakan untuk melakukan pengubahan struktur tabel yang telah dibuat, baik menambah Field, mengganti nama Field ataupun menamakannya kembali. 2. DML (Data Manipulation Language) DML adalah sebuah metode query yang dapat digunakan apabila DDL telah terjadi, sehingga fungsi query ini adalah untuk melakukan pemanipulasian database yang telah ada atau telah dibuat sebelumnya, adapun query yang digunakan di dalamnya adalah: • INSERT : digunakan untuk melakukan pemasukkan data pada tabel database. • UPDATE : digunakan untuk melakukan pengubahan atau peremajaan terhadap data yang ada pada tabel. • DELETE : digunakan untuk melakukan penghapusan data pada tabel. • SELECT : digunakan sebagai pemanggilan isi dari sebuah tabel database 23 2.8 PHP PHP diambil dari PHP : Hypertext Preprocessor namun banyak juga yang menyebutkan bahwa PHP adalah Personal Home Page. PHP berada dibawah lisensi GNU yang berarti dapat digunakan secara bebas tanpa harus membayar lisensi apapun. PHP dibuat pertama kali oleh seorang perekayasa perangkat lunak (software engineering) yang bernama Rasmus Lerdoff. Rasmus Lerdoff membuat halaman web PHP pertamanya pada tahun 1994. PHP merupakan skrip yang diangkat dari skrip PERL (Skrip cikal bakal PHP), skrip yang lebih dulu ada sebelum PHP . PHP merupakan skrip sisi server (server side script) dimana kode program PHP hanya dapat dilihat pada sisi server. Di sisi klien yang tampil hanyalah kode HTML-nya saja. PHP dapat dijalankan dengan menggunakan perangkat lunak yang berperan sebagai PHP Server. Perangkat lunak PHP server yang sering digunakan saat ini antara lain Xampp, AppServ dan PHPTriad. Ketiga perangkat lunak tersebut adalah perangkat lunak freeware (gratis digunakan). Ketiga perangkat lunak tersebut sudah dipaket dengan DBMS MySql di dalamnya. [Rosa A.S, dkk. 2010 : 244] Kode PHP dimasukkan ke dalam kode HTML dengan cara menyelipkannya didalam kode HTML. Untuk membedakan kode PHP dengan kode HTML, di depan kode PHP tersebut diberi tag pembuka dan diakhir kode PHP diberi tag penutup. Kode PHP yang ada di tengah kode HTML akan diproses menggunakan mesin yang disebut PHP parser. Mesin PHP parser akan langsung melewatkan (tidak mengolah) kode HTML dan hanya mengolah isi kode PHP. Karena itu server perlu tahu mana yang kode HTML dan mana yang kode PHP. [Edi Winarno, dkk. 2013 : 67] 2.9 MySql MySql database server adalah RDBMS (Relasional Database Management System) yang dapat menangani data yang bervolume besar. Meskipun begitu, tidak menuntut resource yang besar. MySql adalah database yang paling popular diantara database-database yang lain. 24 MySql adalah program database yang mampu mengirim dan menerima data dengan sangat cepat dan multi user. MySql memiliki dua bentuk lisensi, yaitu free software dan shareware. Penulis sendiri dalam menjelaskan buku ini menggunakan MySql yang free software karena bebas menggunakan database ini untuk keperluan pribadi atau usaha tanpa harus membeli atau membayar lisensi, yang berada dibawah lisensi GNU/GPL (general public license). [Sudarma S. 2010 : 5] 2.9.1 Fitur MySql Fitur – fitur yang terdapat di MySQL antara lain A. Relational Database System : Seperti halnya software database lain yang ada dipasaran, MySql termasuk RDBMS. B. Arsitektur Client-Server : MySql memiliki arsitektur klien-server dimana server database MySql terinstal di server. Client MySql dapat berada di komputer yang sama dengan server, dan dapat juga dikomputer lain yang berkomunikasi dengan server melalui jaringan bahkan internet. C. Mengenal perintah SQL standar : SQL (Structured Query Language) merupakan suatu bahasa standar yang berlaku dihampir semua software database. MySql mendukung SQL versi SQL : 2003. D. Mendukung sub select : Mulai versi 4.1 MySql telah mendukung select dalam select (sub select). E. Mendukung Views : MySql mendukung views sejak versi 5.0 F. Mendukung stored prosedured (SP) : MySql mendukung SP sejak versi 5.0 G. Free (bebas download) H. Dukungan dari banyak komunitas. I. Perkembangan software yang cukup cepat. 2.9.2 PHPMyAdmin PHPMyAdmin merupakan front-end MySql berbasis web. PHP MyAdmin mendukung berbagai fitur administrasi MySql termasuk manipulasi database, 25 tabel, index dan juga dapat mengeksport data ke dalam berbagai format data. PHPMyAdmin juga tersedia lebih dari 50 bahasa, termasuk bahasa Indonesia . Gambar 2.15. Tampilan halaman PHPMyAdmin 2.10 Macromedia Dreamweaver 8.0 Macromedia Dreamwever 8.0 merupakan suatu editor HTML professional untuk perancangan, pengkodean, pengembangan website, halaman web, dan aplikasi web. Dreamweaver juga menyediakan tools yang sangat membantu meningkatkan pengalaman dalam pembuatan web yang powerfull. Berbagai fitur visual editing pada Dremweaver mengizinkan Anda membuat halaman web dengan cepat tanpa harus menuliskan satu baris kode. 26 Gambar 2.16. Tampilan halaman Dreamweaver 2.11 Pengertian Budget (Anggaran) Anggaran adalah rencana kerja organisasi di masa mendatang yang diwujudkan dalam bentuk formal dan sistematis. Dengan demikian, anggaran merupakan rencana kerja organisasi di masa mendatang. Proses penyiapan anggaran disebut penganggaran atau budgeting. Ciri – ciri Anggaran : Tidak setiap rencana kerja organisasi dapat disebut anggaran. Karena anggaran memiliki beberapa cirri khusus yang membedakannya dengan ramalan maupun proyeksi, antara lain : A. Dinyatakan dalam satuan moneter Penulisan dalam satuan moneter dapat didukung oleh satuan kuantitatif lain, seperti unit. Penyusunan rencana kerja dalam satu moneter tersebut bertujuan untuk mempermudah membaca dan usaha guna memahami rencana tersebut. 27 B. Umumnya mencakup kurun waktu satu tahun Ini bukan berarti anggaran tidak dapat disusun untuk kurun waktu lebih pendek, contoh tiga bulan atau untuk kurun waktu lebih panjang, seperti lima tahunan. Batasan waktu dalam penyusunan anggaran akan berfungsi untuk memberikan batasan rencana kerja tersebut. C. Mengandung komitmen manajemen Anggaran harus disertai dengan upaya pihak manajemen dan seluruh anggota organisasi untuk mencapai apa yang telah ditetapkan. Tanpa upaya serius dari pihak manajemen untuk mencapainya, penyusunan anggaran tidak akan banyak manfaatnya bagi perusahaan. Karena itu, dalam menyusun anggaran, perusahaan harus mempertimbangkan dengan teliti sumber daya yang dimiliki perusahaan untuk menjamin bahwa anggaran yang disusun adalah realistis. D. Usulan anggaran disetujui oleh pejabat yang lebih tinggi dari pelaksana Anggaran tidak dapat disusun sendiri-sendiri oleh setiap bagian organisasi tanpa persetujuan atasan penyusun anggaran.