• Tidak ada hasil yang ditemukan

MEMBANGUN APLIKASI PENCOCOKAN STRING BERDASARKAN PENULISAN DAN KEMIRIPAN PENGUCAPAN. Naskah Publikasi. diajukan oleh Tryas Ayu Purnamasari

N/A
N/A
Protected

Academic year: 2021

Membagikan "MEMBANGUN APLIKASI PENCOCOKAN STRING BERDASARKAN PENULISAN DAN KEMIRIPAN PENGUCAPAN. Naskah Publikasi. diajukan oleh Tryas Ayu Purnamasari"

Copied!
18
0
0

Teks penuh

(1)

MEMBANGUN APLIKASI PENCOCOKAN STRING

BERDASARKAN PENULISAN DAN

KEMIRIPAN PENGUCAPAN

Naskah Publikasi

diajukan oleh

Tryas Ayu Purnamasari

08.11.2339

kepada

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

AMIKOM

YOGYAKARTA

2012

(2)
(3)

BUILDING THE APLICATION STRING MATCHING BASED ON WRITING AND THE SIMILARITY

OF PRONOUNCIATION

MEMBANGUN APLIKASI PENCOCOKAN STRING

BERDASARKAN PENULISAN DAN

KEMIRIPAN PENGUCAPAN

Tryas Ayu Purnamasari Emha Taufiq Luthfi Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA

ABSTRACT

In string matching, the use of algorithms that can provide accurate search results that are appropriate and in accordance with user preferences. Even possible to use the task of merging several algoritma. In this final task, the author will analyze and menimplementasikan algorithm Soundex and Approximate (writing). In addition, the author will also analyze and implement algorithm is merging the two.

Soundex algorithm is based on algorithms that similarity speech. There is a difference between speech and spelling make a Soundex Indonesia to become more complex, so normalization is required. This is the difference that allows a Soundex Indonesia. This difference can be a barrier in the string-matching based on Soundex in Bahasa Indonesia. And in the end of this task, soundex have used 3 soundex, namely 1 soundex and without normalization with the normalization 2 soundex but different phonetic code. Shown in this final task, that in all the vocal Soundex algorithm which is coded as a string-matching will not make a 100% optimal. For the case of spelling and dialect, normalization is very helpful.

Other algorithms, the algorithm is to compare the writing. This algorithm can help in a letter vocal problems. However, the accuracy of this algorithm in handling the problem of vowel letter, not the means to make the results match the string. Results of analysis and implementation of the merging algorithm with the Soundex algorithm is shown in the writing of this final task, consisting of 3 parts that is satisfactory, unsatisfactory, and not satisfactory.

(4)

1. Pendahuluan

Dalam kehidupan sehari-haripun banyak terdapat proses yang digambarkan dalam suatu algoritma. Misalnya kesamaan nama-nama orang di Indonesia. Kesamaan nama-nama ini tidak hanya terdapat di negara Indonesia, melainkan di seluruh dunia.

Maksud kata nama Indonesia dalam judul skripsi ini adalah objek analisis dan implementasi untuk algoritma yang berdasarkan penulisan dan kemiripan pengucapan adalah nama-nama orang yang menggunakan ejaan Bahasa Indonesia yang disempurnakan. Bukan hanya menggunakan ejaan Bahasa Indonesia, tapi juga menggunakan logat Bahasa Indonesia. Hal ini dikarenakan adanya beberapa nama yang terpengaruh budaya asing. Jadi walaupun terdengar seperti nama asing, namun nama tersebut dikategorikan sebagai nama Indonesia berdasarkan logatnya.

Dalam Bahasa Indonesia, soundex sama halnya dengan homofon. Soundex merupakan salah satu algoritma yang mencocokan string berdasarkan kemiripan pengucapan (phoenic string matching). Pemilihan algoritma soundex dilatarbelakangi karena adanya sejarah soundex yang menyebutkan bahwa algoritma soundex juga merupakan algoritma yang mengatasi masalah pengejaan nama orang. Selain itu, belum banyaknya riset pencocokan string menggunakan algoritma soundex untuk Bahasa Indonesia, membuat adanya keinginan untuk mengulas lebih dalam topik ini.

2. Landasan Teori

