• Tidak ada hasil yang ditemukan

2. LANDASAN TEORI Tinjauan Pustaka

N/A
N/A
Protected

Academic year: 2021

Membagikan "2. LANDASAN TEORI Tinjauan Pustaka"

Copied!
12
0
0

Teks penuh

(1)

10

Universitas Kristen Petra

2. LANDASAN TEORI

Pada bab ini dijelaskan mengenai teori-teori yang digunakan di dalam pembuatan aplikasi Sales Force Automation dan pengujian yang dilakukan.

Berkaitan dengan aplikasi Sales Force Automation yang dibuat, akan dibahas pengertian mengenai database, teknologi, serta API yang dimanfaatkan. Selain itu dari sisi pengujian, akan dibahas penjelasan dari kedua database yang dibandingkan serta aplikasi yang digunakan untuk memantau parameter yang dibandingkan.

Berikut adalah penjelasan mengenai hal – hal tersebut.

2.1. Tinjauan Pustaka

2.1.1. Sales Force Automation (SFA)

SFA membantu untuk review, mengatur akun dan peluang track mereka, juga membangun dan mengawasi alur penjualan mereka, serta mengatur perusahaan dalam mengelola pelanggan mereka. Selain itu SFA juga membantu para manajer baik pada aktifitas yang berhubungan langsung dengan pelanggan maupun aktifitas internal perusahaan yang selalu berjuan untuk memenuhi permintaan pelanggan. Ada beberapa kategori SFA yaitu:

• Activity Management. Sementara itu, activity management menyediakan kalender untuk membimbing perencanaan bagi sales representative untuk melakukan pendekatan terhadap pelanggan dengan demo produk, presentasi proposal, dan sebagainya.

• Sales and Territory Management. Sales and territory management membantu para manajer penjualan dan para eksekutif untuk mendapatkan data dan pilihan laporan dari aktifitas penjualan sebelum, selama, dan setelah aktifitas penjualan berlangsung. Dari sudut pandang manajemen kelompok, banyak produk SFA yang memudahkan para manajer untuk membentuk kelompok sales. Selain itu, para manajer penjualan dapat melacak wilayah dan mengawasi alur penjualan dari setiap individu.

• Contact Management. Contact Management adalah bagian dari SFA yang berurusan dengan pengorganisasian dan pengaturan data didalam organisasi.

(2)

11

Universitas Kristen Petra

Sebuah aplikasi contact management dapat memiliki bermacam modul untuk melakukan maintaining database, menampilkan grafik, dan memudahkan sales people untuk melakukan pencatatan klien.

• Lead Management. Lead management bertujuan untuk menyediakan strategi penjualan yang sempurna. Banyak produk lead management tidak hanya mampu dalam melacak histori pelanggan, namun juga memonitor calon pelanggan (leads), membangun langkah selanjutnya, dan meningkatkan usaha penjualan secara online.

• Knowledge Management. Knowledge Management adalah bagaimana mengumpulkan informasi sebanyak - banyakanya mengenai apapun yang berhubungan dengan produk perusahaan, maupun tentang pelanggan.

(Karya, S., Suhartono, J., & Candra, S., 2017).

2.1.2. Android

Sistem operasi Android adalah salah satu sistem operasi seluler yang paling banyak digunakan saat ini. OS Android terutama dirancang untuk tablet dan smartphone. OS Android didasarkan pada kernel Linux dan dikembangkan oleh Google. Android OS dirancang untuk perangkat berdaya rendah, yang beroperasi dengan baterai dan dilengkapi dengan perangkat keras seperti Global positioning system (GPS), Wireless fidelity (WiFi), UMTS, layar sentuh, sensor cahaya dan orientasi dll.

Beberapa fitur utama dari OS Android adalah: Mesin Virtual Dalvik, kerja Bingkai Aplikasi, Grafik yang Dioptimalkan, Browser terintegrasi, SQLite, Teknologi GSM, Edge, 3G, 4G, Dukungan Media, Kamera, Bluetooth, WiFi dll.

Aplikasi Android sebagian besar dikembangkan menggunakan bahasa Pemrograman Java dengan menggunakan perangkat lunak Pengembangan Android Kit (SDK). SDK mencakup debugger, pustaka, emulator handset berbasis QEMU (Emulator Cepat), tutorial, kode sampel, dan dokumentasi. Karena sifatnya yang open source, OS Android telah menjadi sistem operasi seluler yang tumbuh paling cepat dan juga favorit bagi banyak konsumen dan pengembang.

