BAB 2 TINJAUAN PUSTAKA 2.1 Teori yang Berhubungan dengan Basis Data Teori yang berkaitan dengan basis data seperti data, basis data (database), Database Management System (DBMS), Database Application, Entity Relationship Modeling (ER Modeling), normalisasi, dan Structured Query Language (SQL) akan di bahas pada bab ini. 2.1.1 Basis Data Menurut Connolly dan Begg (2010:65) basis data adalah sebuah kumpulan data yang saling terhubung secara logis dan deskripsinya, dirancang untuk memenuhi kebutuhan informasi dari organisasi. 2.1.2 Aplikasi Database Menurut Connolly dan Begg (2010:67) database application adalah sebuah program computer yang berinteraksi dengan basis data dengan mengeluarkan sebuah permintaan yang sesuai (secara tipikal merupakan SQL statement) ke DBMS. 2.1.3 DBMS (Database Management System) Menurut Conolly dan Begg (2010:66) DBMS adalah sebuah software system yang memungkinkan user untuk mendefinisikan, membuat, memaintain, dan mengontrol akses ke basis data. 2.1.3.1 Keuntungan dan Kerugian dari DBMS Menurut Connolly dan Begg (2010:77-81), DBMS memiliki keuntungan dan kerugian, adalah sebagai berikut : 1) Keuntungan dari DBMS adalah : - Mengontrol redundansi data - Menjaga konsistensi data - Mendapatkan banyak informasi dari data yang sama 5 6 - Pembagian data - Meningkatkan integritas data - Meningkatkan keamanan data - Menegakkan standar yang ditentukan - Berskala ekonomis - Penyeimbangan dari kebutuhan yang saling bertentangan - Meningkatkan aksesbilitas dan responsibilitas dari data - Meningkatkan produktifitas - Meningkatkan pemeliharaan melalui kebebasan data - Meningkatkan konkurensi data - Meningkatkan layanan backup dan pemulihan data 2) Kerugian dari DBMS adalah - DBMS merupakan perangkat lunak yang kompleks - DBMS memiliki ukuran yang besar - Biaya perangkat keras dari DBMS yang bervariasi - Adanya biaya tambahan dari penambahan perangkat lunak - Biaya yang tinggi dari merubah sistem DBMS yang lama ke sistem DBMS yang baru - Performa dari beberapa aplikasi tidak secepat saat digunakan - Kerusakan beberapa komponen DBMS dapat berdampak besar pada operasi. 2.1.4 Entity-Relationship Modelling (ER Modelling) Menurut Connolly dan Begg (2010:371) ER Modelling (Entity Relationship Modelling) adalah sebuah pendekatan top-down untuk merancang database yang diawali dengan mengidentifikasi data penting yang dinamakan entity dan relationships antara data yang harus ditampilkan dalam model. Selanjutnya tambahkan banyak detail, seperti informasi yang ingin disimpan tentang entitas dan relationships yang dinamakan attributes dan constraint yang ada pada entitas. 7 2.1.5 Normalisasi Menurut Connolly dan Begg (2010:416), normalisasi adalah sebuah teknik menghasilkan sekumpulan relasi dengan properti yang diinginkan, data yang dibutuhkan diberikan oleh perusahaan. Tujuan dari normalisasi adalah untuk mengidentifikasi sekumpulan relasi yang cocok yang mendukung kebutuhan data dari perusahaan. Karakteristik yang cocok untuk sekumpulan relasi adalah : - Jumlah yang minimal dari atribut yang dibutuhkan untuk mendukung kebutuhan data perusahaa; - Atribut dengan logika yang mendekati relasi ada pada relasi yang sama; - Minimal redundansi, setiap atribut hanya direpresentasikan sekali. 2.1.6 Siklus Pengembangan Sistem Basis Data Menurut Connolly dan Begg (2010:313), sebuah sistem basis data merupakan komponen penting dari sistem informasi organisasi yang besar, siklus pengembangan sistem basis data merupakan turunan yang terhubung dengan siklus dari sistem informasi. Sangat penting untuk mengenali bahwa tahap dari siklus pengembangan basis data tidak harus berurutan, tetapi mengandung beberapa perulangan dari tahap sebelumnya melalui feedback loop. Seperti contoh, masalah dapat ditemui selama perancangan basis data yang mungkin mengharuskan penambahan kebutuhan koleksi dan analisis. Untuk sistem basis data yang kecil, dengan jumlah pengguna yang sedikit, siklus tidak perlu terlalu kompleks. Tetapi, satt merancang sistem basis data menengah ke atas dengan jumlah pengguna yang banyak, siklus dapat menjadi sangat kompleks. 2.1.7 Metodologi Perancangan Basis Data Menurut Connolly dan Begg (2010:467), sebuah metodologi perancangan membantu perancang untuk merencanakan, mengatur, mengontrol dan mengevaluasi pengembangan projek basis data. 8 Dalam merepresentasikan metodologi perancangan basis data, proses perancangan dibagi menjadi tiga tahap utama yaitu perancangan konseptual, perancangan logical, dan perancangan fisik. 2.1.8 Perancangan Basis Data Konseptual Menurut Connoll dan Begg (2010:467), perancangan basis data konseptual adalah sebuah proses membangun sebuah model data yang digunakan perusahaan, bebas dari semua pertimbangan fisik. Terdapat sembilan langkah dalam melakukan perancangan basis data konseptual, yaitu : 1) Mengidentifikasi tipe entitas Langkah ini bertujuan untuk menentukan dan mendefiniskan objek utama yang tertarik untuk pengguna. Satu metode dari mengidentifikasi entitas adalah untuk mempelajari kebutuhan dari pengguna. 2) Mengidentifikasi tipe relasi Tujuan dari langkah ini adalah untuk mengidentifikasi relasi penting yang ada di antara entitas. Relasi seringkali diindikasikan sebagai kata kerja atau ekspresi secara lisan. 3) Mengidentifikasi dan menghubungkan atribut dengan tipe entitas dan relasi Tujuan dari langkah ini adalah untuk menghubungkan atribut dengan tipe entitas dan relasi yang cocok. Atribut bisa diidentifikasi dimana kata benda adalah properti, kualitas, pengenal, atau karakteristik dari salah satu entitas atau relasi. 4) Menentukan domain atribut Domain atribut adalah sekumpulan nilai dari satu atau lebih atribut. Menentukan domain dari atribut berarti menentukan nilai – nilai yang diperbolehkan untuk mengisi suatu atribut 5) Menentukan atribut candidate, primary, dan alternate key Langkah ini bertujuan mengidentifikasi candidate key dari setiap entitas, jika ada lebih dari satu candidate key maka dapat salah 9 satunya dipilih menjadi primary key, dan sisanya sebagai candidate key. 6) Mempertimbangkan menggunakan konsep model yang ditingkatkan (enhanced modeling) (optional) Tujuan dari langkah ini adalah untuk mempertimbangkan menggunakan konsep model peningkatan (enhanced modeling concept), seperti specialization/generalization, aggregation, dan composition. 7) Memeriksa redundansi pada model Langkah ini bertujuan memeriksa adanya redundansi pada model dan menghilangkannya jika terdapat redundansi. Tiga aktivitas dari langkah ini adalah : a) Memeriksa kembali relasi one-to-one (1:1) b) Menghilangkan relasi yang redundan c) Mempertimbangkan dimensi waktu 8) Memvalidasi data model konseptual dengan transaksi pengguna Langkah ini bertujuan untuk memastikan data model konseptual mendukung kebutuhan transaksi. Terdapat dua pendekatan di dalam langkah ini, yaitu : a) Mendeskripsikan transaksi b) Menggunakan jalur transaksi 9) Mengulas data model konseptual dengan pengguna Langkah ini bertujuan untuk mengulas data model konseptual dengan pengguna dan memastikan bahwa model tersebut adalah representasi yang benar dari kebutuhan data perusahaan. 2.1.9 Perancangan Basis Data Logikal Menurut Connolly dan Begg (2010:390), perancangan basis data logikal bertujuan untuk mengartikan model data konseptual menjadi model data logikal dan memvalidasi data model untuk memeriksa bahwa secara struktur model itu benar dan dapat mendukung kebutuhan kebutuhan transaksi. Tujuan dari perancangan ini dapat dicapai dengan melakukan beberapa aktivitas, yaitu : 10 1) Menurunkan relasi untuk model data logikal Langkah ini bertujuan untuk membuat relasi untuk model data logikal yang merepresentasikan entitas, relasi dan atribut yang teridentifikasi. Relasi dapat diturunkan melalui struktur yang dapat terjadi di dalam model data konseptual seperti berikut : a) Strong entity type b) Weak entity type c) Tipe relasi biner one-to-many (1:*) d) Tipe relasi biner one-to-one (1:1) e) Tipe relasi rekursif one-to-one (1:1) f) Tipe relasi superclass/subclass g) Tipe relasi biner many-to-many (*:*) h) Tipe relasi kompleks i) Atribut multi-valued 2) Memvalidasi relasi menggunakan normalisasi Langkah ini bertujuan untuk validasi sekumpulan atribut dalam setiap relasi menggunakan aturan normalisasi. Tujuan dari normalisasi adalah untuk memastikan bahwa relasi memiliki jumlah minimal atribut yang digunakan untuk mendukung kebutuhan perusahaan. 3) Memvalidasi relasi dengan transaksi pengguna Bertujuan untuk memastikan relasi pada model data logikal mendukung kebutuhan transaksi. 4) Memeriksa batasan integritas Langkah ini bertujuan untuk memeriksa adakah batasan integritas yang ada pada model data logikal. Terdapat beberapa tipe dari batasan integritas, yaitu : - Data yang dibutuhkan - Batasan domain atribut - Multiplicity - Entity integrity - Referential integrity - Batasan umum 11 5) Mengulas model data logikal dengan pengguna Sama seperti mengulas model data konseptual dengan pengguna, pada mengulas model data logikal tujuannya adalah untuk mempertimbangkan bahwa model data dapat menjadi representasi yang benar dari kebutuhan data perusahaan 6) Menggabungkan logikal data model menjadi model data global (optional) Langkah ini bertujuan untuk menggabungkan model data logikal lokal menjadi satu model data logikal global yang merepresentasikan semua tampilan pengguna dari sebuah basis data. Tahap ini dibutuhkan hanya untuk merancang basis data dengan banyak tampilan pengguna yang diatur dengan pendekatan tampilan terintegrasi 7) Memeriksa pertumbuhan di masa depan Untuk menentukan adakah perubahan yang signifikan seperti masa mendatang dan menilai manakah model data logikal yan bisa mengakomodasi perubahan ini 2.1.10 Perancangan Basis Data Fisikal Menurut Connolly dan Begg (2010:523), perancangan basis data fisikal adalah sebuah proses menghasilkan deskripsi basis data pada penyimpanan sekunder, mendeskripsikan relasi dasar, organisasi file, indeks yang yang digunakan untuk mencapai akses yang efisien ke data, dan menggabungkan setiap batasan integritas dan tingkat keamanan. Langkah – langkah dari metodologi perancangan basis data fisik, adalah sebagai berikut : 1) Mengartikan model data logikal untuk DBMS yang dipakai Langkah ini bertujuan untuk menghasilkan skema relasi basis data dari model data logikal yang dapat diimplementasikan pada DBMS yang dipakai. Tiga aktivitas utama dari langkah ini adalah : 12 a) Merancang relasi dasar b) Merancang representasi dari data turunan c) Merancang batasan umum 2) Merancang organisasi dan indeks file Langkah ini bertujuan untuk menentukan organisasi file yang optimal untuk menyimpan relasi dan indeks dasar yang dibutuhkan untuk mencapai performa yang diinginkan, yaitu dimana relasi akan disimpan pada penyimpanan sekunder. Terdapat empat langkah dari aktivitas ini, yaitu : a) Menganalisa transaksi b) Memilih organisasi file c) Memilih indeks d) Memperkirakan kebutuhan ukuran disk 3) Merancang tampilan pengguna Langkah ini bertujuan merancang tampilan pengguna yang teridentifikasi pada saat pengumpalan kebutuhan dan tahap analisis dari siklus pengembangan sistem basis data 4) Merancangan mekanisme keamanan Langkah ini bertujuan merancang mekanisme keamanan untuk basis data yang ditentukan oleh pengguna pada tahap pengumpulan kebutuhan dan analisis. 5) Mempertimbangkan pengenalan terhadap kontrol redundansi Langkah ini bertujuan untuk menentukan apakah normalisasi akan meningkatkan performa dari sistem 6) Mengawasi dan memperbaiki sistem operasional Langkah ini bertujuan untuk mengawasi sistem operasional dan meningkatkan performa dari sistem untuk memperbaiki keputusan terhadap rancangan yang tidak sesuai atau perubahan kebutuhan 2.2 Teori Tematik Teori tematik yang dibahas adalah penjualan dan pembelian, WWW (World Wide Web), internet, HTML (Hypertext Markup Language), PHP (Personal Home 13 Page), MySQL, perancangan antarmuka pengguna,UML (Unified Modeling Language) diagram, dan diagram alir (flowchart). 2.2.1 Penjualan dan Pembelian 2.2.1.1 Penjualan Menurut Mulyadi (2008:202), kegiatan penjualan adalah transaksi penjualan barang dan jasa, baik secara kredit ataupun secara tunai. Dalam transaksi penjualan tunai, barang atau jasa baru diserahkan perusahaan kepada pembeli jika perusahaan telah menerima kas dari pembeli. Fungsi yang terkait dengan sistem penjualan adalah : 1) Fungsi penjualan Dalam sistem penjualan, fungsi penjualan bertanggung jawab melayani kebutuhan barang pelanggan. Fungsi penjualan mengisi faktur penjualan untuk memungkinkan fungsi gudang dan fungsi pengiriman melaksanakan penyerahan barang kepada pelanggan. 2) Fungsi gudang Dalam sistem penjualan, fungsi gudang menyediakan barang yang diperlukan oleh pelanggan sesuai dengan yang tercantum dalam tembusan faktur penjualan yang diterima dari fungsi penjualan. 3) Fungsi pengiriman Fungsi ini bertanggung jawab menyerahkan barang kuantitas, mutu, dan spesifikasinya sesuai dengan yang tercantum dalam faktur penjualan yang diterima dari fungsi penjualan. 4) Fungsi akuntansi Fungsi ini bertanggung jawab untuk mencatat bertambahnya piutang kepada pelanggan ke dalam kartu piutang berdasarkan faktur penjualan yang diterima dari fungsi pengiriman. 5) Fungsi penagihan Fungsi ini bertanggung jawab untuk membuat surat tagihan secara periodik kepada pelanggan. 14 2.2.1.2 Pembelian Menurut Mulyadi (2008:299), sistem pembelian digunakan dalam perusahaan untuk pengadaan barang – barang yang diperlukan oleh perusahaan. Fungsi yang terkait dalam sistem pembelian adalah : 1) Fungsi gudang Dalam sistem pembelian, fungsi gudang bertanggung jawab untuk mengajukan permintaan pembelian sesuai dengan posisi persediaan yang ada di gudang dan untuk menyimpan barang yang diterima dari fungsi penerimaan. 2) Fungsi pembelian Fungsi pembelian bertanggung jawab untuk menerima informasi mengenai harga barang, menentukan pemasok yang dipilih dalam pengadaan barang, dan mengeluarkan order pembelian kepada pemasok yang dipilih. 3) Fungsi penerimaan Dalam sistem pembelian, fungsi ini bertanggung jawab untuk melakukan pemeriksaan terhadap jenis, mutu, dan kuantitas barang yang diterima dari pemasok guna menentukan dapat atau tidaknya barang tersebut diterima oleh perusahaan. 4) Fungsi akuntansi Fungsi akuntansi yang terkait dalam transaksi pembelian adalah fungsi pencatat utang dan fungsi pencatat persediaan. Dalam sistem pembelian fungsi pencatat utang bertanggung jawab untuk mencatat transaksi pembelian ke dalam register bukti atau bukti kas keluar dan menyelenggarakan arsip dokumen sumber yang berfungsi sebagai catatan utang atau menyelenggakan kartu utang sebagai buku pembantu utang. 2.2.2 WWW (World Wide Web) Menurut Williams dan Sawyer (2010:18), WWW (World Wide Web) adalah sistem yang saling terhubung dari internet server, yang mendukung 15 dokumen yang secara khusus diformat dalam bentuk multimedia seperti suara, foto, dan video. Kata multimedia merujuk kepada teknologi yang menyajikan informasi pada lebih dari satu media seperti text¸gambar diam, gambar bergerak dan suara. Menurut Connolly dan Begg (2010:1028), web adalah sebuah sistem berbasis hypermedia yang menyediakan maksud dari penjelajahan informasi di internet dengan cara yang tidak berurut menggunakan hyperlink. 2.2.3 Internet Menurut Williams dan Sawyer (2010:18), internet adalah jaringan komputer dunia yang menghubungkan ratusan ribu jaringan kecil. Jaringan kecil ini terdiri dari edukasi, komersial, nonprofit, lingkugan militer, dan individu. Menurut Connolly dan Begg (2010:1024), internet adalah sebuah kumpulan jaringan komputer yang saling berhubungan. 2.2.4 HTML (HyperText Markup Language) Menurut Williams dan Sawyer (2010:68), HTML adalah kumpulan dari intruksi khusus yang digunakan untuk menentukan struktur dokumen, format dan menghubungkan dokumen multimedia lainnya pada web. Menurut Connolly dan Begg (2010:1031), HTML adalah dokumen bahasa terformat yang digunakan untuk merancang halaman web. 2.2.5 PHP (Personal Home Page) Menurut Welling dan Thomson (2009:2), PHP adalah bahasa script pada sisi server yang dirancang khusus untuk web. Kode PHP dapat ditanamkan pada halaman HTML dan dieksekusi setiap kali halaman itu dikunjungi. Kode PHP diinterpretasikan pada web server dan menghasilkan HTML atau keluaran lainnya yang pengunjung akan lihat. PHP memiliki beberapa keunggulan sebagai berikut : 1) Performa yang tinggi 2) Menghubungkan ke banyak sistem basis data 3) Memiliki libraries untuk web yang sejenis 4) Biaya yang murah 16 2.2.6 5) Mudah dipelajari dan digunakan 6) Mendukung penuh object-oriented 7) Mudah dibawa 8) Ketersediaan kode sumber 9) Ketersediaan dukungan MySQL Menurut Welling dan Thomson (2009:3), MySQL adalah relational database management (RDBMS) yang sangat cepat dan kuat. Server MySQL mengontrol akses ke data untuk memastikan beberapa pengguna dapat bekerja secara simultan, menyediakan akses yang cepat ke data dan memastikan pengguna yang memiliki izin yang mendapatkan akses ke data. MySQL memiliki beberapa keunggulan, yaitu : 1) Performa yang tinggi 2) Biaya yang rendah 3) Mudah dipelajari dan digunakan 4) Mudah dibawa 5) Ketersediaan kode sumber 6) Ketersediaan dukungan 2.2.7 Perancangan Antarmuka Pengguna Menurut Williams dan Sawyer (2010:129), antarmuka pengguna adalah layar kontrol pengguna yang memungkinkan pengguna untuk berkomunikasi, atau berinteraksi dengan komputer. Menurut Shneiderman dan Plaisant (2005:74-75), terdapat delapan aturan emas (eight golden rules) untuk meningkatkan kegunaan dari aplikasi, yaitu : 1) Berusaha untuk konsisten Urutan aksi yang konsisten dibutuhkan pada beberapa situasi yang sama. Terminology ini harus digunakan pada prompts, menu, dan layar bantuan. Konsistensi juga diterapkan pada jenis tulisan, pewarnaan dan ukuran tulisan 2) Dapat memenuhi kebutuhan universal 17 Dalam merancang antarmuka sebaiknya memenuhi kebutuhan dari kebanyakan pengguna. Dengan memberikan fitur seperti penjelasan untuk pemula dan shortcut untuk pengguna yang ahli. 3) Memberikan umpan balik yang informatif Untuk semua aksi dari operator harus terdapat umpan balik dari sistem. Untuk aksi yang sering dan minor, maka respon dapat dibuat sederhana. Sedangkan untuk aksi yang tidak sering dan major, maka respon dapat dibuat besar 4) Merancang dialog yang menghasilkan penutupan Urutan dari aksi haruslah dikelompokan menjadi awal, tengah dan akhir. Umpan balik yang informatif dapat memberikan kepuasan, rasa lega dan mengindikasikan bahwa cara telah selesai untuk mempersiapkan aksi selanjutnya 5) Memberikan penanganan error yang sederhana Dalam merancang sistem usahakan agar pengguna tidak dapat melakukan error yang serius. Jika error terjadi maka sistem harus bisa mendeteksi error dan menawarkan mekanisme yang sederhana, dapat dimengerti untuk menangani error 6) Mengizinkan pembalikan aksi yang mudah Aksi yang sudah dilakukan sebaiknya dapat dibalikkan. Pengguna dapat kembali ke aksi sebelum terjadi kesalahan, sehingga pengguna tidak takut untuk mengeksplorasi pilihan – pilihan yang tidak biasa 7) Mendukung pusat kendali internal Pengguna menginginkan bahwa mereka berkuasa atas sistem dan sistem merespon aksi mereka. Merancang sistem untuk membuat pengguna menjadi pemrakarsa dari aksi daripada menjadi responden 8) Mengurangi beban ingatan jangka pendek Keterbatasan manusia dalam memproses informasi jangka pendek membuat pengguna membutuhkan tampilan yang sederhana, tampilan beberapa halaman sebaiknya disatukan dan mengalokasikan waktu yang cukup untuk kode, mnemonics dan urutan aksi 18 2.2.8 UML Diagram Menurut Whitten dan Bentley (2007:371), UML adalah sekumpulan model yang digunakan untuk menentukan dan mendeskripsikan sistem perangkat lunak. UML tidak menentukan metode untuk pengembangan sistem, hanya notasinya yang diterima secara luas sebagai standar object modeling. UML diagram dibagi ke dalam beberapa fase, salah satunya adalah sebagai berikut : 1) Use Case Diagram Menggambarkan interaksi antara sistem dengan sistem external dan pengguna. Dengan kata lain use case mendeskripsikan siapa yang akan menggunakan sistem dan dengan cara apa pengguna menggunakan sistem. 2) Sequence Diagram Secara grafik menggambarkan interaksi bagaimana objek berinteraksi dengan sesamanya melalui pesan dari hasil pelaksanaan use case atau operasi. Sequence diagram menggambarkan bagaimana pesan dikirim dan diterima antara objek dan dalam urutan apa. 3) Class Diagram Menggambarkan struktur dari sistem objek. Class diagrams menampilkan bahwa sistem terdiri dari beberapa kelas objek yang saling berhubungan antara kelas objek lainnya. 2.2.9 Deployment Diagram Menurut Whitten dan Bentley (2007:673), Deployment diagram adalah tipe implementasi diagram yang mendeskripsikan arsitektur fisik dari hardware dan software pada sistem. 2.2.10 State Transition Diagram Menurut Whitten dan Bentley (2007:635), State Transition Diagram adalah alat yang digunakan untuk menggambarkan urutan dari dan variasi dari layar yang terjadi selama sesi user . 19 Dua macam simbol yang digunakan untuk menggambarkan proses dalam State Transition Diagram, yaitu : a) State, digunakan untuk menggambarkan state dari sistem Gambar 2.1 State dari State Transition Diagram b) Transition, digambarkan dengan arah panah yang menunjukkan transisi tiap state. Tiap panah diberi label dengan aturan. Label atas menunjukkan kejadian yang menyebabkan transisi yang terjadi. Label bawah menunjukkan aksi yang terjadi akibat dari kejadian tadi. Gambar 2.2 Transition dari State Transition Diagram 2.3 Hasil Penelititan dari Aplikasi sebelumnya Penelitian diambil dari jurnal “Analisis dan Perancangan Aplikasi Basis Data Penjualan dan Pembelian pada PT. NusantaraTridaya Inovasi ” yang dibuat pada tahun 2014 oleh mahasiswa Bina Nusantara University. Dari hasil penelitian, penulis membatasi ruang lingkup aplikasi, yaitu: 1) Pada sisi pembelian, meliputi input data pemasok, proses pemesanan kepada pemasok, data barang , data pembelian, dan perhitungan total pembelian 2) Pada sisi penjualan, meliputi data pelanggan, pemesanan dari pelanggan, data penjualan, melihat stok barang, dan perhitungan total penjualan 3) Pada sisi komisi, proses menghitung komisi tergantung dari penjualan masing – masing karyawan 20 4) Pada sisi biaya operasional, proses menghitung biaya operasional dilakukan setiap akhir bulan setiap bulannya. Penulis mengamati beberapa hal yang dirasa kurang pada PT. Nusantara Tridaya Inovasi. Pertama sistem yang tersedia pada PT. Nusantara Tridaya Inovasi hanya mendukung sistem penjualan dan pembelian, tetapi tidak pada sistem penghitungan komisi pada bagian penjualan perorangan. Kedua, perhitungan komisi dan biaya operasional membutuhkan waktu yang cukup lama karena dilakukan manual. Ketiga, perhitungan laporan penjualan dan pembelian yang dilakukan membutuhkan waktu cukup lama karena sistem masih manual. Oleh karena itu, dapat disimpulkan bahwa PT. Nusantara Tridaya Inovasi membutuhkan sistem penjualan dan pembelian yang terintegrasi dengan baik dalam pengolahan data dan penyimpanan data maupun pengolahan terhadap transaksi, meliputi transaksi penjualan dan pembelian. Hasil penelitian pada perancangan layar didapatkan, menu utama dibagi ke dalam tujuh menu, yaitu menu penjualan, pembelian, barang, pelanggan, pemasok, karyawan, dan retur barang. Pada layar manajer, manajer dapat menambah pemesanan penjualan, menghapus pemesanan penjualan, dan mengubahnya. Dan manajer dapat menambah pemesanan pembelian, menghapus pemesanan pembelian, dan mengubahnya. Manajer juga dapat menambah data karyawan, pelanggan, dan barang. Pada layar bagian keuangan, bagian keuangan hanya dapat view di antara ketujuh menu tersebut, diantaranya view data penjualan, data pembelian, data barang, data pelanggan, data pemasok, dan data retur penjualan. Pada bagian penjualan, bagian penjualan hanya memiliki menu penjualan, pembelian, barang, pelanggan, dan retur barang, dimana bagian penjualan menambah pemesanan penjualan, melihat data pembelian, menambah barang baru, menambah barang baru, dan menambah retur penjualan. Pada bagian pembelian, bagian memiliki menu yang sama dengan bagian penjualan, perbedaan diantara keduanya terletak pada di bagian penjualan dan pembelian, dimana untuk bagian pembelian hanya bisa melihat data penjualan saja, dan untuk bagian penjualan hanya bisa melihat data pembelian saja. Pada bagian pengiriman, bagian pengiriman memiliki menu karyawan, dimana dapat melihat operasional karyawan, menambah biaya operasional, dan menghapus biaya operasional.