2.1 Konsep Dasar Sistem

Menurut Jerry FitzGerald, suatu sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran yang tertentu. Untuk membedakan dan mengembangkan suatu sistem, maka membedakan unsur-unsur dari sistem yang di bentuknya.

2.2 Konsep Pemodelan Sistem 2.2.1 Definisi Use

Use case class digunakan untuk memodelkan dan menyatakan unit fungsi/layanan yang disediakan oleh sistem (or bagian sistem: subsistem atau class) ke pemakai. Use case dapat dilingkupi dengan batasan sistem yang diberi label nama sistem.

(5)

2.2.2 Class Diagram

Sedangkan Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti hubungan dinamis, pewarisan, asosiasi, dan agregasi.

2.3 Pencocokan String

1

Pencocokan string menurut Dictionary of Algorithms and Data Structures,

National Institute of Standards and Technology (NIST), pencocokan string (string matching) diartikan sebagai sebuah permasalahan untuk menemukan pola

susunan karakter string di dalam string lain atau bagian dari isi teks. Pencocokan

string merupakan bagian penting dari sebuah proses pencarian string (string searching) dalam sebuah dokumen. Hasil dari pencarian sebuah string alam

dokumen tergantung dari teknik atau cara pencocokan string yang digunakan.

2.4 Approximate String Matching

Merupakan pencocokan string dengan membedakan susunan karakter dalam string yang dicocokkan, memiliki jumlah, maupun urutan karakter dalam suatu string. Banyak algoritma bisa digunakan untuk pencocokan string dengan metode ini. Misalnya algoritma Brute Force, Backtracking, Greedy, dan lain-lain.

2.5 Phonetic String Matching

2

Fonetik (phonetics) adalah ilmu yang menyelidiki bunyi bahasa tanpa melihat fungsi bunyi itu sebagai pembeda makna dalam suatu bahasa (language). Kata sifat fonetik adalah fonetis (phonetic). Phonetic String Matching merupakan suatu teknik pencocokan string yang membandingkan suatu string dengan string yang lain berdasarkan kode fonetis masing-masing.

Beberapa contoh algoritma phonetic string matching yaitu :

1. Algoritma soundex, merupakan algoritma phonetic yang mendeteksi string nama yang mempunyai kemiripan dalam ucapan yang menghasilkan 4 digit kode fonetis. Dimana huruf-huruf yang mirip dalam pengucapan dikelompokkan menjadi satu kelompok dengan ditandai kode fonetis yang sama.

2. Algoritma metaphone, merupakan algoritma yang melakukan penangan khusus terhadap setiap fonem (satuan bunyi bahasa) dalam kata.

1

Binstock & Rex. 1995. “Practical Algorithmsfor Programmers”. Addison Wesley.

2

Syaroni, Mukhamad dkk, 2004, “Pencocokan String Berdasakan Kemiripan Ucapan (Phonetic String Matching) dalam Bahasa Inggris”. Departemen Teknik Informatika ITB Bandung.

(6)

3. Algoritma caverphone, merupakan algoritma yang mempunyai langkah-langkah yang panjang dan rinci dan tidak menangani khusus untuk huruf-huruf tertentu dalam satu kelompok langkah, tetapi sudah digabung untuk beberapa huruf.

4. Algoritma doublemetaphone, merupakan salah satu algoritma phonetic yang mendeteksi string nama yang mempunyai kemiripan dalam ucapan yang menghasilkan dua buah kode fonetis, yaitu kode fonetis primer dan sekunder.

Dalam skripsi ini, akan dipilih algoritma soundex. Pemilihan algoritma soundex dilatarbelakangi karena adanya sejarah soundex yang menyebutkan bahwa algoritma soundex juga merupakan algoritma yang mengatasi masalah pengejaan nama orang. Selain itu adanya versi penulisan kode fonetis yang berbeda, juga melatarbelakangi pemilihan algoritma soundex.

Algoritma Soundex diciptakan oleh Robert Russell dan Margaret Odell yang kemudian dipatenkan pada tahun 1918 dan 1922. Sebuah variasi yang disebut American Soundex telah digunakan pada tahun 1930-an untuk mendukung dan menganalisa sensus Amerika dari tahun 1890 sampai 1920.