(3)

12

Universitas Kristen Petra

Pengembang perangkat lunak dapat dengan mudah menambah, memodifikasi, dan meningkatkan fitur untuk memenuhi persyaratan terbaru teknologi seluler. Selain itu, ia menyediakan platform perangkat keras yang sangat nyaman bagi pengembang sehingga dengan menghabiskan sedikit usaha mereka dapat mewujudkan ide-ide mereka. Karena kerangka pengembangan yang kuat, pengembang dapat membuat aplikasi mereka sendiri untuk berbagai perangkat (Farooq, 2018).

2.1.3. Java

Java adalah bahasa pemrograman komputer tujuan umum yang konkuren, berbasis kelas, berorientasi objek, dan secara khusus dirancang untuk memiliki dependensi implementasi sesedikit mungkin. Ini dimaksudkan agar pengembang aplikasi "menulis sekali, jalankan di mana saja" (WORA), yang berarti bahwa kode Java yang dikompilasi dapat berjalan di semua platform yang mendukung Java tanpa perlu kompilasi ulang. Aplikasi Java biasanya dikompilasi ke bytecode yang dapat berjalan pada Java virtual machine (JVM) apa pun arsitektur komputernya.

Pada 2016, Java adalah salah satu bahasa pemrograman paling populer yang digunakan, khususnya untuk aplikasi web client-server, dengan 9 juta pengembang yang dilaporkan. Java pada awalnya dikembangkan oleh James Gosling di Sun Microsystems (yang sejak itu telah diakuisisi oleh Oracle Corporation) dan dirilis pada 1995 sebagai komponen inti dari platform Java Sun Microsystems. Bahasa ini memperoleh banyak fitur aslinya dari SmallTalk, dengan sintaksis yang mirip dengan C dan C ++, tetapi memiliki lebih sedikit fasilitas tingkat rendah daripada keduanya.

Kompiler Java asli dan referensi implementasi, mesin virtual, dan perpustakaan kelas pada awalnya dirilis oleh Sun di bawah lisensi kepemilikan.

Pada Mei 2007, sesuai dengan spesifikasi Java Community Process, Sun melepaskan sebagian besar teknologi Java di bawah GNU General Public License.

Yang lain juga telah mengembangkan implementasi alternatif dari teknologi Sun ini, seperti Kompiler GNU untuk Java (kompiler bytecode), GNU Classpath (perpustakaan standar), dan IcedTea-Web (Java Programming Language, 2019).

(4)

13

Universitas Kristen Petra

2.1.4. Android Studio

Android Studio adalah Integrated Development Enviroment (IDE) untuk sistem operasi Android, yang dibangun diatas perangkat lunak JetBrains IntelliJ IDEA dan didesain khusus untuk pengembangan Android. IDE ini merupakan pengganti dari Eclipse Android Development Tools (ADT) yang sebelumnya merupakan IDE utama untuk pengembangan aplikasi android. Fitur - fitur yang tersedia saat ini dalam stable version:

● Dukungan gradle-based build

● Lint tools untuk menangkap kinerja, kegunaan, kompatibilitas versi, dan masalah lainnya.

● Emulator yang cepat dan kaya akan fitur.

● Dukungan bawaan untuk Google Cloud Platform, memungkinkan integrasi dengan Firebase Cloud Messaging dan Google App Engine.

(Google Developer, 2018).

2.1.5. Room

Room merupakan pengembangan dari database SQLite dengan menyediakan lapisan abstraksi di atas SQLite untuk memungkinkan akses basis data yang lancar. Aplikasi yang menangani jumlah data terstruktur yang tidak sedikit bisa sangat diuntungkan dengan mempertahankan data tersebut secara lokal.

Kasus penggunaan yang paling umum adalah untuk menyimpan bagian data yang relevan. Dengan begitu, ketika perangkat tidak dapat mengakses jaringan, pengguna masih dapat menelusuri konten itu saat sedang offline. Setiap perubahan konten yang diprakarsai pengguna kemudian disinkronkan ke server setelah perangkat kembali online.

Ada 3 komponen utama di Room:

