BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Pengertian HTML Menurut Williams dan Sawyer (2007, p.67) Hypertext Markup Language (HTML) adalah sekumpulan perintah khusus (disebut “tag” atau “markup”) yang dipakai untuk menentukan struktur, bentuk dan link pada dokumen ke dokumen multimedia lain di website. HTML merupakan sebuah format dokumen dan gabungan dari hypertext yang menghubungkan dengan dokumen lain yang disimpan pada komputer yang sama maupun komputer yang berbeda. 2.1.2 Pengertian PHP Menurut Agus Saputra (2011, p.1) PHP atau yang memiliki kepanjangan PHP Hypertext Preprocessor merupakan suatu bahasa pemrograman yang difungsikan untuk membangun suatu website dinamis. PHP menyatu dengan kode HTML, maksudnya adalah beda kondisi. HTML digunakan sebagai pembangun atau pondasi dari kerangka layout web, sedangkan PHP difungsikan sebagai prosesnya sehingga dengan adanya PHP tersebut, web akan sangat mudah di-maintenance. 7 8 PHP berjalan pada sisi server sehingga PHP disebut juga sebagai bahasa Server Side Scripting. Artinya bahwa dalam setiap/untuk menjalankan PHP, wajib adanya web server. PHP ini bersifat open source sehingga dapat dipakai secara cuma-cuma dan mampu lintas platform, yaitu dapat berjalan pada sistem operasi Windows maupun Linux. PHP juga dibangun sebagai modul pada web server apache dan sebagai binary yang dapat berjalan sebagai CGI. 2.1.2.1 Keunggulan PHP Ada beberapa alasan yang menjadi dasar pertimbangan mengapa menggunakan PHP. 1. Mudah dipelajari, alasan tersebut menjadi salah satu alasan utama untuk menggunakan PHP, Pemula pun akan mampu untuk menjadi web master PHP. 2. Mampu Lintas Platform, artinya PHP dapat/ mudah diaplikasikan ke berbagai platform OS(Operating Sytem) dan hampir semua browser juga mendukung PHP. 3. Free alias Gratis, bersifat Open Source. 4. PHP memiliki tingkat akses yang cepat. 5. Didukung oleh beberapa macam web server, PHP mendukung beberapa web server, seperti Apache, IIS, Lighttpd, Xitami. 9 6. Mendukung database, PHP mendukung beberapa database, baik yang gratis maupun yang berbayar, seperti MySQL, PostgreSQL, mSQL, Informix, SQL server, Oracle. 2.1.2.2 Script Dasar PHP PHP sebagai alternatif lain memberikan solusi sangat murah (karena gratis digunakan) dan dapat berjalan diberbagai jenis platform. PHP adalah skrip bersifat server-side yang ditambahkan ke dalam HTML. PHP sendiri merupakan singkatan dari Personal Home Page Tools. Skrip ini akan membuat suatu aplikasi dapat diintegrasikan ke dalam HTML sehingga suatu halaman web tidak lagi bersifat statis, namun menjadi bersifat dinamis. Sifat server side berarti pengerjaan skrip dilakukan di server, baru kemudian hasilnya di kirimkan ke browser. Sintaks dasar PHP meliputi bagaimana cara memulai suatu struktur pemrograman PHP. Ada empat cara untuk memulai pemrograman PHP, diantaranya: <?php ...... ?> <? ...... ?> <script language=”php”> ...... </script> <% ...... %> dari beberapa sintaks dasar tersebut, yang paling banyak digunakan adalah cara yang pertama dan yang kedua dari atas. 10 Cara penulisan skrip PHP ada dua macam, yaitu Embedded Script dan Non Embedded Script. Contohnya: Embedded Script <html> <body> <? php echo “Belajar”; ?> </body> <html> Non Embedded Script <?php echo “<html>”; echo “<body>”; echo “Belajar PHP”; echo “</body>”; echo “</html>”; ?> Dari contoh menjelaskan bahwa skrip PHP dapat berupa embedded script yaitu meletakkan tag PHP diantara tag-tag HTML sedangkan non embedded script yaitu semua tag HTML diletakkan dalam tag PHP. Semua kode PHP menyerupai dengan kode bahasa C, walaupun tidak sepenuhnya sama. 11 Untuk menampilkan nilai suatu variabel ke layer dapat menggunakan perintah yaitu echo, print maupun printf. Contohnya: echo echo “$data”; echo $data; echo “nilai”; echo $data. “Mahasiswa Binus”; print print (“$data”); print ($data); print (“nilai”); print ($data. “Mahasiswa Binus”); printf $data=”devie”; printf (“%s”,$data); printf (“%s Dosen Binus”, $data); Sebagai contoh untuk menampilkan kata “Halo” pada halaman web menggunakan PHP, maka sintaksnya sebagai berikut: <?PHP Echo “Halo”; ?> 12 2.1.3 Pengertian SQL Menurut Yeni Kustiyahningsih (2010, p.145) Basis data adalah sekumpulan informasi yang diatur agar mudah dicari. Dalam arti umum basis data adalah sekumpulan data yang diproses dengan bantuan komputer yang memungkinkan data dapat diakses dengan mudah dan tepat, yang dapat digambarkan sebagai aktivitas dari satu atau lebih organisasi yang berelasi. MySQL merupakan suatu database. MySQL dapat juga dikatakan sebagai database yang sangat cocok bila dipadukan dengan PHP. Secara umum, database berfungsi sebagai tempat atau wadah untuk menyimpan, mengklasifikasikan data secara profesional. MySQL bekerja menggunakan SQL Language (Structure Query Language). Itu dapat diartikan bahwa MySQL merupakan standar penggunaan database di dunia untuk pengolahan data. MySQL termasuk jenis RDBMS (Relational Database Management System). Sedangkan RDBMS sendiri akan lebih banyak mengenal istilah seperti tabel, baris, dan kolom digunakan dalam perintah-perintah di MySQL. MySQL merupakan sebuah basis data yang mengandung satu atau sejumlah tabel. Tabel terdiri atas sejumlah baris dan setiap baris mengandung satu atau beberapa kolom. Di dalam PHP telah menyediakan fungsi untuk koneksi ke basis data dengan sejumlah fungsi untuk pengaturan baik menghubungkan maupun memutuskan koneksi 13 dengan server database MySQL sebagai sarana untuk mengumpulkan informasi. Pada umumnya, perintah yang paling sering digunakan dalam mySQL adalah select (mengambil), insert (menambah), update (mengubah), dan delete (menghapus). Selain itu, SQL juga menyediakan perintah untuk membuat database, field, ataupun index guna menambah atau menghapus data. 2.1.4 Pengertian CSS (Cascading Style Sheet) Menurut Slamet Riyanto (2009, p.236) Cascading Style Sheet (CSS) merupakan salah satu bahasa pemrograman web untuk mengendalikan beberapa komponen dalam sebuah web sehingga akan lebih terstruktur dan seragam. CSS dapat mengendalikan gambar, warna bagian tubuh pada teks, warna tabel, ukuran border, warna border, warna hyperlink, warna mouse over, spasi antar paragraf, spasi antar teks, margin kiri, kanan, atas, bawah, dan parameter lainnya. CSS adalah bahasa style sheet yang digunakan untuk mengatur tampilan dokumen. Dengan adanya CSS memungkinkan kita untuk menampilkan halaman yang sama dengan format yang berbeda. 14 2.1.5 Pengertian JQuery Menurut Beighly (2010, p8) JQuery adalah Open Source add-on pustaka JavaScript yang menekankan pada interaksi antara JavaScript dan HTML. JQuery merupakan kode JavaScript yang telah ditulis, dan tinggal menambahakan satu atau dua koding untuk memanggil koding JQuery. JQuery banyak digunakan sebagai aplikasi untuk mempercantik tampilan suatu aplikasi web. JQuery memiliki banyak keuntungan, diantara lain adalah : Mudah digunakan dan dipelajari. Ringkas dan ringan. Tidak perlu me-reload 1 halaman untuk dijalankan. Reusabillitas yang tinggi. Lisensi bebas 2.1.6 Pengertian DBMS (Database Management System) DBMS (Database Management System) menurut Connolly (2005,p.16) adalah suatu sistem piranti lunak yang memungkinkan user untuk mendefinisikan, membuat, merawat, dan mengontrol akses ke dalam basis data. 2.1.6.1 Komponen-Komponen DBMS 1. Perangkat Keras (Hardware) Hal ini berupa computer tunggal pribadi (PC), mainframe tunggal 15 hingga jaringan komputer. Perangkat keras dapat tergantung pada kebutuhan perusahaan dan DBMS yang digunakan. 2. Perangkat Lunak (Software) Terdiri dari perangkat lunak DBMS sendiri, program-program aplikasi, dan sistem operasi termasuk perangkat lunak. 3. Data Hal ini merupakan komponen paling penting dalam lingkungan DBMS. Data berperan sebagai penghubung antara komponen mesin dengan komponen manusia. Basis data mengandung data operasional dan meta-data. Struktur basis data disebut skema. 4. Prosedur Hal ini berarti sejumlah intruksi dan pengaturan yang menuntunkan rancangan dan pengguna dari basis data. Pemakai sistem dan pegawai yang mengelola basis data membutuhkan dokumen prosedur tentang bagaimana untuk menggunakan atau menjalankan sistem. Instruksi-instruksi tersebut dapat berupa: a. Log on ke DBMS b. Penggunaan sebagai fasilitas DBMS atau program aplikasi c. Memulai dan menghentikan DBMS d. Membuat back up dari basis data e. Menangani kegagalan perangkat keras atau perangkat lunak 16 f. Mengubah struktur dari sebuah tabel, mengatur kembali basis data dalam multiple disk, meningkatkan performa, atau membuat arsip data pada penyimpanan sekunder. 5. Orang Komponen terakhir adalah orang yang terlibat dalam sistem, termasuk data dan database administrator, perancang basis data, pengembang aplikasi, dan end user. 2.1.7 Rekayasa Perangkat Lunak 2.1.7.1 Definisi Rekayasa Perangkat Lunak Menurut Fritz Baurer yang dikutip oleh Pressman (2005, p.30), rekayasa perangkat lunak adalah pengembangan dan penggunaan prinsip pengembangan suara untuk memperoleh perangkat lunak dan bekerja secara efisien pada mesin nyata. IEEE (Institute of Electrical and Electronics Engineers) telah mengembangkan definisi tersebut menjadi lebih luas , antara lain sebagai berikut: a. Aplikasi dari sebuah pendekatan yang disiplin, sistematis kepada pengembangan, operasi, dan pemeliharaan perangkat lunak, yaitu aplikasi dari rekayasa perangkat lunak. b. Studi tentang pendekatan-pendekatan seperti pada (a). 17 2.1.7.2 Paradigma Rekayasa Perangkat Lunak Paradigma rekayasa perangkat lunak mencangkup metode, tools, dan prosedur. Metode rekayasa perangkat lunak memberikan teknik untuk membangun perangkat lunak. Metode-metode itu menyangkut serangkaian tugas yang luas yang menyangkut analisis kebutuhan, konstruksi program, desain, pengujian, dan pemeliharaan. Tools rekayasa perangkat lunak memberikan topangan yang otomatis ataupun semi otomatis pada proses dan metode yang ada. Prosedur rekayasa perangkat lunak menerapkan metode dan tools sekaligus atau pendefinisian urutan aktivitas metode yang diterapkan dan apa yang diinginkan. Rekayasa piranti lunak dalam paradigma yang sering digunakan adalah Classic Life Cycle atau sering disebut Waterfall Model. Gambar 2.1 Gambar The Classic Life Cycle – Waterfall (Pressman, 2005, p79) 18 Waterfall model menurut (Pressman, 2005, p46) merupakan sebuah pendekatan yang terdiri dari bagian-bagian proses yang meliputi satu kesatuan untuk memerlukan pendekatan kepada piranti lunak. Meliputi aktivitas-aktivitas sebagai berikut: 1. Communication (Tahap komunikasi, pengenalan proyek, pengumpulan data) Karena perangkat lunak merupakan bagian dari suatu sistem yang lebih besar atau bisnis, maka yang pertama harus dilakukan yaitu pengenalan proyek yang akan dibangun,mengkomunikasikan serta mendiskusikan kepada team akan software yang akan dibangun, serta membangun kebutuhan untuk semua elemen-elemen sistem dan kemudian mengalokasikan kumpulan dari kebutuhan ini ke perangkat lunak. Gambaran sistem diperlukan ketika software berinteraksi dengan elemen-elemen lain seperti hardware, orang dan database. 2. Planning (Perencanaaan) Pada tahap ini, proses estimating atau menentukan perkiraan kapan software harus selesai. Pembuataan jadwal atau scheduling dalam pembuatan software. Untuk memahami program yang akan dibangun, analisi harus mengerti bidang informasi untuk software tersebut seperti fungsi (function), tingkah laku (behavior), kinerja 19 (performance), dan antarmuka (interface). Kebutuhan sistem dan software dokumentasi didiskusikan dengan customer. 3. Modelling (Pemodelan) Tahap pemodelan software ini sebenarnya merupakan proses beberapa tahap yang difokuskan kepada analisis dan desain khususnya pada 4 atribut yang berbeda dari sebuah program yaitu struktur data, arsitektur software, tampilan antarmuka dan algoritma (prosedur) 4. Construction (Pembuatan program) Desain yang telah dihasilkan harus diterjemahkan dalam bentuk yang dimengerti oleh mesin. Ini yang akan ditahapkan pada tahap pengkodean. Setelah program dibuat, maka dilakukan pengujian program. 5. Deployment (Delivery, Support, Feedback) Perubahan mesin mungkin terjadi setelah software diserahkan ke customer. Perubahan tersebut antara lain terjadi error, terjadi perubahan lingkungan eksternal serta perubahan itu harus feedback atau timbal balik dari pihak developer software (misal : sistem operasi baru atau peralatan baru), kebutuhan peningkatan fungsional dan peningkatan kinerja. 20 2.1.8 DML (Data Manipulation Language) DML menurut Connolly (2005,p.40) adalah suatu bahasa yang memberikan fasilitas pengoperasian data yang ada di dalam basis data. Pengoperasian data yang akan dimanipulasi meliputi: 1. Penambahan data baru ke dalam basis data (Insert). 2. Modifikasi data yang disimpan ke dalam basis data (Update). 3. Pemanggilan data yang terdapat di dalam basis data (View). 4. Penghapusan data dari basis data (Delete). Sedangkan definisi Procedural DML menurut Connoly (2005,p.41) adalah suatu bahasa yang memperbolehkan user untuk mendeskripsikan ke sistem data apa yang dibutuhkan dan bagaimana mendapatkan data tersebut. 2.1.9 DAD (Diagram Aliran Dokumen) Diagram aliran dokumen sering juga disebut dengan Diagram Aliran Data (Data Flow Diagram), merupakan sebuah visualisasi secara grafis aliran informasi yang mengalir dari entity dan proses transformasi yang diterapkan hingga di-output-kan menjadi informasi yang dibutuhkan oleh entitas-entitas tertentu. Diagram aliran data adalah alat yang digunakan untuk menggambarkan aliran data dalam sistem, sumber dan tujuan data, proses yang mengolah data tersebut, serta tempat penyimpanannya. 21 Menurut Mulyadi (2008, p.60-65), diagram aliran dokumen adalah suatu model yang menggambarkan aliran dokumen dan proses untuk mengolah dokumen dalam suatu proses. Berikut ini adalah table yang menjelaskan komponen-komponen dari diagram aliran dokumen: Tabel 2.1 Tabel Simbol-Simbol Diagram Aliran Dokumen Simbol Keterangan Dokumen Simbol ini digunakan untuk menggambarkan semua jenis dokumen, yang merupakan formulir untuk merekam data terjadinya suatu transaksi. Keputusan Simbol ini menggambarkan keputusan yang harus dibuat Ya dalam proses pengolahan data. Keputusan yang dibuat Tidak ditulis dalam simbol. Garis Alir Simbol ini menggambarkan arah proses pengolahan data. Persimpangan Garis Alir Jika dua garis alir bersimpangan, untuk menunjukkan arah masing-masing garis, salah satu garis dibuat sedikit melengkung tepat pada persimpangan kedua garis 22 Simbol Keterangan tersebut. Pertemuan Garis Alir Simbol ini digunakan jika dua garis alir bertemu dan salah satu garis mengikuti garis lainnya. Proses Simbol ini untuk menunjukkan tempat-tempat dalam sistem informasi yang mengolah atau mengubah data yang diterima menjadi data yang mengalir keluar. Nama pengolahan data ditulis didalam simbol. Mulai / Berakhir (terminal) Simbol ini untuk menggambarkan awal dan akhir suatu sistem akuntansi Komponen-komponen diatas digunakan untuk menguraikan prosedur pengolahan dokumen dan umumnya setiap komponen mempunyai arti khusus sehingga mudah untuk dikenali dari bentuknya. Bentuk komponen menunjukkan kegiatan yang dilaksanakan, menunjukkan input, output, pemrosesan dan media penyimpanan. 23 2.1.10 STD (State Transition Diagram) STD (State Transition diagram) menunjukkan bagaimana sistem bertingkah laku sebagai akibat dari kejadian eksternal. Menurut Pressman (2005, p.302) STD (State Transition diagram) dapat mengindikasikan bagaimana perilaku (behavior) suatu sistem terhadap suatu tindakan (event). STD menunjukkan berbagai model tingkah laku (state) sistem dan cara dimana transisi dibuat dari state satu ke state lainnya. STD ini sendiri merupakan suatu Modelling Tool yang menggambarkan suatu sifat ketergantungan akan waktu yang terdapat di sistem. Pada STD ini terdapat 2 macam cara kerja, yaitu : 1. Pasif Disini sifatnya lebih kepada menerima data saja dalam melakukan kontrol terhadap lingkungan. Contoh: sistem yang bertugas menerima sinyal yang dikirim satelit. 2. Aktif Untuk sistem ini kontrol dilakukan secara aktif sehingga selain menerima data, sistem ini juga memberikan suatu respon terhadap lingkungannya. Contohnya: sistem yang digunakan untuk proses kontrol. Penyajian STD merupakan dasar untuk pembentukan perilaku, STD disajikan dengan menggunakan notasi-notasi berikut : 24 State Merupakan suatu kumpulan model dari tingkah laku yang dapat diobservasi Simbol state : Transisi Merupakan simbol yang menyatakan perubahan dari satu keadaan ke keadaan yang lain. Simbol transisi : Kondisi Adalah kejadian pada lingkungan eksternal yang dideteksi oleh sistem. Hal tersebut menyebabkan terjadinya perubahan dari suatu ke state ke state lainnya. Aksi Adalah hal yang dilakukan sistem bila terjadi perubahan state. Aksi menghasilkan keluaran seperti tampilan pesan, cetakan pada printer atau alat output lainnya. Gambar 2.2 Gambar STD (State Transition Diagram) 25 2.1.11 ERD (Entity Relationship Diagram) Entity Relationship Diagram digunakan untuk menggambarkan struktur logikal basis data dalam bentuk diagram. ERD menyediakan cara yang sederhana dan mudah untuk memahami berbagai komponen dalam desain basis data. (Connolly dan Begg, 2005,p.15). ERD mempunyai tiga komponen yaitu: 1. Entitas Entitas adalah sebuah objek (seperti seorang manusia, tempat, benda, konsep, atau kegiatan) dalam organisasi yang bisa ditampilkan dalam basis data. Entitas dapat digambarkan sebagai persegi yang berisi nama dari entitas tersebut. 2. Relationship Relationship merupakan asosiasi antar entitas. Entitas merupakan pengikut dari relationship. Relationship dapat berupa relasi one-to-one, one-to-many, atau many-to-many. Relationship dapat digambarkan dalam bentuk belah ketupat yang berisi nama dari relasi tersebut. 3. Properti Properti adalah sebuah kepemilikan yang menjelaskan beberapa aspek dari objek yang ingin disimpan. Baik entitas maupun relationship memiliki properti. Setiap nilai dari properti diambil dari nilai dalam kelompok properti tersebut (domain). Properti dapat digambarkan dalam bentuk elips yang berisi nama dari properti tersebut. 26 2.1.12 IMK (Interaksi Manusia dan Komputer) Interaksi manusia dan komputer adalah ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomena-fenomena besar yang berhubungan dengannya (Shneiderman, 2010, p.32). Jadi interaksi manusia dan komputer merupakan dasar yang harus digunakan dalam perancangan suatu sistem komputer. Sebuah sistem berbasis komputer selalu mempunyai elemen manusia yang terkait di dalamnya. Elemen manusia ini berinteraksi langsung dengan perangkat keras dan perangkat lunak melalui perantara sebuah antarmuka (interface). Delapan Aturan Emas (Eight Golden Rules) pada Perancangan Antarmuka (Interface) adalah: 1. Berusaha tetap konsisten Urutan aksi yang konsisten diperlukan pada situasi yang sama. Konsistensi juga harus digunakan pada prompt, menu, layar bantu, warna, tampilan layar, kapitalisasi, huruf dan sebagainya juga harus konsisten. 2. Memenuhi kebutuhan universal Memungkinkan pemakai untuk mengurangi jumlah interaksi dan untuk meningkatkan kecepatan interaksi. 27 3. Memberikan umpan balik yang informatif Untuk setiap tindakan yang dilakukan pemakai, diharapkan adanya respon dari sistem kepada pengguna. 4. Merancang dialog yang memberikan penutupan (keadaan akhir) Urutan aksi harus disusun ke dalam kelompok awal, tengah dan akhir. Suatu umpan balik yang informatif pada akhir pekerjaan sebaiknya dibuat untuk mengindikasikan bahwa pekerjaan telah selesai dan siap untuk melanjutkan ke aksi berikutnya. 5. Memberikan penanganan kesalahan yang sederhana Sebisa mungkin dibuat sistem yang tidak akan menghasilkan kesalahan yang serius jika digunakan oleh pemakai. Jika pemakai membuat kesalahan, sistem tersebut harus dapat mendeteksi kesalahan dan menawarkan instrusksi yang sederhana, konstruktif, dan spesifik untuk perbaikan. 6. Mudah kembali ke tindakan sebelumnya. Aksi yang telah dilakukan harus dapat dikembalikan ke keadaan awal. 7. Mendukung tempat kendali internal (internal locus of control) Menjadikan pemakai sebagai pemberi aksi, bukan sebagai orang yang merespon aksi. 8. Mengurangi beban ingatan jangka pendek Menurut Shneiderman (2010, p.74-75) Karena keterbasan manusia dalam 28 pemrosesan informasi pada ingatan jangka pendek, sebaiknya tampilan dibuat sederhana, beberapa halaman dijadikan satu, frekuensi pergerakan window dikurangi, dan harus ada waktu yang cukup untuk mempelajari kode-kode, singkatan, serta urutan aksi. Informasi seperti singkatan atau kode sebaiknya juga tersedia. 2.1.13 Application Design Menurut Connolly dan Begg (2005, p.48), Application Design adalah proses merancang user interface atau antarmuka pengguna dengan program aplikasi yang menggunakan dan memproses database. Terdapat dua aspek dalam perancangan aplikasi yaitu: 1) Perancangan Transaksi Tujuan utama dari perancangan transaksi adalah untuk menetapkan dan mendokumentasikan karakteristik tingkat tinggi dari transaksi yang dibutuhkan pada database, meliputi: Data yang digunakan dalam transaksi. Karakteristik fungsional dari transaksi. Keluaran (output) dari transaksi. Kepentingan pengguna Rata-rata pengguna yang diharapkan 29 Ada tiga tipe transaksi: Retrieval transaction digunakan untuk mengambil data untuk ditampilkan di layar atau untuk pembuatan laporan. Update transaction digunakan untuk memasukan data baru, menghapus data lama, atau memodifikasi data yang ada pada database. Mixed transaction campuran yang melibatkan pengambilan data dan pembaharuan data (penggabungan antara retrieval transaction dan update transaction). 2) Perancangan User Interface Menurut Connolly dan Begg (2005, p.50), terdapat beberapa langkah dalam membuat rancangan antarmuka yang baik bagi aplikasi yaitu: Judul yang berarti. Instruksi yang konprehensif. Rancangan laporan. Label field yang dikenal. Singkatan dan istilah yang konsisten. Penggunaan warna yang konsisten. Batasan dan ruang yang terlihat bagi field data-entry. Pergerakan kursor yang baik. Perbaikan kesalahan bagi karakter individu dan keseluruhan field. Pesan kesalahan bagi nilai yang tidak sesuai. 30 Penandaan field optional yang jelas. Pesan penjelasan bagi field. Sinyal penyelesaian. 2.2 Teori Khusus 2.2.1 Pengertian Inventory Menurut Michell Suharli (2006, p.227) Inventory adalah barang yang dibeli untuk dijual kembali sebagai aktivitas perusahaan untuk memperoleh pendapatan. 2.2.2 Pengertian CRM (Customer Relationship Management) Menurut Kristin Anderson yang dikutip oleh Amin Widjaja (2008, p.45) yaitu: ”CRM is a comprehensive approach for creating, maintaining, and expanding customer relationship”. Yang artinya: Customer Relationship Management (CRM) adalah suatu pendekatan yang menyeluruh untuk menciptakan, memelihara, dan mengembangkan hubungan dengan pelanggan. 2.2.3 Electronic Commerce (E-Commerce) 2.2.3.1 Pengertian E-Commerce Menurut Ustadiyanto (2002, p.11) Merupakan suatu kontak transaksi perdagangan antara penjual dan pembeli dengan 31 menggunakan teknologi internet. Jadi, sebagian proses dikomunikasikan dengan internet. 2.2.3.2 Jenis-Jenis E-Commerce a. Business to business (B2B), merupakan suatu kegiatan bisnis yang terjadi antar perusahaan atau antar produsen. b. Business to Customer (B2C), merupakan kegiatan bisnis yang terjadi pada saat pelelangan, perusahaan penjual jasa serta retail online. c. Customer to business (C2B), merupakan kegiatan bisnis yang terjadi di antara konsumen dan produsen. d. Government to Business (G2B), merupakan kegiatan bisnis yang dilakukan antara pemerintah dan pengusaha. e. Government to Customer (G2C), merupakan kegiatan bisnis yang terjadi di antara pemerintah dan konsumen. 2.2.4 Online Store Menurut Susrini (2010, p.13) Online Store atau Toko Online adalah sebuah toko atau tempat berjualan yang sebagian besar aktivitasnya berlangsung secara online di internet. Dari pengertian tersebut, dapat diindentifikasi bahwa tidak semua aktivitas di online store berlangsung secara online. Terdapat aktivitas pengiriman barang, hal ini harus dilakukan secara manual dari lokasi pengelola ke alamat pembeli. Biasanya pengiriman 32 dibebankan pada konsumen, meski ada juga toko yang membebaskannya untuk produk-produk tertentu, atau pada saat menggelar program promosi. 2.2.5 Teori Penjualan Menurut Romney (2003, p.157), penjualan merupakan satu set rekursif dari kegiatan bisnis dan koperasi pemrosesan informasi terkait yang dihubungkan dengan penyediaan barang dan layanan pelanggan dan penerimaan pembayaran dari penjualan tersebut Penjualan Kredit Penjualan kredit memungkinkan perusahaan untuk menambah volume penjualan dengan memberi kesempatan kepada pembeli membelanjakan sekarang penghasilan yang akan diterima dimasa yang akan mendatang. Sistem penjualan kredit didahului dengan seleksi pelanggan yang secara keuangan dapat diberi hak untuk melakukan pembelian secara kredit kepada perusahaan. Pembelian yang dilakukan oleh pelanggan yang terpilih selama jangka waktu tertentu (biasanya satu bulan) dicatat sebagai piutang, dan secara periodik (biasanya pada akhir bulan) perusahaan melakukan penagihan kepada pelanggan yang bersangkutan. Cara penjualan dengan kartu kredit perusahaan ini memberi kemudahan bagi pelanggan untuk tidak setiap saat menyediakan uang tunai bilamana ingin berbelanja barang atau jasa. Disamping itu, penjualan secara kredit menanamkan kesetiaan (Loyalty) pelanggan terhadap perusahaan. 33 Penjualan Tunai Penjualan tunai dilaksanakan oleh perusahaan dengan cara mewajibkan pembeli melakukan pembayaran harga barang terlebih dahulu sebelum barang diserahkan oleh perusahaan kepada pembeli. Setelah uang diterima oleh perusahaan, barang kemudian diserahkan kepada pembeli dan transaksi penjualan tunai kemudian dicatat oleh perusahaan. Sistem penerimaan kas dari penjualan tunai dibagi menjadi tiga prosedur berikut: 1. Penerimaan kas dari Over The Country Sale 2. Penerimaan kas dari COD Sales 3. Penerimaan kas dari Credit Card Sale