2.5.1 Soundex 1

Langkah-langkah untuk pencocokan string dengan metode Soundex 1 : a. Pertahankan huruf pertama dari suatu kata tersebut.

b. Ubah abjad sisanya sesuai nilai Tabel 2-1 berikut : Tabel 2-1 : Kode Fonetis Soundex 1

Huruf Kode Fonetis

A, I, U, E, O 1 P, G, B, D 2 L, M, N, R, X, H 3 V, F, S, T, J, Z 4 Q, C, K 5 W, Y 6

c. Hapus semua pasangan dari urutan angka.

d. Tulis empat posisi pertama, yang akan mengikuti pola: <uppercase letter> <digit> <digit> <digit>.

2.5.2 Soundex 2

(7)

a. Sebuah string nama dimasukkan, huruf pertama akan diambil.

b. Berikan kode fonetis untuk masing-masing huruf, berdasarkan Tabel 2-2 Tabel 2-2 : Kode Fonetis Soundex 2

Huruf Kode Fonetis

A,E,I,O,U,H,Y / B,P 0 C,J,S,X,Z 1 D 2 F (V) 3 G, K (Q) 4 L 5 M 6 N 7 R 8 T 9 W w Karakter Khusus *

c. Jika terdapat dua atau lebih huruf berurutan dengan nomor (kode fonetis) yang sama, maka ambil salah satunya saja.

d. Jika ada huruf-huruf yang tergolong dalam tabel normalisasi maka, huruf-huruf tersebut dinormalisasikan dan kemudian baru dikodekan e. Abaikan semua huruf berikut a, e, h, i, o, u, dan y dengan kode fonetis / f. Outputkan 4 digit pertama termasuk huruf awal (<uppercase letter>

<digit> <digit> <digit> ), jika hasilnya kurang dari 4 digit maka digit sisa diisi dengan karater khusus (*).

2.5.3 Soundex 3

Langkah-langkah untuk pencocokan string dengan metode Soundex 3 : a. Sebuah string nama dimasukkan, huruf pertama akan diambil.

b. Berikan kode fonetis untuk masing-masing huruf, berdasarkan Tabel 2-3: Tabel 2-3 : Kode Fonetis Soundex 3

Huruf Kode Fonetis

A,E,I,O,U,Y /

B 0

(8)

c. Jika terdapat dua atau lebih huruf berurutan dengan nomor (kode fonetis) yang sama, maka ambil salah satunya saja.

d. Jika ada huruf-huruf yang tergolong dalam tabel normalisasi maka, huruf-huruf tersebut dinormalisasikan dan kemudian baru dikodekan. e. Abaikan semua huruf berikut a, e, h, i, o, u, dan y dengan kode fonetis / f. Outputkan 4 digit pertama termasuk huruf awal (<uppercase letter>

<digit> <digit> <digit> ), jika hasilnya kurang dari 4 digit maka digit sisa diisi dengan karater khusus (*).

g. Dalam soundex hanya ada keputusan sama (jika kode dari nama

keyword dan nama pembanding sama) atau tidak sama (jika kode dari

nama keyword dan nama pembanding berbeda).

2.6 Pengirisan Algoritma Penulisan Dengan Algoritma Soundex

Pengirisan algoritma penulisan dengan algoritma soundex dilakukan selain untuk memenuhi tujuan ke-2, juga untuk mem-filter seluruh keluaran. Hal ini dimaksudkan untuk menjaga agar keluaran yang muncul hanya nama yang benar-benar mirip dengan nama keyword. Dengan begitu hanya nama-nama yang sama dari algoritma Soundex1 dan Soundex2 dan Soundex3 dan penulisan saja yang muncul.

2.7 Sistem Perangkat Lunak Yang Digunakan

Visual basic adalah salah satu bahasa pemrograman yang berorientasi object (Object Oriented Programming : OOP). Pemrograman berorientasi obyek menawarkan konsep yang sederhana, dimana seorang programmer tidak dituntut untuk membuat aplikasi dengan membangun seluruh komponennya sendiri.

D, T 2 F, P, V 3 G, K (Q) 4 L, R 5 M 6 N 7 W 8 H 9 Karakter Khusus *