● Database: Berisi pemegang database dan berfungsi sebagai titik akses utama untuk koneksi yang mendasarinya ke data relasional yang bertahan lama dari aplikasi. Kelas yang dinotasikan dengan @Database harus memenuhi ketentuan berikut:

○ Menjadi kelas abstrak yang memperluas RoomDatabase.

○ Sertakan daftar entitas yang terkait dengan database dalam anotasi.

(5)

14

Universitas Kristen Petra

○ Berisi metode abstrak yang memiliki 0 argumen dan mengembalikan kelas yang dijelaskan dengan @POR.

● Entity: Suatu entity mewakili satu tabel pada database dan mewakili model kelas yang ingin disimpan di database. Tiap entry pada database merepresentasikan suatu objek pada kelas tertentu dan akan disimpan dalam satu baris. Tiap kolom merepresentasikan data yang relevan dengan objek tersebut, atau, dengan kata lain, tiap kolom adalah variabel pada suatu kelas.

● DAO: Suatu DAO adalah suatu interface yang digunakan untuk berinteraksi dengan database. DAO berisi metode - metode yang digunakan untuk mengakses database seperti create, read, update, delete.

Aplikasi ini menggunakan database Room untuk mendapatkan objek akses data, atau DAO, yang terkait dengan database itu. Aplikasi kemudian menggunakan setiap DAO untuk mendapatkan entitas dari basis data dan menyimpan perubahan ke entitas tersebut kembali ke basis data. Akhirnya, aplikasi menggunakan entitas untuk mendapatkan dan menetapkan nilai yang sesuai dengan kolom tabel dalam database (Google Developer, 2018).

Gambar 2.1 menunjukkan relasi antara komponen - komponen yang berbeda pada Room.

Gambar 2.1 Relasi antar komponen pada Room

