BAB II LANDASAN TEORI
2.1
Konsep Dasar Sistem
Sistem adalah kumpulan atau group dari sub sistem/bagian/komponen apapun baik fisik ataupun non fisik yang saling berhubungan satu sama lain dan bekerja sama secara harmonis untuk mencapai satu tujuan tertentu (Azhar Susanto 22). Sistem informasi merupakan suatu sistem di dalam organisasi yang mempertemukan kebutuhan pengolahan data (kejadian), mendukung operasi atau proses, menyediakan laporan atau dokumen yang diperlukan. Suatu sistem informasi yang dibuat berisi himpunan terintegrasi dari komponen manual dan komponen terkomputerisasi yang bertujuan untuk mengumpulkan
data,
menyimpan data dan menghasilkan informasi untuk pemakai. Pengenalan untuk sistem informasi biasanya terdiri dari: Memahami sistem yang ada dengan cara menyampaikan informasi dan menganalisis sistem yang ada. Mendefinisikan kebutuhan sistem baru yaitu perimbangan, perencanaan, kebutuhan keluaran, masukan, simpanan, pengolahan dan mendefinisikan kriteria penilaian. Proses desain sistem yaitu desain keluaran, desain masukan, desain file, desain pengolahan sistem, pengendalian sistem dan dokumentasi. Pengembangan dan implementasi sistem, yaitu menilai perangkat lunak, dokumentasi sistem dan pelatihan, pengetesan sistem dan implementasi sistem. Sistem informasi terdiri dari komponen-komponen yang disebutnya dengan istilah blok bangunan (building block), yaitu blok masukan (input block), blok model (model block), blok keluaran (output block), blok teknologi (technology block), blok basis data (database block), dan blok kendali (computers block). 7 http://digilib.mercubuana.ac.id/
8
Sebagai suatu sistem, keenam blok tersebut masing-masing saling berinteraksi satu dengan yang lainnya membentuk satu kesatuan untuk mencapai sasarannya. 1. Blok Masukan. Input mewakili data yang masuk ke dalam sistem informasi. Input disini termasuk metode-metode dan media untuk menangkap data yang akan dimasukkan, yang dapat berupa dokumen-dokumen dasar. 2. Blok Model. Blok ini terdiri dari kombinasi prosedur, logika dan model matematik yang akan memanipulasi data input dan data yang tersimpan di basis data dengan cara yang sudah tertentu untuk menghasilkan keluaran yang diinginkan. 3. Blok Keluaran. Produk dari sistem informasi adalah keluaran yang merupakan informasi yang berkualitas dan dokumentasi yang berguna untuk semua tingkatan manajemen serta semua pemakai sistem. 4. Blok Teknologi. Teknologi merupakan “kotak alat” (tool box) dalam sistem informasi. Teknologi digunakan untuk menerima output, menjalankan model, menyimpan dan mengakses data, menghasilkan dan mengirimkan keluaran dan membantu pengendalian dari sistem secara keseluruhan. Teknologi terdiri dari 3 bagian utama, yaitu Teknisi (humanware atau brainware), perangkat lunak (software), dan perangkat keras (hardware). Teknisi dapat berupa orang-orang yang mengetahui teknologi dan membuatnya dapat beroperasi. Misalnya Teknisi adalah operator komputer, pemrogram, operator pengolah kata, spesialis telekomunikasi, analis sistem, penyimpanan data dan lain sebagainya. 5. Blok Basis Data. Basis Data merupakan kumpulan dari data yang saling berhubungan satu dengan yang lainnya, tersimpan di perangkat keras komputer dan digunakan perangkat lunak untuk memanipulasinya. Data perlu disimpan di dalam basis data untuk keperluan penyediaan informasi lebih lanjut. Data di dalam basis data perlu diorganisasikan sedemikian rupa, supaya
http://digilib.mercubuana.ac.id/
9
informasi yang dihasilkan berkualitas. Organisasi basis data yang baik juga berguna untuk efisiensi kapasitas penyimpanannya. Basis data diakses atau dimanipulasi dengan menggunakan perangkat lunak paket yang disebut dengan DBMS (Database Management Systems). 6. Blok Kendali. Banyak hal yang dapat merusak sistem informasi, seperti misalnya bencana alam, api, temperatur, air, debu, kegagalan-kegagalan sistem itu sendiri,
kesalahan-kesalahan,
ketidakefesienan, sabotase dan lain
sebagainya. Beberapa pengendalian perlu dirancang dan diterapkan untuk meyakinkan bahwa hal-hal yang dapat merusak sistem dapat dicegah ataupun bila terlanjur terjadi kesalahan-kesalahan dapat langsung cepat diatasi.
2.2
Konsep Basis Data
Menurut Yulius Eka Agung Saputra (2014: 115) Basis data (database) adalah kumpulan data yang saling berhubungan satu dengan yang lainnya, yang tersimpan di perangkat keras komputer dan diperlukan suatu perangkat lunak untuk memanipulasi basis data tersebut.
Database juga adalah kumpulan
beberapa tabel yang ditampung dalam suatu file. Beberapa komponen yang terdapat pada perancangan basis data secara konseptual diantaranya adalah sebagai berikut: Entitas Entitas terkadang disebut tipe entitas atau kelas entitas. Entitas adalah objek yang dapat dibedakan dari objek-objek lainnya. Atribut Atribut adalah item data yang menjadi bagian dari suatu entitas. Istilah lain dari atribut adalah properti. Hubungan Hubungan adalah asosiasi atau kaitan antara dua entitas.
http://digilib.mercubuana.ac.id/
10
Kekangan Kekangan digunakan untuk melindungi integritas data (misalnya, melindungi kesalahan sewaktu pengisian data). Domain Domain adalah himpunan yang berlaku bagi suatu atribut. Kekangan domain mendefinisikan nama, tipe, format, panjang, dan nilai masingmasing item data. Integritas Referensial Integritas referensial adalah aturan-aturan yang mengatur hubungan antara kunci primer dengan kunci tamu milik tabel-tabel yang berbeda dalam suatu basis data relasional untuk menjaga konsistensi data. Normalisasi adalah suatu teknik dalam menstruktur data dalam cara-cara tertentu untuk mengurangi atau mencegah timbulnya masalah yang berhubungan dengan pengolahan data dalam database. Normalisasi juga diartikan sebagai proses pengelompokan data elemen menjadi tabel-tabel yang menunjukkan entitas dan relasinya. Konsep-konsep pada normalisasi antara lain: Kunci atribut (Key field atau Key attribute) yaitu suatu kunci field yang mewakili record atau tupple Kunci kandidat (Candidate key) yaitu suatu atribut atau satu set atribut yang mengidentifikasi secara unik suatu entity. Kunci primer (Primary key) yaitu satu atribut atau satu set atribut yang mengidentifikasi secara unik dan mewakili setiap kejadian pada satu entity. Kunci alternatif (Alternate key) yaitu kunci kandidat yang dipakai sebagai kunci primer. Kunci tamu (Foreign key) yaitu suatu atribut atau satu set atribut dan melengkapi hubungan yang menunjukkan ke induknya. Bentuk-bentuk normalisasi basis data: 1. Normal satu (1NF atau First Normal Form)
http://digilib.mercubuana.ac.id/
11
Relasi berada pada normal ke satu jika semua atribut mempunyai nilai yang bersifat atomic. 2. Normal kedua (2NF atau Second Normal Form) Relasi berada pada normal kedua jika relasi tersebut merupakan normal satu dan atribut bukan merupakan kunci tergantung penuh pada kunci primer. 3. Normal ketiga (3NF atau Three Normal Form) Relasi berada pada normal ketiga jika relasi tersebut merupakan normal kedua dan atribut bukan kunci tidak tergantung secara transitif pada kunci primer. 4. BCNF (Boyce Codd Normal Form) Relasi berada pada BCNF jika dan hanya jika faktor penentunya adalah kunci kandidat dan relasi tersebut merupakan normal ketiga. Tujuan adanya normalisasi dalam proses mendesain struktur database adalah sebagai berikut:
Untuk menghilangkan kerangkapan data/ redudansi.
Untuk mengurangi kompleksitas.
Untuk mempermudah pemodifikasian data.
Untuk menghilangkan anomali data yakni proses pada basis data yang memberikan efek samping yang tidak diharapkan (misalnya menyebabkan ketidak konsistenan data atau membuat suatu data menjadi hilang ketika data dihapus).
2.3
Diagram Alir (Flow Chart)
Diagram alir (flowchart) adalah suatu skema yang menggambarkan urutan kegiatan dari suatu program dari awal sampai akhir serta menjadi alat bantu dalam perancangan alir sistem dengan menggunakan simbol-simbol agar mudah dipahami. Dalam diagram alir ini biasanya dibagi menjadi 2 yaitu diagram alir proses dan diagram alir program. Diagram alir program (flowchart) merupakan
http://digilib.mercubuana.ac.id/
12
diagram yang menjelaskan secara rinci langkah-langkah dari proses diagram. Diagram alir program dibuat dari derivikasi diagram alir sistem. Diagram alir dibuat dengan menggunakan simbol-simbol sebagai berikut:
Gambar 2.2 Diagram flowchart Sumber: nanomikblog.wordpress.com
2.4
UML
Menurut Adi Nugroho (2010:6), “UML (Unified Modeling Language) adalah 'bahasa' pemodelan untuk sistem atau perangkat lunak yang berparadigma 'berorientasi objek'. Pemodelan (modeling) sesungguhnya digunakan untuk
http://digilib.mercubuana.ac.id/
13
penyederhanaan permasalahan-permasalahan yang kompleks sedemikian rupa sehingga lebih mudah dipelajari dan dipahami”. The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a softwareintensive system. The UML offers a standard way to write a system’s blueprints, including conceptual things such as business processes and systems functions as well as concrete things such as programming language statements, database schemas, and reusable software components.(Tsang.et.al.,2010 p.10) yang diartikan ke dalam bahasa Indonesia bisa dimaksud dengan “Bahasa Pemodelan Terpadu (UML) adalah bahasa grafis untuk memvisualisasikan, menentukan, membangun, dan mendokumentasikan artefak dari sistem perangkat lunakintensif. UML menawarkan cara standar untuk menulis cetak biru sistem, termasuk hal-hal konseptual seperti proses bisnis dan fungsi sistem serta hal-hal konkrit seperti laporan bahasa pemrograman, skema database, dan komponen perangkat lunak dapat digunakan kembali. Beberapa tujuan atau fungsi dari penggunaan UML diantaranya bisa dijabarkan sebagai berikut:
Dapat memberikan bahasa pemodelan visual kepada pengguna dari berbagai macam pemrograman maupun proses rekayasa.
Dapat menyatukan praktek-praktek terbaik yang ada dalam pemodelan.
Dapat memberikan model yang siap untuk digunakan, merupakan bahasa pemodelan visual yang ekspresif untuk mengembangkan sistem dan untuk saling menukar model secara mudah.
Dapat berguna sebagai blue print, sebab sangat lengkap dan detail dalam perancangannya yang nantinya akan diketahui informasi yang detail mengenai koding suatu program.
Dapat memodelkan sistem yang berkonsep berorientasi objek, jadi tidak hanya digunakan untuk memodelkan perangkat lunak (software) saja.
Dapat menciptakan suatu bahasa pemodelan yang nantinya dapat dipergunakan oleh manusia maupun oleh mesin.
http://digilib.mercubuana.ac.id/
14
Gambar 2.3 UML Sumber: en.wikipedia.org Beberapa jenis diagram UML adalah sebagai berikut: a. Use case diagram Use case diagram yaitu salah satu jenis diagram pada UML yang menggambarkan interaksi antara sistem dan aktor, use case diagram juga dapat men-deskripsikan tipe interaksi antara user/pemakai sistem dengan sistemnya.
Gambar 2.4 Use case diagram Sumber: etutorials.org
http://digilib.mercubuana.ac.id/
15
b. Activity diagram Activity diagram atau diagram aktivitas yaitu salah satu jenis diagram pada UML yang dapat memodelkan proses-proses apa saja yang terjadi pada sistem.
Gambar 2.5 Activity diagram Sumber: wisetechnics.wordpress.com c. Class diagram Class diagram yaitu salah satu jenis diagram pada UML yang digunakan untuk menampilkan kelas-kelas maupun paket-paket yang ada pada suatu sistem yang nantinya akan digunakan. Jadi diagram ini dapat memberikan sebuah gambaran mengenai sistem maupun relasi-relasi yang terdapat pada sistem tersebut.
http://digilib.mercubuana.ac.id/
16
Gambar 2.6 Class diagram Sumber: cs.pomona.edu d. Sequence diagram Sequence diagram yaitu salah satu jenis diagram pada UML yang menjelaskan interaksi objek yang berdasarkan urutan waktu, sequence diagram juga dapat menggambarkan urutan atau tahapan yang harus dilakukan untuk dapat menghasilkan sesuatu seperti pada use case diagram. e. Statemachine diagram Statemachine diagram yaitu salah satu jenis diagram pada UML yang menggambarkan transisi maupun perubahan keadaan suatu objek pada sistem. f. Communication diagram Communication diagram yaitu salah satu jenis diagram pada UML yang dapat menggambarkan tahapan terjadinya suatu aktivitas dan diagram ini juga menggambarkan interaksi antara objek yang ada pada sistem. Hampir sama seperti sequence diagram akan tetapi communication diagram lebih menekankan kepada peranan masing-masing objek pada sistem. g. Deployment diagram Deployment diagram yaitu salah satu diagram pada UML yang menunjukkan tata letak suatu sistem secara fisik, dapat juga dikatakan
http://digilib.mercubuana.ac.id/
17
untuk menampilkan bagian-bagian software yang terdapat pada hardware dan digunakan untuk menerapkan suatu sistem dan hubungan antara komponen
hardware.
Jadi
Deployment
diagram
intinya
untuk
menunjukkan letak software pada hardware yang digunakan sistem. h. Component diagram Component diagram yaitu salah satu jenis diagram pada UML yang menggambarkan software pada suatu sistem. Component diagram merupakan penerapan software dari satu ataupun lebih class, dan biasanya berupa file data atau .exe, source kode, table, dokumen dsb. i. Object diagram Object diagram yaitu salah satu jenis diagram pada UML yang menggambarkan objek-objek pada suatu sistem dan hubungan antar nya. j. Composite structure diagram Composite structure diagram yaitu salah satu jenis diagram pada UML yang menggambarkan struktur internal dari pengklasifikasian (class, component
atau
use
case)
dan
termasuk
titik-titik
interaksi
pengklasifikasian kebagian lainnya dari suatu sistem. Ini hampir mirip seperti class
diagram
akan
tetapi composite
structure
diagram
menggambarkan bagian-bagian dari individu kelas saja bukan semua kelas. k. Interaction overview diagram Interaction Overview diagram yaitu salah satu jenis diagram pada UML yang berguna untuk memvisualisasikan kerjasama dan hubungan antara activity diagram dengan sequence diagram. l. Package diagram Package diagram yaitu salah satu jenis diagram pada UML digunakan untuk mengelompokkan kelas dan juga menunjukkan bagaimana elemen model akan disusun serta menggambarkan ketergantungan antara paketpaket. m. Diagram timing Diagram timing yaitu salah satu jenis diagram pada UML yang disebut sebagai bentuk lain dari interaksi diagram, dimana fokus yang paling
http://digilib.mercubuana.ac.id/
18
utamanya kepada waktu. Diagram timing berguna untuk menunjukkan faktor-faktor yang membatasi waktu antara perubahan state terhadap objek yang berbeda.
2.5
Pengenalan Delphi
Delphi bukan merupakan suatu bahasa pemrograman (development language), tetapi merupakan perangkat lunak yang digunakan untuk merancang suatu aplikasi program. Delphi termasuk dalam pemrograman bahasa tingkat tinggi (high level language). Maksud dari bahasa tingkat tinggi yaitu perintahperintah programnya menggunakan bahasa yang mudah dipahami oleh manusia. Bahasa pemrograman delphi disebut bahasa prosedural artinya mengikuti urutan tertentu. Dalam membuat aplikasi perintah-perintah, Delphi menggunakan lingkungan pemrograman visual. Delphi merupakan generasi penerus dari Turbo Pascal. Pemrograman Delphi dirancang untuk beroperasi di bawah sistem operasi Windows. Program ini mempunyai beberapa keunggulan, yaitu produktivitas, kualitas, pengembangan perangkat lunak, kecepatan kompiler, pola desain yang menarik serta diperkuat dengan
bahasa
pemrograman
yang
terstruktur
dalam
struktur
bahasa
pemrograman Object Pascal.
2.6
Sejarah Delphi
Asal usul Pascal bermula dari rancangan Algol, bahasa tingkat tinggi pertama yang mudah dibaca, terstruktur dan mendefinisikan syntax secara sistematis. Pada akhir tahun 1960-an, beberapa usulan evolusi penerus algol dikembangkan. Salah satu yang paling sukses adalah Pascal, ditemukan oleh Prof Niklaus Wirth. Wirth mempublikasikan temuan asli Pascal pada tahun 1971. Mulai diimplementasikan di tahun 1973 dengan beberapa modifikasi. Banyak fitur pascal yang berasal dari bahasa sebelumnya. Pascal menambahkan kemampuan
http://digilib.mercubuana.ac.id/
19
untuk mendefinsikan tipe data baru secara lebih sederhana dari yang pernah ada, juga mendukung struktur data dinamis. Bahasa ini dirancang untuk menjadi alat pembelajaran bagi siswa pada kelas pemrograman. Pada tahun 1975, Wirth dan Jensen memproduksi buku referensi Pascal terakhir “Pascal User Manual and Report”. Wirth berhenti bekerja pada Pascal pada tahun 1977 untuk menciptakan sebuah bahasa baru, Modula – penerus Pascal. Dengan dirilisnya Turbo Pascal 1.0 pada November 1983, Borland mulai perjalanannya dengan lingkungan pengembangan dan perangkatnya. Untuk menciptakan Turbo Pascal 1.0 Borland melisensikan kompilator inti pascal yang cepat dan murah, yang ditulis oleh Anders Hejlsberg. Turbo Pascal memperkenalkan suatu Lingkungan pengembangan terintegrasi / Integrated Development Environment (IDE) dimana anda dapat mengedit code, menjalankan compiler, melihat kesalahan dan melompat kembali ke baris yang mengalami kesalahan. Kompiler turbo pascal telah menjadi salah satu compiler terlaris sepanjang waktu, dan membuat bahasa ini sangat popular pada platform PC.
Gambar 2.7 Anders Hejlsberg Sumber: www.gotocon.com Pada tahun 1995 Pascal kembali dengan memperkenalkan lingkungan aplikasi bernama Delphi – mengubah pascal menjadi sebuah bahasa pemrograman visual. Keputusan yang strategis dengan membuat perangkat database dan konektivitas sentral dari produk pascal.
http://digilib.mercubuana.ac.id/
20
Permulaan Delphi Setelah merilis Turbo Pascal 1, Anders Hejlsberg bergabung dengan perusahaan sebagai seorang karyawan dan arsitek untuk semua versi dari kompiler Turbo Pascal dan tiga versi pertama dari Delphi. Sebagai kepala arsitek di Borland,
Hejlsberg diam-diam merubah Turbo Pascal menjadi bahasa
pengembangan aplikasi berorientasi obyek, lengkap dengan lingkungan yang benar-benar visual dan fitur akses database yang luar biasa. Mengapa diberi nama “Delphi” Seperti yang dijelaskan dalam Museum artikel Borland, proyek dengan codename Delphi muncul pada pertengahan 1993. Mengapa Delphi? Sangat sederhana: “Jika Anda ingin berbicara dengan Oracle, pergilah ke Delphi”. Ketika tiba saatnya untuk memilih nama produknya, setelah sebuah artikel di ‘Windows Tech Journal’ tentang sebuah produk yang akan mengubah hidup programmer, nama terakhir yang diusulkan adalah AppBuilder. Sejak Novell merilis Visual AppBuilder, orang-orang Borland perlu mengambil nama lain, tetapi menjadi semacam komedi: semakin keras orangorang berusaha untuk mengabaikan “Delphi” sebagai nama produk, semakin banyak nama tersebut mendapat dukungan. Setelah disebut-sebut sebagai “pembunuh VB” Delphi tetap menjadi produk landasan untuk Borland. Borland Delphi Borland Delphi merupakan program aplikasi database yang berbasis Object Pascal dari Borland. Selain itu, Delphi juga memberikan fasilitas pembuatan aplikasi visual. Delphi merupakan pilihan dalam pembuatan aplikasi visual karena memberikan produktivitas yang tinggi. Berikut beberapa pengembangan aplikasi Delphi dari waktu ke waktu :
http://digilib.mercubuana.ac.id/
21
Borland Delphi I Delphi 1 dirilis pada tahun 1995 untuk 16-bit Windows 3.1 dan merupakan contoh awal dari apa yang kemudian dikenal sebagai perangkat Rapid Application Development (RAD). Delphi 1 adalah penerus Turbo Pascal dan Borland Pascal, sangat cepat sedikit kode asli kompiler 16-bit dengan memiliki Integrated development environment (IDE) dan toolkit antarmuka pengguna grafis untuk DOS (Borland Pascal ditambah Windows IDE dan kode generasi Windows juga). Seperti Turbo Pascal, kode pada Delphi ditulis dalam dialek bahasa pemrograman Pascal yang dikenal sebagai Object Pascal . Borland Delphi II Delphi 2, dirilis pada tahun 1996, dikembangkan untuk platform Windows 32-bit yang sepenuhnya mendukung teknologi Windows 95, pengmebangan database grid, automasi OLE, mendukung tipe data variant dan long string. Delphi versi ini termasuk Delphi 1 digabung bersama-sama untuk menciptakan aplikasi Windows 16-bit. Borland Delphi III Delphi 3, dirilis pada tahun 1997, merupakan Delphi klasik. Dikembangkan untuk platform Windows 32 bit. Delphi 3 dinyatakan sebagai tools yang sangat komprehensif untuk pengembangan pemrograman visual dan client/server Borland Delphi IV Borland Delphi 4 dirilis pada tahun 1998 . Borland Delphi V Borland Delphi 5 dirilis pada tahun 1999 .
http://digilib.mercubuana.ac.id/
22
Kylix Pada tahun 2001 sebuah versi Linux dari Delphi bernama Kylix dirilis. Untuk mendapatkan produk keluar dengan cepat dan relatif murah, mereka membuat IDE lebih condong menggunakan Wine libraries daripada Linux system libraries (glibc). Biaya pengembangan versi asli glibc Kylix, dikombinasikan dengan kurangnya adopsi Linux dikalangan programmer pada saat itu, menyebabkan penjualan tidak sesuai apa yang diharapkan, dan Kylix setelah versi 3 diam-diam ditinggalkan. Ini adalah kali pertama menambahkan dukungan Linux terhadap produk Delphi. Borland Delphi 6 Ini dibuat dalam upaya untuk mendukung pengembangan lintas platform antara Linux dan Windows, dan sebuah platform alternatif yang menyeberang ke Visual Component Library (VCL) dikenal sebagai CLX pada saat merilis Delphi 6. Ini adalah upaya kedua untuk menambahkan dukungan Linux dengan keluarga produk Delphi (lihat Kylix di atas). Borland Delphi 7 Delphi 7, dirilis pada bulan Agustus 2002, menjadi versi standar yang digunakan oleh pengembang Delphi lebih dari versi tunggal lainnya. Ini adalah salah satu keberhasilan IDE yang diciptakan oleh Borland karena kecepatan, stabilitas dan persyaratan minimum pada hardware dan masih aktif digunakan sampai saat ini (2015). Delphi 7 menambahkan dukungan untuk Windows Theme XP, dan menambahkan lebih banyak dukungan untuk membangun aplikasi Web. Ini juga merupakan versi terakhir dari Delphi yang dapat digunakan tanpa aktivasi.
http://digilib.mercubuana.ac.id/
23
Borland Delphi 8 Delphi 8, dirilis pada tanggal 22 Desember 2003, hanya merilis yang memungkinkan para pengembang untuk mengkompilasi kode Delphi Object Pascal ke .Net (dot NET). Borland melakukan migrasi untuk memindahkan platform Delphi ke arah pemrograman .NeT (dot NET) dengan menelurkan produk Borland Delphi 8.0 for .NET. Delphi 8 sangat dikritik karena memiliki kualitas rendah dan fakta yang tidak mungkin lagi untuk membuat aplikasi asli (*.exe). Ketidakmampuan untuk menghasilkan aplikasi asli (*.exe) hanya berlaku untuk rilis ini, kemudian kemampuan ini ditambahkan kembali ke rilis berikutnya (Delphi 2005). Borland Delphi 2005 Versi berikutnya, Delphi 2005 (disebut juga Delphi 9 atau Borland Developer Studio 3.0), termasuk di dalamnya Win32 dan pengembangan .NET dalam IDE tunggal, Borland mengulangi komitmen untuk pengembang Win32. Delphi 2005 meliputi desain manipulasi waktu dari data langsung pada database. Kemampuan untuk mengkompilasi aplikasi asli windows (*. exe) ditambahkan kembali ke Delphi 2005 setelah dihapus dalam Delphi 8. Borland Delphi 2006 Pada akhir 2005 hadir Delphi 2006 (disebut juga Delphi 10, Borland Developer Studio 4.0) dirilis dan merupakan gabungan pengembangan C # dan Delphi.NET, Delphi Win32 dan C++ ke dalam IDE tunggal. Ini jauh lebih stabil daripada Delphi 8 atau Delphi 2005 dan bahkan lebih ditingkatkan dengan merilis service pack dan beberapa hotfix.
http://digilib.mercubuana.ac.id/
24
Codegear Delphi 2007 Delphi 2007 (Delphi 11), versi pertama oleh CodeGear yang merupakan perusahaan mandiri dari Borland dirilis pada tanggal 16 Maret 2007 sebagai bagian dari produk CodeGear RAD Studio 2007. Fitur baru termasuk dukungan untuk Microsoft yaitu, membangun perangkat tambahan ke Visual Component Library untuk Windows Vista, tapi penjualan C# Builder merosot dalam rilis ini tidak setinggi yang diharapkan dikarenakan pada saat yang sama Visual Studio juga menawarkan C#.
Gambar 2.8 Logo code gear Sumber : news.swebee.com Borland CodeGear dijual kepada Embarcadero Technologies pada tahun 2008. Embarcadero adalah mempertahankan pembagian CodeGear diciptakan oleh Borland untuk mengidentifikasi alat dan persembahan database, dan Embarcadero telah memutuskan untuk mengidentifikasi alat-alat sendiri database di bawah moniker DatabaseGear. Embarcadero Delphi 2009 Delphi 2009 (Delphi 12, dengan nama kode Tiburon), menambahkan banyak fitur baru seperti pengerjaan ulang sepenuhnya VCL dan RTL untuk dukungan Unicode, dan menambahkan generik dan metode anonim untuk pengembangan Win32. Sebuah produk baru dengan nama Delphi Prism ditawarkan untuk pembangunan .NET yang merupakan plugin Visual Studio.
http://digilib.mercubuana.ac.id/
25
Gambar 2.9 Logo embarcadero Sumber : edn.embarcadero.com Embarcadero Delphi 2010 Delphi 2010 (alias Delphi 14, dengan nama kode Weaver, seri nomor 13 dilewati), dirilis pada tanggal 25 Agustus 2009 dan merupakan rilisan Unicode kedua Delphi. Versi ini sudah mencakup kompiler baru sistem run-time type information (RTTI), bisa untuk Windows 7 direct2D, layar sentuh (touchscreen) dan gerakan, sebuah kode formatter, visualizers debugger dan juga pilihan untuk memiliki palet komponen gaya lama dalam IDE. Sistem baru pada RTTI membuat file executable jauh lebih besar dari versi sebelumnya. Embarcadero Delphi XE Versi terbaru dari Delphi, Delphi XE (alias Delphi 2011 dengan nama kode Fulcrum), dirilis pada tanggal 30 Agustus 2010.
http://digilib.mercubuana.ac.id/
26
Gambar 2.10 RAD studio XE7 Sumber : www.sonsivri.to Kegunaan Delphi: 1. Untuk membuat aplikasi pada Windows. 2. Untuk merancang aplikasi berbasis grafis. 3. Untuk membuat program berbasis jaringan (client/server). 4. Untuk merancang program .Net (berbasis internet). Keunggulan Delphi: 1. Memiliki IDE (integrated Development Environment) atau lingkungan pengembangan terintegrasi yang di dalamnya terdapat menu-menu yang memudahkan programmer untuk membuat sebuah program aplikasi. 2. Proses kompilasi cepat, pada saat program dijalankan, secara otomatis akan dibaca sebagai sebuah program, tanpa dijalankan terpisah. 3. Mudah digunakan, karena source code Delphi merupakan turunan dari bahasa pemrograman Pascal. 4. Bersifat multi purpose, artinya bahasa pemrograman Delphi dapat digunakan untuk mengembangkan berbagai keperluan pengembangan aplikasi. 5. Dapat mengkompilasi menjadi single executable, memudahkan distribusi dan meminimalisir masalah yang terkait dengan versioning.
http://digilib.mercubuana.ac.id/
27
Sepintas sebuah program aplikasi yang dapat dibuat dengan menggunakan Delphi hanya terdiri dari file project dan sebuah unit. Namun kenyataannya terdapat beberapa file yang dibentuk pada saat membangun sebuah program aplikasi.Berikut ini merupakan file-file penyusun project yang terdapat pada program Delphi, yaitu: 1) File Project (.dpr ) dan file Unit (.pas ) Sebuah program Delphi terbangun dari modul-modul source code yang disebut unit. Delphi menggunakan sebuah file projek (.dpr) untuk menyimpan program utama. File sumber untuk unit biasanya berisi sebagian besar kode di dalam aplikasi, file ini ditandai dengan ekstensi (.pas). Setiap aplikasi atau projek terdiri atas file projek tunggal atau lebih dalam file unit. 2) File Form (.dfm) File form adalah file biner yang dibuat oleh Delphi untuk menyimpan informasi yang berkaitan dengan form. 3) File Resource (.res) File resource merupakan file biner yang berisi sebuah ikon yang digunakan oleh project. File ini secara terus menerus di-update atau diubah oleh Delphi sehingga file ini tidak bisa diubah oleh pemakai. Dengan menambahkan file resource pada aplikasi dan menghubungkan dengan file project dapat menggunakan editor resource, misalnya editor untuk membuat file resource. 4) File Project Options (.dof ) dan File Desktop Settings (.dsk) File project options merupakan file yang berisi options-options dari suatu project yang dinyatakan melalui perintah options dari menu Project. Sedang file desktop setting berisi option-option yang dinyatakan melalui perintah Environment Options dari menu Tools. Perbedaan di antara kedua jenis file tersebut adalah bahwa file project options dimiliki oleh setiap project sedangkan file desktop setting dipakai untuk lingkungan Delphi. Apabila ada kerusakan pada kedua jenis file tersebut dapat mengganggu proses kompilasi. Prosedur yang dapat kita tempuh untuk menangani gangguan tersebut adalah dengan menghapus kedua jenis file tersebut
http://digilib.mercubuana.ac.id/
28
yaitu .dof dan .dsk karena kedua file tersebut akan terbentuk secara otomatis pada saat menyimpan project. 5) File Backup (.~dp, . ~df, . ~pa) File-file dengan ekstensi di atas merupakan file backup dari suatu project, form dan unit. Ketiga jenis file tersebut akan terbentuk pada saat proses penyimpanan untuk yang kedua kalinya. Kerena ketiga file tersebut berjenis backup (cadangan) maka ketiga jenis file tersebut berisi salinan terakhir dari file-file utama sebelum disimpan lebih lanjut. 6) File jenis lain File-file dengan ekstensi lain yang dapat ditemukan dalam folder tempat penyimpanan program aplikasi selain yang memiliki ekstensi yang telah disebutkan pada umumnya adalah file-file yang dibentuk oleh compiler dan beberapa file Windows yang digunakan Delphi. File-file tersebut adalah: a) File Executable (.exe ) File ini dibentuk oleh compiler dan merupakan file esekusi (executable) dari program aplikasi. File ini berdiri sendiri dan hanya memerlukan file library di DLL , VBX dan lain-lain. b) File unit Object (.dcu) File ini merupakan file unit (.pas) yang telah dikompilasi oleh compiler yang akan dihubungkan dengan file esekusi. c) File Dinamic Link Library (.dll). File ini dibentuk oleh compiler apabila kita merancang .dll sendiri. d) File Help. File ini merupakan file Windows dan merupakan file help standar yang dapat dipakai diprogram aplikasi Delphi. e) File Image (.wmf, .bmp , .ico). File-file ini merupakan file Windows dari aplikasi selain Delphi yang dapat digunakan untuk mendukung program aplikasi yang kita rancang tampak lebih menarik.
http://digilib.mercubuana.ac.id/
29
Beberapa fasilitas lain yang dibenamkan di dalam Code Editor Delphi adalah:
Syntax highlighting, untuk menyoroti kesalahan penulisan program. Fasilitas ini juga bertujuan untuk menginformasikan programmer tentang penulisan variable, komentar, string, identifier, keyword, dan reserved word.
Code Completion, untuk membantu menyelesaikan penulisan suatu sintaks program secara otomatis. Tujuan utama fasilitas ini adalah efisiensi waktu dalam penulisan kode program.
Live Template, fasilitas ini memungkinkan para pengembang dapat menuliskan kode program yang relevan secara cepat dengan sedikit pengetikan keyboard. Live template adalah sebuah file XML sederhana, sehingga para pengembang dapat secara cepat dan mudah membuat template mereka sendiri. Live template juga sepenuhnya scriptable, sehingga memungkinkan para pengembang melakukan semua hal yang mereka inginkan pada Code Editor.
Class Completion, untuk menghasilkan kode secara otomatis pada saat pendeklarasian class.
Refactoring, untuk membantu para pengembang untuk melakukan penulisan ulang kode tanpa memperlihatkan kesalahan agar lebih mudah dibaca dan lebih terorganisir.
Code Insight, jendela pop-up yang memberikan informasi kepada para pengembang tentang parameter yang diperlukan untuk suatu rutinitas.
Error Insight, fasilitas pada kode editor Delphi untuk memberitahukan kesalahan pada penulisan program. Cara kerja Error Insight adalah member tanda garis bawah pada sintaks program yang mengalami kesalahan.
Help Insight, menyediakan jendela pop-up, tepat di editor dan memberikan dokumentasi dasar dan informasi tentang segala pernyataan dalam kode identifier.
Block Completion, fasilitas untuk memastikan bahwa semua blok kode program telah diberi pembuka dan penutup. Sebagai contoh, pada saat penulisan kode program, Anda menulis “begin” pada kode editor. Jika
http://digilib.mercubuana.ac.id/
30
setelah penulisan tersebut anda menekan tombol Enter, maka kode “end” akan ditambahkan pada akhir blok.
Code Navigation, fasilitas untuk melihat sebuah deklarasi pada suatu identifier, procedure, atau function. Fasilitas ini dapat dijalankan dengan menekan tombol CTRL dan melakukan klik suatu identifier, procedure, ataupun function yang kemudian akan membawa anda menuju suatu blok kode program yang mendeklarasikan identifier, procedure, atau function yang telah di klik.
Line Numbering, fasilitas berupa penomoran per baris pada kode editor yang memudahkan para pengembang untuk melakukan perbaikan kesalahan pada kode program.
Macro (yang dapat direkam dan ditulis ulang), untuk menghindari pengetikan kode program yang sama secara berulang-ulang.
Secara keseluruhan, Code Editor dirancang untuk pengetikan kode secara mudah, efisien dan efektif.
2.7
Struktur Data dan Algoritma Delphi
Istilah struktur data dan algoritma biasa hadir tidak terpisahkan. Jika kita membicarakan struktur data maka tidak bisa lepas dari algoritma. Struktur data adalah pengaturan data di dalam memori komputer atau terkadang di dalam disk dengan tujuan agar data dapat diakses secara efisien. Yang termasuk dalam struktur data antara lain yaitu senarai berantai, antrian, tumpukan dan pohon biner. Adapun yang dimaksud algoritma yaitu suatu langkah atau prosedur yang ditujukan untuk memanipulasi data. Sebagai contoh, algoritma diperlukan untuk memasukan data ke dalam suatu struktur data atau untuk mencari suatu data yang tersimpan dalam struktur data (Abdul Kadir 2011: 2).
http://digilib.mercubuana.ac.id/
31
Gambar 2.11 Struktur data dan algoritma Sumber: Abdul Kadir (2011: 2) Algoritma sendiri mempunyai tiga struktur dasar, yaitu: 1. Sekuensial 2. Seleksi 3. pengulangan Struktur sekuensial menyatakan langkah-langkah yang berurutan. Urutan dalam langkah menentukan urutan eksekusi. Contoh berikut menunjukkan algoritma untuk menukarkan isi A dan isi B: XA menyatakan X diisi dengan isi A AB menyatakan A diisi dengan isi B BX menyatakan B diisi dengan isi X Pada contoh di atas, bila urutan diubah maka hasilnya tidak akan berupa penukaran isi A dan isi B.
http://digilib.mercubuana.ac.id/
32
Struktur data yang kedua adalah seleksi. Kegunaanya adalah untuk memilih tindakan didasarkan oleh suatu kondisi. Misalnya, suatu nilai A dan nilai B akan dipertukarkan hanya kalau memenuhi A > B (baca: A lebih besar daripada B). Hal ini dinyatakan dengan IF seperti berikut: IF
A>B XA AB BX
END-IF Pada contoh di atas hanya akan diproses kalau A > B bernilai benar. Algoritma di atas bisa dibaca sebagai “tukarkan A dan B kalau A > B”. Kalau A tidak lebih besar daripada B maka tidak akan terjadi penukaran isi A dan B. Struktur ketiga berupa pengulangan yang kegunaannya untuk mengulang suatu tindakan beberapa kali. Bentuk pertama pengulangan berupa FOR. Contoh: Jum 0 FOR I 1 To N Jum Jum + 1 END-FOR Bentuk pengulangan yang kedua berupa WHILE. Contoh FOR di atas kalau ditulis dengan WHILE menjadi seperti berikut: Jum 0 I1 WHILE I <= N Jum Jum + 1 II+1 END-WHILE
http://digilib.mercubuana.ac.id/
33
Notasi lain yang sering digambarkan dalam algoritma yaitu untuk menyatakan elemen array. Array adalah kumpulan data yang sejenis. Contohnya seperti dalam gambar berikut:
Gambar 2.12 Array berisi sekumpulan data Sumber: Abdul Kadir (2011: 6) Contoh algoritma yang melibatkan array dapat dilihat berikut ini: Jum 0 FOR I 1 To 8 Jum Jum + A[I] END-FOR Contoh di atas digunakan untuk menjumlahkan kedelapan elemen array A. jadi algoritma di atas identik dengan: A[1] + A[2] + A[3] + A[4] + A[5] + A[6] + A[7] + A[8] Array pada contoh di atas adalah array berdimensi satu. Adapun array berdimensi dua berbentuk tabel yang mengandung baris dan kolom.
http://digilib.mercubuana.ac.id/
34
Gambar 2.13 Array berdimensi dua Sumber: Abdul Kadir (2011: 7)
2.8
SQLite
SQLite adalah salah satu embedded database open source. SQLite merupakan lokal database management system yang memiliki ukuran yang relatif kecil, ditulis dalam bahasa C. SQLite merupakan proyek yang bersifat public domain yang dikerjakan oleh D.Richard Hipp.
Gambar 2.14 SQLite Sumber: www.sqlite.org
http://digilib.mercubuana.ac.id/
35
Tidak seperti pada paradigma client – server umumnya, Inti SQLite bukanlah sebuah sistem yang mandiri yang berkomunikasi dengan sebuah program, melainkan sebagai bagian integral dari sebuah program secara keseluruhan. Sehingga protokol komunikasi utama yang digunakan adalah melalui pemanggilan API secara langsung melalui bahasa pemrograman. Mekanisme seperti ini tentunya membawa keuntungan karena dapat mereduksi overhead, latency times, dan secara keseluruhan lebih sederhana. Seluruh elemen basisdata (definisi data, tabel, indeks, dan data) disimpan sebagai sebuah
file.
Kesederhanaan dari sisi disain tersebut bisa diraih dengan cara mengunci keseluruhan file basis data pada saat sebuah transaksi dimulai. Pustaka SQLite mengimplementasikan hampir seluruh elemen-elemen standar yang berlaku pada SQL-92, termasuk transaksi yang bersifat atomic, konsistensi basis data, isolasi, dan durabilitas (dalam bahasa Inggris lebih sering disebut ACID), trigger, dan query-query yang kompleks. Tidak ada pengecekan tipe sehingga data bisa di-entry kan dalam bentuk string untuk sebuah kolom bertipe integer. Beberapa kalangan melihat hal ini sebagai sebuah inovasi yang menambah nilai guna dari sebuah basis data, utamanya ketika digunakan dalam bahasa pemrograman berbasis script (PHP, Perl), sementara kalangan lain melihat hal tersebut sebagai sebuah kekurangan. Beberapa proses ataupun thread dapat berjalan secara bersamaan dan mengakses basis data yang sama tanpa mengalami masalah. Hal ini disebabkan karena akses membaca data dilakukan secara paralel. Sementara itu akses tulis data hanya bisa dilakukan jika tidak ada proses tulis lain yang sedang dilakukan; jika tidak, proses tulis tersebut akan gagal dan mengembalikan kode kesalahan (atau bisa juga secara otomatis akan mencobanya kembali sampai sejumlah nilai waktu yang ditentukan habis). Yang dimaksud Thread itu sendiri adalah suatu bagian program (berupa runtunan kode) yang tidak bergantung pada bagian lain dan dapat dijalankan secara bersama-sama. Ini artinya, suatu thread dapat diistirahatkan (paused) tanpa harus menghentikan bagian lain atau keseluruhan program. Pada saat runtime, semua thread yang ada di dalam program akan menempati ruang memori yang sama sehingga thread-thread tersebut dapat berbagi data dan kode satu sama lain.
http://digilib.mercubuana.ac.id/
36
Sebuah program yang mandiri dinamakan SQLite disediakan dan bisa digunakan untuk mengeksekusi query dan memanajemen file-file basis data SQLite. Program tersebut juga merupakan contoh implementasi penulisan aplikasi yang menggunakan pustaka SQLite. SQLite merupakan salah satu embedded database yang wajib dipertimbangkan untuk digunakan pada aplikasi bukan enterprise karena memiliki beberapa kelebihan yaitu:
Secara umum cukup stabil.
Perfomanya lebih efesien dan cepat dibandingkan database manager yang lain.
Sedikit menggunakan memory, hanya membutuhkan single library untuk mengakses database.
Berjalan di banyak platform yang berbeda, dan dapat dipindahkan dengan mudah tanpa setting administrasi yang rumit.
Memenuhi standar ACID (Atomicity, Consistency, Isolation, dan Durability).
2.9
Mendukung ANSI 92 SQL Standar.
Mempunyai API untuk bahasa C++, PHP, Perl, Python, dan Tcl.
License public domain, free untuk redistributed.
Pengujian Perangkat Lunak
Pengujian perangkat lunak dilakukan untuk menilai sejauh mana keberhasilan suatu program dan menentukan apakah program yang sudah dibentuk sesuai dengan keinginan user atau belum. Pada dasarnya, pengujian merupakan suatu proses rekayasa perangkat lunak yang dapat dianggap secara psikologis sebagai suatu hal yang bersifat destruktif daripada konstruktif dengan sasaran pengujian sebagai berikut: 1. Pengujian adalah proses eksekusi suatu program dengan tujuan menemukan kesalahan. 2. Test case yang baik memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya.
http://digilib.mercubuana.ac.id/
37
3. Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya. Pendekatan yang biasa digunakan dalam pengujian perangkat lunak diantaranya adalah sebagai berikut: 1. Black Box Testing Pengujian menggunakan metode ini bertujuan untuk menunjukkan fungsi perangkat lunak secara langsung tentang cara beroperasinya, apakah data keluaran telah berjalan sebagaimana yang diharapkan dan apakah informasi
yang
disimpan
secara
eksternal
selalu
terjaga
kemutakhirannya. Pada pengujian ini program dianggap sebagai ‘black box’ (kotak hitam) yang berfokus pada persyaratan fungsional perangkat lunak. Metode ini memungkinkan software developer untuk mendapatkan serangkaian kondisi input dalam pengujiannya. Pengujian black box berusaha menemukan kesalahan dalam kategori: a. Fungsi – fungsi yang tidak benar atau hilang. b. Kesalahan interface. c. Kesalahan dalam struktur data atau akses database eksternal. d. Kesalahan kinerja. e. Inisialisasi dan kesalahan terminasi. Black-box testing cenderung diaplikasikan selama tahap akhir pengujian. Pengujian black-box memperhatikan struktur kontrol, sehingga perhatian berfokus pada domain informasi. Black-box testing dirancang untuk dapat menjawab pertanyaan berikut: a. Bagaimana validitas fungsional diuji? b. Kelas input apa yang akan membuat test case menjadi baik? c. Apakah sistem sensitif terhadap nilai input tertentu? d. Bagaimana batasan dari suatu data diisolasi? e. Bagaimana kecepatan dan volume data yang dapat ditolerir oleh sistem?
http://digilib.mercubuana.ac.id/
38
f. Apa pengaruh kombinasi tertentu dari data terhadap operasi sistem? Black Box testing bukan alternatif white-box testing, namun merupakan pelengkap yang mampu mengungkap kesalahan, jika dibandingkan metode white box testing. 2. White Box Testing Dengan white box testing dapat meramalkan cara kerja perangkat lunak secara rinci, karenanya logical path (jalur logika) perangkat lunak akan diuji dengan menyediakan test case yang akan mengerjakan kumpulan kondisi atau pengulangan secara spesifik yang dapat diperoleh dengan: a. Menjamin bahwa semua independent path pada suatu modul telah digunakan minimal satu kali. b. Menggunakan semua keputusan logis pada sisi true dan false. c. Mengeksekusi semua loop dalam batasannya dan pada batas operasionalnya. d. Menggunakan struktur data internal untuk menjamin validitasnya. Software yang dibangun tidak selalu sempurna. Terkadang ada kesalahan yang baru diketahui saat pengujian atau bahkan saat implementasi. Berikut ini kriteria software yang “cacat”: a. Kesalahan logika dan asumsi yang salah berbanding terbalik dengan probabilitas jalur program
yang akan dieksekusi.
Kecenderungan kesalahan ini terjadi pada tahap desain dan implementasi fungsi, kondisi atau kontrol yang berada di luar pikiran. Kesalahan ini terjadi jika pemrosesan yang rutin sudah dikerjakan dengan baik tetapi pemrosesan yang khusus cenderung diabaikan. b. Selalu ada keyakinan bahwa logical path tidak akan dieksekusi pada basis regular. Kesalahan ini terjadi karena adanya kesalahan asumsi tentang aliran data dan kontrol.
http://digilib.mercubuana.ac.id/
39
c. Kesalahan tipologis yang merupakan kesalahan yang acak atau random. Perpindahan dari bahasa pemrograman satu ke bahasa pemrograman lain menyebabkan timbulnya kesalahan sintaks.
2.10 Teori Lainnya
Beberapa landasan teori yang terkait dengan pembahasan pada skripsi penulis adalah sebagai berikut:
2.10.1
Improvement
Kaizen yang merupakan bahasa jepang jika diartikan ke dalam bahasa Indonesia bisa dimaksud dengan peningkatan berkesinambungan atau suatu proses perbaikan terus menerus (Continuous Improvement). Dikemukakan bahwa Continuous Improvement menggambarkan perubahan yang mencakup komunikasi secara terbuka dan penghapusan dari hambatan antara personil manajemen dengan non-manajemen. Tujuan dari Continuous Improvement ini adalah untuk meningkatkan kualitas dari produk-produk dengan meningkatkan kualitas dari proses menghasilkan produk tersebut. Manfaat dari sistem Kaizen adalah sebagai berikut: 1. Perbaikan kualitas Produk Sumber Daya disatukan bersama dan tim kerja yang dibuat lebih kuat, didirikan atau dibangun kembali untuk menyelesaikan masalah. Hasilnya terlihat ketika kualitas produksi membaik. Prosedur baru yang diterapkan dan tugas pekerjaan yang efisien sehingga membuat manajemen waktu lebih ramping. Mendengarkan semua ide karyawan merupakan hal yang sangat penting. 2. Kerjasama tim akan meningkat Semangat dan kepercayaan dari tim untuk memperbaiki masalah-masalah yang harus diselesaikan. Karyawan mulai melihat pekerjaan mereka dalam cahaya yang baru dan melanjutkan untuk melakukan pekerjaan mereka
http://digilib.mercubuana.ac.id/
40
dengan perspektif baru. Karyawan tidak akan lagi berpikir buruk tentang satu sama lain atau memegang prasangka. Ketika tim work solid, produktifitas kerja meningkat. 3. Pemanfaatan sumber daya secara maksimal. 4. Dapat Memecahkan masalah dengan lebih cepat. Pemecahan masalah cepat dilakukan ketika masalah langsung dihadapi bersama. Sistem Kaizen memegang keyakinan bahwa pemecahan masalah setelah menemukan akar masalah akan lebih cepat daripada cara-cara tradisional pertemuan yang panjang dalam rapat. Contoh Pemecahan masalah produksi dengan mengurangi lead time. Kadang-kadang, ada solusi sementara yang mungkin improvisasi mengakibatkan perubahan permanen pada proses. Pada dasarnya membantu Anda memecahkan masalah dengan cepat, kuncinya adalah dengan ide-ide inovatif. Hal yang penting dari Kaizen adalah komunikasi, kerjasama tim, membuang prasangka buruk untuk ide perbaikan.
2.10.2
Registrasi
Dalam Kamus Besar Bahasa Indonesia registrasi berarti pencatatan atau pendaftaran sedangkan implementasinya di dalam rutinitas pekerjaan penulis registrasi difungsikan sebagai pencatatan invoice yang biasa disebut register invoice.
2.10.3
Invoice
Faktur Penjualan atau dalam istilah asingnya yaitu Sales Invoice adalah lembar bukti tagihan atau bukti transaksi kepada pelanggan atas pembelian suatu barang/ jasa. Faktur Penjualan biasanya dikirim oleh pemasok bersamaan dengan atau setelah pengiriman barang/ jasa. Tidak ada bentuk baku faktur di mana pun sehingga perusahaan dapat mengubah sesuai bagian-bagian faktur sesuai dengan keperluan.
http://digilib.mercubuana.ac.id/
41
2.10.4
Paperless
Penggunaan Paperless Office dapat didefinisikan sebagai upaya untuk menggantikan kertas fisik dengan dokumen digital berbentuk file .doc, .pdf, .docx dan lain sebagainya (Prastowo, 2013). Paperless Office dapat mengurangi ketergantungan kertas pada sebuah kantor konvensional dan memudahkan proses komunikasi serta mentransfer data dengan cepat (Prasetyo,2011).
Gambar 2.15 Simbol paperless office Sumber: Kompasiana.com Setiap Proses produksi kertas memerlukan bahan kimia, air dan energi dalam jumlah besar dan tentu saja bahan baku utama yang pada umumnya berasal dari kayu. Diperlukan 1 batang pohon usia 5 tahun untuk memproduksi 1 rim kertas. Limbah yang dihasilkan dari proses produksi kertas juga sangat besar, baik secara kuantitatif dalam bentuk cair, gas, dan padat, maupun secara kualitatif. Agar limbah ini tidak mencemari lingkungan, maka diperlukan teknologi tinggi dan energi untuk memprosesnya. Untuk memenuhi kebutuhan kertas nasional yang sekitar 5,6 juta ton/tahun diperlukan bahan baku kayu untuk membuat pulp dalam jumlah besar yang mahal dan tidak dapat tercukupi dari Hutan Tanaman Industri (HTI) Indonesia. Dibalik kesuksesan industri pulp dan kertas terdapat ancaman bagi hutan alam Indonesia yang luasnya dari tahun ke tahun semakin berkurang. Kementerian Kehutanan
http://digilib.mercubuana.ac.id/
42
Republik Indonesia 2009 mencatat bahwa laju kerusakan hutan Indonesia mencapai 1,08 ha/tahun. Tabel 1.1 Data impor, ekspor, produksi dan konsumsi pulp di Indonesia dari tahun 2006 – 2010 (dalam ton). Tahun
Impor
Ekspor
Produksi
Konsumsi
2006
3.488.558,9
2251
280.872
3.767.180
2007
3.584.375,6
2324
2.093.992
5.676.044
2008
4.078.868,8
2691
2.114.658
6.190.836
2009
3.964.315,1
2180
1.055.089
5.017.224
2010
4.214.144,2
2387
1.076.276
5.288.033
(Sumber : Badan Pusat Statistik Nasional Indonesia, 2010) Sebuah ironi memang kita lihat kemudahan dan ketergantungan akan kertas bisa terlihat dari banyaknya kertas yang ada di sekitar kita seperti dokumen, kemasan produk, koran, majalah, brosur/leaflet/katalog produk, surat-surat, produk-produk sekali pakai, dan lain-lain. Yang berarti semakin besar pula produksi bahan baku kertas yang berasal dari kayu, namun disamping itu tidak diiringi dengan pemakaian kertas bekas hasil pakai sebagai bahan baku kertas baru atau menggunakan bahan alternatif lain yang ramah lingkungan. Ada 6 poin alasan yang bisa dijabarkan mengapa harus memulai kegiatan paperless: 1. Meningkatkan efisiensi penyimpanan. 2. Menghemat waktu. 3. Menghemat biaya. 4. Meningkatkan akurasi data. 5. Menjaga keamanan data. 6. Memudahkan penyebaran informasi.
http://digilib.mercubuana.ac.id/