(9)

Program aplikasi dapat dibuat dengan memanfaatkan obyek-obyek yang sudah ada. Setiap obyek harus memiliki atribut/property dan event.

3. Analisis

3.1 Gambaran Umum

3

Model pendekatan pengembangan perangkat lunak yang digunakan adalah model Waterfall. Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing / verification, dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Sebagai contoh tahap desain harus menunggu selesainya tahap sebelumnya yaitu tahap requirement.

Aplikasi ini menggunakan model waterfall karena lebih mudah, kelebihan dari model ini adalah ketika semua kebutuhan sistem dapat didefinisikan secara utuh, eksplisit, dan benar di awal project, maka dapat berjalan dengan baik dan tanpa masalah. Meskipun seringkali kebutuhan sistem tidak dapat didefinisikan seeksplisit yang diinginkan, tetapi problem pada kebutuhan sistem di awal project lebih ekonomis, usaha dan waktu yang terbuang lebih sedikit jika dibandingkan problem yang muncul pada tahap-tahap selanjutnya.

3.2 Analisis Kebutuhan dan Spesifikasi

Sistem ini berbentuk aplikasi, yang mana aplikasi ini digunakan bukan oleh seorang admin dan atau seseorang yang berkewenangan dengan hak tertentu, melainkan user biasa.

Kebutuhan fungsional dari sistem ini hanya membutuhkan inputan data berupa string nama sebagai keyword. String nama ini merupakan kumpulan huruf dari a sampai z dan membentuk sebuah nama. Inputan nama tidak diperkenankan mengandung singkatan. Inputan ini akan diproses oleh sistem menggunakan kedua algoritma, tanpa meminta user memilih diantara kedua algoritma tersebut.

Output pada sistem ini mengeluarkan keluaran berupa daftar nama-nama yang mirip dengan keyword yang berasal dari database, yang datanya adalah nama siswa SMA Negeri 1 Pemalang angkatan 2011/2012, nama tokoh Indonesia, serta nama orang terkenal Indonesia, berdasarkan kedua algoritma.

3

(10)

Selain itu sistem juga memberikan informasi mengenai kode fonetis yang muncul.

3.3 Perancangan Sistem

Untuk menspesifikasikan mengenai analisis proses dari perangkat lunak akan digunakan UML (Unified Modeling Language) karena sifatnya yang menjamin kejelasan sistem yang digambarkan dan kelengkapan penggambarannya.

3.3.1 Use Case Diagram

Gambar 3-1 di bawah ini adalah use case dari sistem yang dibangun untuk menganalisa dan mengimplementasi algoritma Soundex dan penulisan :

Gambar 3-1 : Use Case Diagram(a)

Gambar 3-2 : Use Case Diagram (b)

3.3.2 Class Diagram

Merupakan alat bantu pengembangan sistem yang menjelaskan level terendah dari perilaku-perilaku proses yang terdapat dalam diagram aliran data secara rinci.

Cek nama

String Matching

Cek nama

(11)
(12)

: user

: Cek Nama : Approximate String Matching : Soundex : Pencocokan String : GUI.HasilStringMatching : DataNama : GUI.Input Nama text1_KeyPress( ) klikTombolProses( ) cek_char( ) huruf( ) posisi( ) per_huruf( ) total_huruf( ) setNamaApp( ) getNamaApp( ) Soundex1( ) Soundex2( ) Soundex3( ) setKodeFonetis1( ) setKodeFonetis2( ) setKodeFonetis3( ) getNamaS1( ) getNamaS2( ) getNamaS3( ) sama( ) mirip( ) klikTombolInputNamaLagi( ) klikTombolKeluar( ) soundex1( ) soundex2( ) soundex3( ) Form_Load( ) 3.3.3 Sequence Diagram

(13)

4. Hasil Penelitian dan Pembahasan 4.1 Implementasi

Implementasi sistem (system implementation) merupakan tahap meletakkan sistem yang baru dikembangkan supaya nantinya sistem tersebut siap untuk dioperasikan sesuai dengan yang diharapkan. Tujuan dari tahap implementasi adalah menyiapkan semua kegiatan sistem sesuai dengan rancangan yang telah ditentukan.