(Sumber: https://developer.android.com/training/data-storage/room/)

(6)

15

Universitas Kristen Petra

2.1.6. CodeIgniter

CodeIgniter (CI) adalah kerangka pengembangan aplikasi yang bekerja di bawah platform PHP, sebagai kerangka kerja untuk bekerja atau mengembangkan program PHP dengan cara yang lebih sistematis. Pengembang dapat secara langsung dan cepat menghasilkan program, dengan mengikuti kerangka yang disediakan oleh CI. Programer tidak perlu membuat program dari awal, karena CI menyediakan seperangkat pustaka yang diperlukan untuk menyelesaikan pekerjaan umum, sekaligus menjaga antarmuka sederhana dan struktur logis untuk mengakses pustaka. Programmer dapat fokus pada kode yang harus dibuat untuk menyelesaikan suatu pekerjaan. CI adalah kerangka kerja yang memiliki lisensi gratis untuk digunakan, karena menggunakan lisensi Apache open-source / BSD.

CI pertama kali dikembangkan oleh Rick Ellis (Hidayat, A., & Utomo, V. G., 2014).

CodeIgniter didasarkan pada pola pengembangan Model-View-Controller.

MVC adalah pendekatan perangkat lunak yang memisahkan logika aplikasi dari presentasi. Dalam praktiknya, ini memungkinkan halaman web mengandung scripting minimal karena presentasi terpisah dari scripting PHP.

● Model mewakili struktur data yang dibuat. Biasanya kelas model Anda akan berisi fungsi-fungsi yang membantu mengambil, memasukkan, dan memperbarui informasi dalam database.

● View adalah informasi yang sedang disajikan kepada pengguna. View biasanya adalah halaman web, tetapi di CodeIgniter, tampilan juga bisa berupa fragmen halaman seperti header atau footer. Ini juga bisa berupa halaman RSS, atau jenis "halaman" lainnya.

● Controller berfungsi sebagai perantara antara model, view, dan sumber daya lain yang diperlukan untuk memproses permintaan HTTP dan menghasilkan halaman web.

(British Columbia Institute of Technology, 2018).

2.1.7. Google Maps API

Google Maps adalah layanan pemetaan web yang dikembangkan oleh Google. Ini menawarkan citra satelit, peta jalan, pemandangan panorama 360° jalan (Street View), kondisi lalu lintas waktu nyata (Google Traffic), dan perencanaan

(7)

16

Universitas Kristen Petra

rute untuk bepergian dengan berjalan kaki, mobil, sepeda dan udara (dalam versi beta), atau transportasi umum.

Google meluncurkan Google Maps API pada bulan Juni 2005 untuk memungkinkan pengembang mengintegrasikan Google Maps ke situs web. Ini adalah layanan gratis yang tidak memerlukan kunci API hingga Juni 2018 (perubahan mulai berlaku pada 16 Juli), ketika diumumkan bahwa kunci API yang tertaut ke akun Google Cloud dengan penagihan diaktifkan akan diperlukan untuk mengakses API. Dengan menggunakan Google Maps API, pengguna dapat menanamkan Google Maps ke situs web eksternal. Meskipun awalnya hanya JavaScript API, Maps API diperluas untuk menyertakan API untuk aplikasi Adobe Flash (tetapi ini sudah tidak digunakan lagi), layanan untuk mengambil gambar peta statis, dan layanan web untuk melakukan geocoding, menghasilkan petunjuk arah mengemudi, dan mendapatkan elevasi profil. Lebih dari 1.000.000 situs web menggunakan Google Maps API, menjadikannya API paling banyak digunakan (Google Maps, 2018).

2.1.8. SQLite

SQLite adalah pustaka dalam proses yang mengimplementasikan basis data SQL transaksional yang mandiri, tanpa konfigurasi, tanpa server mesin. Kode sumber untuk SQLite ada di domain publik dan gratis untuk keperluan pribadi dan komersial. SQLite memiliki binding ke beberapa bahasa pemrograman seperti C, C ++, BASIC, C #, Python, Java dan Delphi. COM (ActiveX) wrapper yang membuat SQLite lebih mudah diakses oleh bahasa scripted pada Windows seperti VB Script dan JavaScript, sehingga menambahkan kemampuan untuk aplikasi HTML. Ini juga tersedia dalam sistem operasi tertanam seperti iOS, Android, Symbian OS, Maemo, Blackberry dan WebOS karena ukurannya yang kecil dan kemudahan penggunaan.

SQLite adalah pustaka dalam proses yang mengimplementasikan mesin database SQL. Kode untuk SQLite adalah domain publik dan oleh karena itu bebas untuk digunakan untuk tujuan apa pun, komersial atau pribadi. SQLite saat ini ditemukan di lebih banyak aplikasi, termasuk beberapa proyek profil tinggi. SQLite adalah mesin database SQL yang tertanam dan tidak memiliki proses server terpisah

(8)

17

Universitas Kristen Petra

seperti kebanyakan SQL lainnya basis data. SQLite membaca dan menulis langsung ke file disk biasa. Format file basis data adalah lintas platform. Fitur-fitur ini menjadikan SQLite pilihan populer sebagai Format File Aplikasi. SQLite adalah pustaka kompak, ukuran pustaka bisa kurang dari 500KiB, tergantung pada platform target dan pengaturan optimisasi kompiler. Jika fitur opsional dihilangkan, ukuran file

Perpustakaan SQLite dapat dikurangi di bawah 300KiB. SQLite juga dapat dibuat untuk berjalan di ruang stack minimal (4KiB). SQLite yang populer pilihan engine database pada gadget yang dibatasi memori seperti ponsel, PDA, dan pemutar MP3. SQLite umumnya berjalan lebih cepat. Namun demikian, kinerja biasanya cukup baik bahkan di lingkungan dengan memori rendah. SQLite sangat hati-hati diuji dan juga sangat bisa diandalkan. Sebagian besar kode sumber SQLite dikhususkan untuk pengujian dan verifikasi.

SQLite merespons kegagalan alokasi memori dan kesalahan I / O disk dengan anggun. Tentu saja, bahkan dengan semua pengujian ini, masih ada bug.

Tetapi SQLite terbuka dan jujur tentang semua bug dan menyediakan daftar bug termasuk daftar bug penting dan menit-menitkronologis laporan bug dan perubahan kode (Bhosale, S. T., Patil, T., & Patil, P. 2015).

2.1.9. Android Debug Bridge (ADB)

Android Debug Bridge (adb) adalah alat baris perintah serbaguna yang memungkinkan Anda berkomunikasi dengan perangkat. Perintah adb memfasilitasi berbagai tindakan perangkat, seperti menginstal dan men-debug aplikasi, dan memberikan akses ke shell Unix yang dapat digunakan untuk menjalankan berbagai perintah pada perangkat. Ini adalah program klien-server yang mencakup tiga komponen:

• Klien, yang mengirim perintah. Klien berjalan di mesin pengembangan Anda.

Anda dapat memohon klien dari terminal baris perintah dengan mengeluarkan perintah adb.

• Daemon (adbd), yang menjalankan perintah pada perangkat. Daemon berjalan sebagai proses latar belakang pada setiap perangkat.

(9)

18

Universitas Kristen Petra

• Server, yang mengelola komunikasi antara klien dan daemon. Server berjalan sebagai proses latar belakang pada suatu mesin pengembangan.

ADB menyediakan berbagai fungsi untuk interaksi antara host dan perangkat. Fungsi-fungsi ini biasanya dijalankan dengan mengetikkan perintah dalam antarmuka baris perintah pada host. Beberapa perintah sensitif terhadap keamanan. Demi alasan kegunaan, tingkat hak istimewa yang sangat tinggi diberikan kepada ADB. Setelah perangkat Android terhubung dengan host melalui ADB, semua perintah dapat langsung dieksekusi tanpa otorisasi lebih lanjut.

Beberapa contoh command ADB adalah:

• adb install <path_to_APK> menginstal aplikasi dari perangkat eksternal.

• adb push <local> <remote> mendorong file ke ponsel dari perangkat eksternal.

• adb pull <remote> <lokasi> menyalin file dari ponsel ke perangkat eksternal.

• adb tcp: <portnum> membuka debug jaringan.

• adb backup / restore <local> command backup akan membuat cadangan file pada ponsel ke perangkat eksternal.

(Devasagayam, 2016)

2.1.10. Volley

Volley adalah perpustakaan HTTP yang membuat jaringan untuk aplikasi Android lebih mudah dan yang terpenting, lebih cepat. Volley unggul di operasi tipe RPC yang digunakan untuk mengisi UI, seperti mengambil halaman hasil pencarian sebagai data terstruktur. Ini terintegrasi dengan mudah dengan protokol apa pun dan keluar dengan dukungan untuk string, gambar, dan JSON. Dengan memberikan dukungan bawaan untuk fitur yang dibutuhkan, Volley terbebas dari penulisan kode boilerplate dan memungkinkan pengguna untuk berkonsentrasi pada logika yang spesifik untuk aplikasi pengguna. Volley menawarkan manfaat berikut:

• Penjadwalan otomatis permintaan jaringan.

• Beberapa koneksi jaringan bersamaan.

• Caching respons disk dan memori transparan dengan koherensi cache HTTP standar.

(10)

19

Universitas Kristen Petra

• Dukungan untuk prioritas permintaan.

• API permintaan pembatalan. Anda dapat membatalkan satu permintaan, atau Anda dapat mengatur blok atau cakupan permintaan untuk membatalkan.

• Kemudahan kustomisasi, misalnya, untuk mencoba ulang dan mundur.

• Pemesanan kuat yang memudahkan untuk mengisi UI Anda dengan benar dengan data diambil secara tidak sinkron dari jaringan.

• Alat debugging dan penelusuran.

(Google Developer, 2018)

2.2. Tinjauan Studi

2.2.1. Penelitian yang Sudah Dilakukan Sebelumnya

Penelitian mengenai perbandingan database sudah pernah dilakukan oleh beberapa pihak. Abubakar, Y (2014) melakukan perbandingan performa antara MySQL, PostgreSQL, MariaDB, dan SQLite dengan melakukan pengukuran kecepatan para operasi insert, update, dan juga select pada masing – masing database. Penelitian dilakukan melalui beberapa tahap dengan jumlah data yang berbeda - beda. Tiap tahap dilakukan pada sepuluh klien yang berbedan dan sebanyak dua puluh kali percobaan. Penelitian Abubakar, Y (2014) memiliki kesimpulan bahwa PostgreSQL memiliki performa yang paling bagus pada operasi insert dan MariaDB memiliki performa paling baik dalam operasi read.

Penelitian lain juga dilakukan oleh Umre, Bara, & Vivek (2017) untuk membandingkan performa antara database SQLite dengan MySQL. Penelitian yang dilakukan mengukur kecepatan database SQLite dan MySQL berdasarkan operasi insert, update, delete, dan select. Operasi select dilakukan sebanyak sepuluh kali, sedangkan operasi update, delete, dan insert dilakukan sebanyak lima puluh kali. Pada penelitian ini, didapatkan kesimpulan bahwa database MySQL dapat memberikan response time yang lebih baik daripada SQLite. SQLite menunjukkan peningkatan waktu operasi yang lebih banyak daripada MySQL ketika jumlah baris pada database meningkat. Akan tetapi, SQLite menunjukkan waktu yang lebih cepat dalam melakukan operasi select daripada MySQL.

(11)

20

Universitas Kristen Petra

2.2.2. Aplikasi Sejenis

Daily Sales Record

Aplikasi Daily Sales Record dikembangkan oleh JigsawLab yang merupakan perusahaan pembuat aplikasi mobile yang berada di Jeddah, Arab Saudi.

Pada Gambar 2.2 dapat dilihat bahwa aplikasi ini memiliki beberapa fitur utama yaitu customers, products, sales, reports, dan representatives. Fitur customers berfungsi untuk menampilkan semua pelanggan dari pegawai penjualan tertentu beserta jumlah debit dan kredit mereka. Fitur products berisi keseluruhan produk yang dijual beserta dengan stok produk tersebut. Fitur sales bertujuan agar pegawai penjualan dapat melihat penjualan mereka pada periode tertentu beserta dengan nama pelanggannya. Fitur reports berfungsi untuk menunjukkan laporan penjualan total dari pegawai penjualan baik bulan ini maupun bulan - bulan yang lalu serta laporan stok dalam periode tertentu. Fitur representatives bertujuan untuk menambahkan perwakilan pegawai penjualan.

Gambar 2.2 Tampilan Daily Sales Record (Sumber:

https://play.google.com/store/apps/details?id=com.kutirsoft.dailysalesrecord&hl=

en) Sales Order – Any Business

Aplikasi Sales Order - Any Business dikembangkan oleh perusahaan bernama Vanguard Software. Pada Gambar 2.3 dapat dilihat beberapa tampilan

(12)

21

Universitas Kristen Petra

utama dari aplikasi ini. Pada aplikasi ini, pengguna dapat melihat data produk dan juga data pelanggan. Pengguna juga dapat menambahkan data pelanggan yang baru melalui aplikasi ini. Selain itu, pengguna juga dapat melihat laporan penjualan dan juga sales order yang sudah dilakukan dengan pelanggan.

Gambar 2.3 Tampilan Sales Order - Any Business (Sumber:

https://play.google.com/store/apps/details?id=com.doonapp.order&hl=en)

Gambar

Gambar  2.1  menunjukkan  relasi  antara  komponen  -  komponen  yang  berbeda pada Room
Gambar 2.2 Tampilan Daily Sales Record  (Sumber:
Gambar 2.3 Tampilan Sales Order - Any Business  (Sumber:

Referensi

Dokumen terkait

Penggunaan komposisi biopestisida cair sesuai klaim 1, efektif untuk mengendalikan patogen dengan konsentrasi 1 10. ml/l sampai dengan

Penawar jambi ( Cibotium baromentz ) adalah jenis tanaman herbal untuk mengobati osteoporosis, dimana ekstrak ini dapat mencegah penurunan BMD pada tulang

Berdasarkan hasil dan pembahan dalam penelitian ini maka dapat disimpulkan bahwa ada hubungan antara menguras tempat penampungan air, menutup tempat penampungan

terlampir dalam dokumen tersebut, surat pernyataan kesediaan untuk melakukan pengelolaan dan pemantauan lingkungan hidup yang ditandatangani oleh Ketua Koperasi

Berdasarkan dari hasil keseluruhan aspek sumber ide yang telah diamati, ternyata hiasan bordir yang paling tinggi di pusat perbelanjaan di Surabaya Utara yaitu hiasan bordir

Dengan demikian maka dalam rentangan sejarah Filsafat Ilmu, Rene Descartes adalah tokoh Filsafat Ilmu pada zaman Pra-Positivisme, Auguste Comte adalah tokoh Filsafat Ilmu

Target penerimaan perpajakan pada APBN tahun 2013 ditetapkan sebesar Rp1.193,0 triliun, terdiri atas pendapatan pajak dalam negeri sebesar Rp1.134,3 triliun

INTI (Persero) secara singkat adalah Suatu penghambat yang terjadi pada setiap kegiatan pembelian, baik itu yang muncul dari pihak eksternal perusahaan maupun dari dalam