4.1.1 Implementasi Program

Program Pencocokan String ini mempunyai 2 form yaitu form input dan form keluaran.

4.1.2 Implementasi Database

Database merupakan sekumpulan data yang saling berintegrasi satu sama lain dan terorganisasi berdasarkan sebuah skema atau stuktur tertentu dan tersimpan pada sebuah hardware computer.

4.2 Pemeliharaan Siistem

Untuk membuat system yang baik dan bebas dari masalah maka perlu dilakukan pemeliharaan sistem. Pemeliharaan pada sistem yaitu pemiharaan pada

software. 4.3 Pengujian

Untuk melakukan pengujian dengan Soundex digunakan sample nama. Langkah pengujiannya adalah mencari kode fonetis nama keyword. Kemudian dicocokkan dengan kode fonetis dari nama-nama yang ada dalam data apakah ada kode fonetis yang sama.

Setiap nama yang mempunyai kode fonetis yang sama akan dikelompokkan menjadi satu. Dalam tiap kelompok tersebut, tidak menutup kemungkinan adanya nama yang tidak sesuai. Artinya dalam satu kelompok tertentu, terdapat nama yang seharusnya tidak termasuk kelompok tersebut karena tidak satu suara dengan nama lain dalam kelompok tersebut. Kelompok tersebut diberi nama kelompok yang tidak sesuai.

Pengujiannya adalah dari 5170 nama yang ada dalam database, akan diuji satu persatu. Setelah itu keluaran yang ada akan dicek secara manual, maka terbentuk 3 kelompok jenis keluaran. Yaitu keluaran memuasakan, kurang memuaskan, atau tidak memuaskan.

(14)

Banyaknya jumlah keluaran yang tidak memuaskan menunjukkan bahwa pengirisan algoritma penulisan dengan algoritma soundex kurang optimal. Namun bukan berarti pengirisan algoritma ini tidak berhasil. Karena kalau dilihat sisi positif dari pengirisan algoritma adalah filter yang menyebabkan keluaran tidak sebanyak jika algoritma tidak diiriskan.

4.4 Hasil

Gambar 4-1 : Tampilan Awal Aplikasi

Form pencoccokan string di atas merupakan form yang pertama kali muncul ketika program dijalankan. Form ini digunakan untuk menginputkan nama yang akan diproses kemiripannya bedasarkan ejaan. Dibawah ini akan ditunjukkan contoh ketika program dijalankan.

Gambar 4-2 : Contoh Input Keyword “abdul”

(15)

Aplikasi ini akan muncul sebuah peringatan jika tidak menginputkan nama atau nama kosong tetapi tetap meminta untuk memproses atau mengklik tombol “proses” maka akan muncul gambar seperti dibawah ini :

Gambar 4-4 : Peringatan

Gambar 4-5 : Validasi

Dan jika menginputkan nama yang tidak ada pada database maka akan muncul message box atau validasi seperti diatas. Dalam message box tersebut ada 2 pilihan yaitu pilihan “ok” dan “cancel”. Jika memilh “Ok” maka akan menutup jendela validasi tersebut. Tetapi jika memilih “cancel” maka akan muncul gambar 4-6 seperti dibawah ini dan inputan tetap diproses namun hsilnya tidak sama persis karena sesuai dengan yang ada di database. Misalnya dengan menginputkan nama “abde”. Nama tersebut tidak ada didalam database. Dan hasilnya seperti pada gambar 4-7.

(16)

Gambar 4-15 : Keyword “abde”

5. Kesimpulan

Ketiga Algoritma Soundex dapat digunakan, hanya saja harus disesuaikan dengan kebutuhan. Misalnya, jika data yang digunakan sebagai acuan berskala kecil dan tidak menghiraukan Ejaan Yang Disempurnakan maka dapat menggunakan algoritma Soundex1. Sebaliknya, jika data acuan berskala besar dan memperhitungkan Ejaan Yang Disempurnakan serta ingin menghasilkan keluaran yang lebih akurat, maka dapat menggunakan algoritma Soundex2 maupun Soundex3.

Kelemahan dari Soundex1 adalah tidak adanya normalisasi yang menyebabkan ketidaksempurnaan pengkodean untuk ejaan tertentu. Namun kelebihan Soundex ini yaitu jika nama yang dicocokan sederhana tanpa mengandung huruf-huruf yang harus dinormalisasi.

Kelemahan Soundex2 dapat dilihat dari huruf H yang tidak dikodekan akan tidak tepat penggunaanya jika huruf H terdapat bukan di tengah dan atau di sebelah konsonan lain melainkan di belakan dari sebuah nama. Kelebihan Soundex2 ini yaitu pembagian kode fonetis yang cermat berdasar aturan baku berbahasa Indonesia membuat jumlah kelompok yang sesuai paling banyak, itu berarti algoritma Soundex ini paling mudah dan berhasil.

Kelemahan dari Soundex3 justru jika huruf H dikodekan dan terdapat di tengah nama maka terdapat nama yang harusnya dikodekan sama namun tidak dikodekan sama. Kelebihan Soundex3 ini terlihat jika nama yang ingin dicocokan mengandung huruf yang “ cadel “.

(17)

Keluaran pengirisan algoritma penulisan dengan algoritma soundex kurang optimal. Namun bukan berarti pengirisan algoritma penulisan dengan algoritma soundex ini tidak berhasil. Karena kalau dilihat sisi positif dari pengirisan algoritma penulisan dengan algoritma soundex adalah filter yang menyebabkan keluaran tidak sebanyak jika algoritma tidak diiriskan.

(18)

DAFTAR PUSTAKA

Binstock & Rex. 1995. Practical Algorithmsfor Programmers. Addison Wesley.

Hanif Al Fatta. 2007. Analisis & Perancangan Sistem Informasi Untuk Keunggulan Bersaing

Perusahaan & Organisasi Modern. Penerbit ANDI.

HM, Jogiyanto. 1999. Analisis dan Desain Sistem Informasi : Pendekatan Terstruktur Teori

dan Praktik Aplikasi Bisnis. Yogyakarta : Andi Offset.

Rahadian, Sukma. 2007. Tugas Akhir Perbandingan Pencocokan String Nama Dalam

Bahasa Indonesia Berdasarkan Kemiripan Ucapan. Departemen Teknik Informatika Sekolah

Tinggi Teknologi Telekomunikasi Bandung.

Roger S. Pressman. 2005. Software Engineering : A Practitioner’s Approach

Syaroni, Mukhamad dkk, 2004. Pencocokan String Berdasakan Kemiripan Ucapan (Phonetic

Gambar

Tabel 2-3 : Kode Fonetis Soundex 3
Gambar  3-1  di  bawah  ini  adalah  use  case  dari  sistem  yang  dibangun  untuk  menganalisa  dan  mengimplementasi  algoritma  Soundex  dan  penulisan :
Gambar 3-3 : Class Diagram
Gambar 3-4 : Sequence Diagram
+4

Referensi

Dokumen terkait

Memperhatikan hasil evaluasi kualifikasi pada Perusahaan Saudara untuk pekerjaan ” PEMBANGUNAN GEDUNG KANTOR KELURAHAN SIMALUNGUN (1. PAKET) ” , dengan ini kami

[r]

Bagian A ini leitmotif Ayah sering muncul menandakan berkisah tentang rasa sakit dan perasaan sedih Ayah ketika mengalami sakit hingga pada birama 19–22 pola ritme

Konstitusi NRI telah memberikan ruang yang sama dan setara bagi laki-laki dan perempuan untuk memasuki dunia pendidikan pada seluruh jenjangnya.Jumlah nominal kaum perempuan

Dimana sistem pakar bila dikaitkan dengan kemampuan dokter dalam mendiagnosa secara dini kondisi kesehatan pasien, dapat diciptakan suatu sistem komputer yang bertugas untuk

Pengguna data mengakui bahwa BPS tidak bertanggung jawab atas penggunaan data atau interpretasi atau kesimpulan berdasarkan penggunaan data apabila tidak diketahui atau

udara desain dan dengan program metode FAA memperhitungkan kerusakan akibat. lalulintas keberangkatan langsung dari

Pengadaan Jasa Outsourcing Pengemudi, Teknis dan Tenaga Fungsional Lainnya