Alat internal yang mengurangi pekerjaan manual berulang tim pengembangan perangkat lunak: penyamaran data dalam file tabel, skrip yang menjalankan langkah di web dan dalam program, perekaman rapat, dan prototipe penawaran harga
Rangkaian 5 alat internal ini mengurangi pekerjaan manual berulang tim pengembangan perangkat lunak. Kami mengembangkannya untuk digunakan sendiri selama tahun 2020–2024. Rangkaian ini mencakup program Anonymization yang menyamarkan data dalam file tabel, skrip Selenium yang menjalankan langkah pada halaman web, perekam RPA yang merekam penggunaan mouse dan keyboard lalu memutarnya ulang, aplikasi InMeet yang memerintahkan perekaman video rapat, dan prototipe layar DoQuot untuk membuat penawaran harga. Semua alat ini kami buat dan uji di dalam tim kami sendiri.

- Industri
- Layanan
- Tahun
- 2020–2024
- lingkup pekerjaan
- 5 alat internal yang kami buat dan uji di dalam tim: program Anonymization (Python) membaca file CSV, XLSX, atau XLS, menyamarkan data sesuai file konfigurasi, lalu membuat file hasil dan file pemetaan (mapping) untuk pengembalian (Januari–Maret 2024, 5 minggu) · skrip Selenium + ChromeDriver memilih nilai pada menu, melampirkan file Excel, dan menekan tombol kirim pada halaman web, disertai panduan (Januari–Maret 2024, 8 minggu) · perekam RPA (PyAutoGUI + pynput) merekam klik mouse dan penekanan tombol keyboard sebagai log beserta video layar, lalu memutarnya ulang, diuji dengan kasus mengetik teks di Notepad (file uji bertanggal April 2023) · aplikasi InMeet dengan mode Controller memerintahkan komputer mode Client memulai dan menghentikan perekaman video, lalu mengunggahnya ke server, sesuai panduan tahun 2020 · prototipe layar DoQuot berupa halaman tabel status dan halaman pembuatan penawaran harga, beserta file instalasi Android (Oktober 2024, 2 hari)
Ringkasan
- Rangkaian 5 alat internal ini mengurangi pekerjaan manual berulang tim pengembangan perangkat lunak. Kami membuat dan mengujinya sebagai alat internal dan prototipe selama tahun 2020–2024.
- Program Anonymization menyamarkan data dalam file CSV, XLSX, dan XLS sesuai file konfigurasi dan dapat mengembalikannya dengan file pemetaan (mapping). Kami menyelesaikannya pada Januari–Maret 2024 dalam waktu 5 minggu.
- Pekerjaan otomatisasi dibagi menjadi 2 jenis: Selenium untuk halaman web yang tombolnya dapat dirujuk dari kode halaman, dan perekam RPA yang memutar ulang berdasarkan posisi di layar untuk program di komputer.
- InMeet memungkinkan komputer mode Controller memerintahkan komputer mode Client memulai dan menghentikan perekaman video rapat, lalu mengunggahnya ke server, sesuai panduan tahun 2020.
- DoQuot adalah prototipe layar tabel status dan halaman pembuatan penawaran harga yang kami buat pada Oktober 2024, beserta file instalasi Android.
Permasalahan di lapangan
Tim pengembangan kami memiliki pekerjaan yang harus dilakukan secara manual berulang kali, yaitu menyamarkan data dalam file Excel sebelum digunakan lebih lanjut; mengeklik pilihan menu, melampirkan file, dan menekan tombol kirim pada halaman web yang sama berkali-kali; merekam video rapat; serta membuat penawaran harga dari daftar pekerjaan dan jumlah hari kerja (Manday). Pekerjaan ini menyita waktu dan mudah keliru jika diulang berkali-kali.
Apa yang kami lakukan
Kami menulis alat-alat kecil yang terpisah untuk setiap pekerjaan, yaitu program Python yang menyamarkan data dalam file CSV, XLSX, dan XLS dengan cara yang dapat dikembalikan; skrip Selenium untuk langkah pada halaman web; perekam RPA (Robotic Process Automation, yaitu penggunaan perangkat lunak untuk menjalankan langkah yang sama di komputer sesuai urutan yang ditetapkan) untuk program di komputer; aplikasi InMeet yang memungkinkan satu komputer memerintahkan komputer lain merekam video rapat; dan prototipe layar DoQuot.
- Pekerjaan manual berulang timPenyamaran data · Klik di halaman web · Perekaman rapat · Penawaran harga
- Alat PythonAnonymization · Selenium · Perekam RPA
- Aplikasi InMeetPerintah rekam video rapat dan unggah
- Prototipe DoQuotLayar status dan pembuatan penawaran harga
Hasil pengujian dengan benda kerja nyata
Dokumen ringkasan proyek tahun 2024 menyebutkan bahwa program Anonymization dan skrip Selenium telah selesai, dengan catatan Selenium tidak dapat menangkap elemen yang digambar pada canvas (misalnya grafik). Perekam RPA memiliki hasil eksekusi kasus uji beserta log dan video. InMeet dapat memerintahkan perekaman video dan mengunggahnya sesuai panduan tahun 2020, dan DoQuot memiliki prototipe layar tabel status dan halaman pembuatan penawaran harga.
Latar belakang permasalahan
Tantangan dalam kasus ini berasal dari pekerjaan di tim pengembangan kami sendiri. Pekerjaan yang harus dilakukan secara manual berulang kali adalah menyamarkan data dalam file Excel sebelum digunakan lebih lanjut, mengeklik langkah yang sama di halaman web, merekam video rapat, dan membuat penawaran harga dari daftar pekerjaan dan Manday.
Pekerjaan ini dapat dilakukan secara manual, tetapi menyita waktu dan mudah keliru jika diulang berkali-kali, misalnya mengeklik untuk menguji halaman web yang sama setiap kali program diubah. Karena itu, kami membuat alat-alat kecil yang terpisah untuk setiap pekerjaan. Masing-masing dikembangkan pada tahun yang berbeda selama tahun 2020–2024.
Apa itu RPA
RPA (Robotic Process Automation) adalah penggunaan perangkat lunak untuk menjalankan langkah di komputer sesuai urutan yang ditetapkan, seperti mengeklik, mengisi, melampirkan file, dan menekan tombol kirim. Cara ini cocok untuk pekerjaan yang langkahnya sama setiap kali.
Persyaratan dan batasan
Setiap alat memiliki persyaratannya sendiri, sesuai dokumen kebutuhan, panduan, dan ruang lingkup pekerjaan yang kami tulis. Persyaratan utamanya adalah sebagai berikut.
- Anonymization: membaca file CSV, XLSX, dan XLS, menentukan data yang harus disamarkan dalam file konfigurasi (file_config), dan harus dapat dikembalikan ke data semula.
- Selenium: memilih nilai pada menu tarik-turun (dropdown), melampirkan file Excel, dan menekan tombol kirim atau unduh pada halaman web.
- Perekam RPA: merekam klik mouse dan penekanan tombol keyboard sebagai log beserta video layar, agar dapat diperiksa kembali, baik putaran perekaman maupun putaran pemutaran ulang.
- InMeet: memungkinkan satu komputer memerintahkan mulai dan berhenti merekam video pada komputer lain, lalu mengunggah file video ke server.
- DoQuot: layar untuk membuat penawaran harga dari daftar pekerjaan dan Manday, dimulai dari halaman tabel status dan halaman pembuatan penawaran harga.
Keterbatasan utama berasal dari cara alat merujuk ke layar. Selenium membaca tombol dan kolom isian dari kode halaman web, sehingga tidak dapat menangkap elemen yang digambar pada canvas, seperti grafik. Sementara itu, perekam RPA memutar ulang berdasarkan posisi di layar, sehingga bergantung pada posisi jendela dan resolusi layar.
Sebaiknya menggunakan Selenium atau perekam mouse dan keyboard?
Gunakan Selenium jika pekerjaan berada di halaman web, dan gunakan perekam jika pekerjaan berada di dalam program di komputer. Selenium merujuk ke tombol dan kolom isian dari kode halaman web, seperti ID, NAME, XPATH, atau CSS selector, sehingga tidak bergantung pada posisi di layar. Perekam menggunakan PyAutoGUI/pynput untuk mengendalikan mouse dan keyboard sesuai posisi yang direkam.
Karena itu, perekam dapat digunakan untuk program yang tidak memiliki kode halaman web untuk dirujuk. Kasus uji kami adalah mengetik teks di program Notepad.
- 1
Anonymization: menyamarkan data dalam file tabel
Pengguna menyiapkan file konfigurasi (file_config), lalu menjalankan perintah encode pada file sumber CSV, XLSX, atau XLS melalui jendela perintah (Terminal). Program membuat file yang datanya telah disamarkan dan file pemetaan (mapping) di folder output. Jika data semula diperlukan kembali, jalankan perintah decode beserta file pemetaan.
- 2
Selenium: memerintahkan browser menjalankan langkah di halaman web
Skrip Python membuka halaman web melalui ChromeDriver, memilih nilai pada menu, melampirkan file Excel, lalu menekan tombol kirim atau unduh. Panduan kami menjelaskan cara menentukan posisi tombol dan kolom isian dari kode halaman web.
- 3
Perekam RPA: merekam lalu memutar ulang
Saat pengguna bekerja seperti biasa, program merekam klik mouse dan penekanan tombol keyboard sebagai log beserta video layar. Selanjutnya, log dikonversi menjadi skrip PyAutoGUI/pynput untuk diputar ulang, dan log serta video dari putaran pemutaran ulang disimpan untuk pemeriksaan kembali.
- 4
InMeet: memerintahkan perekaman video rapat dari satu komputer
Komputer yang memilih mode Controller memerintahkan komputer yang menekan Join dalam mode Client untuk memulai atau menghentikan perekaman video, lalu file video diunggah ke server.
- 5
DoQuot: prototipe layar penawaran harga
Prototipe ini memiliki halaman tabel status penawaran harga dan halaman pembuatan penawaran harga. Layarnya bersifat statis, dan tersedia file instalasi Android (APK) untuk melihat layar pada perangkat.
Apa yang kami bangun dan uji
Kami membuat program, skrip, panduan, dan prototipe berikut serta menggunakannya secara internal di dalam tim.
- Program Anonymization beserta dokumen kebutuhan, serta panduan pembuatan file konfigurasi, encode, dan decode
- Skrip Selenium + ChromeDriver beserta panduan menentukan posisi tombol dan kolom isian
- Perekam RPA: skrip perekaman, skrip pemutaran ulang, dan kasus uji beserta log dan video
- Aplikasi InMeet beserta panduan penggunaan mode Controller dan Client tahun 2020
- Prototipe DoQuot: halaman tabel status penawaran harga, halaman pembuatan penawaran harga, dan file instalasi Android (APK)
Hasil pengujian setiap alat
Program Anonymization dan skrip Selenium selesai pada tahun 2024. Perekam RPA memiliki hasil eksekusi kasus uji. InMeet dapat memerintahkan perekaman video dan mengunggahnya, dan DoQuot memiliki prototipe layar. Dokumen ringkasan proyek tahun 2024 kami menyebutkan bahwa program Anonymization selesai dalam waktu 5 minggu dan skrip Selenium selesai dalam waktu 8 minggu. Keduanya dikerjakan pada Januari–Maret 2024. Hasil dalam tabel di bawah berasal dari dokumen ringkasan proyek, panduan, serta file log dan video pengujian.
Yang dapat dilakukan setiap alat dan keterbatasan teknisnya
| Alat | Yang dapat dilakukan dan telah diuji | Keterbatasan teknis |
|---|---|---|
| Anonymization | Selesai pada tahun 2024. Menyamarkan dan mengembalikan file CSV, XLSX, dan XLS dengan file pemetaan | File pemetaan harus disimpan terpisah dari file yang diteruskan |
| Selenium | Selesai pada tahun 2024 | Tidak dapat menangkap elemen yang digambar pada canvas |
| Perekam RPA | Memiliki hasil eksekusi kasus uji beserta log dan video; file bertanggal April 2023 | Memutar ulang berdasarkan posisi di layar |
| InMeet | Dapat memerintahkan perekaman video dan mengunggahnya sesuai panduan tahun 2020 | Berfungsi merekam video dan mengunggahnya; tidak memiliki bagian transkripsi suara menjadi teks |
| DoQuot | Prototipe halaman tabel status dan halaman pembuatan penawaran harga, beserta file instalasi Android, Oktober 2024 | Layar bersifat statis; tidak memiliki bagian perhitungan harga |
Pada tahun 2024, kami menyimpan kode RPA dalam kumpulan kode yang digunakan kembali (Code Reuse) milik perusahaan.
Pelajaran yang kita dapatkan
Pekerjaan ini memberikan prinsip berikut untuk pekerjaan otomatisasi berskala kecil di dalam tim.
- Pilih metode berdasarkan apa yang dapat dirujuk dari program tersebut. Jika tersedia kode halaman web untuk merujuk ke tombol dan kolom isian, gunakan metode seperti Selenium terlebih dahulu. Jika tidak ada, barulah gunakan perekaman posisi di layar. Untuk bagian yang digambar pada canvas, metode pemeriksaan terpisah harus direncanakan sejak awal.
- Pekerjaan otomatisasi harus dapat diperiksa kembali. Perekam RPA menyimpan log dan video, baik dari putaran perekaman maupun putaran pemutaran ulang. Jika hasilnya tidak sama, kami dapat membandingkan langkah mana yang berbeda.
- Penyamaran data yang dapat dikembalikan memindahkan risiko ke file pemetaan. File ini harus disimpan terpisah dari file yang diteruskan, dan orang yang dapat mengaksesnya harus dibatasi.
Cara menerapkan pendekatan ini pada pekerjaan Anda
Jika tim Anda memiliki pekerjaan mengeklik, mengisi, melampirkan file, atau menyamarkan data dengan langkah yang selalu sama, Anda dapat menggunakan pendekatan yang sama dengan kasus ini, yaitu memisahkan pekerjaan satu per satu, memilih alat sesuai jenis program, dan menyimpan log untuk pemeriksaan di kemudian hari. Yang perlu disesuaikan adalah cara merujuk tombol dan kolom isian, jika program Anda berbeda dari kasus ini.
Bagian yang dapat digunakan kembali dan bagian yang perlu disesuaikan
| Pekerjaan | Dapat digunakan kembali | Perlu disesuaikan ketika |
|---|---|---|
| Langkah di halaman web | Selenium + ChromeDriver dan penentuan posisi dengan ID, NAME, XPATH, atau CSS selector | Halaman web memiliki grafik atau bagian yang digambar pada canvas, atau struktur halaman web sering berubah |
| Langkah di program pada komputer | Perekaman sebagai log dan video, lalu dikonversi menjadi skrip pemutaran ulang | Posisi jendela atau resolusi layar berbeda dari saat perekaman; harus merekam ulang atau menyesuaikan skrip |
| Menyamarkan data dalam file tabel | File konfigurasi serta encode/decode dengan file pemetaan | File bukan CSV, XLSX, atau XLS, atau Anda tidak ingin data dapat dikonversi kembali |
| Perekaman rapat | Perintah perekaman video dari satu komputer dan pengunggahan ke server | Anda juga memerlukan teks transkrip; bagian transkripsi harus ditambahkan sebagai pekerjaan terpisah |
| Penawaran | Draf halaman tabel status dan halaman pembuatan penawaran harga | Anda memerlukan perhitungan dari Manday atau estimasi harga otomatis; bagian ini harus dikembangkan dari awal |
- Pisahkan pekerjaan dengan langkah yang selalu sama dari pekerjaan yang sering berubah. Pekerjaan yang sering berubah tidak cocok untuk metode rekam lalu putar ulang.
- Periksa apakah halaman web atau program Anda memungkinkan tombol dan kolom isian dirujuk.
- Tentukan orang yang menyimpan file pemetaan dan lokasi penyimpanannya sebelum mulai menyamarkan data sebenarnya.
- Tentukan hasil yang diinginkan dan ruang lingkup setiap alat dengan jelas sejak awal.
Teknologi yang digunakan
Pertanyaan yang Sering Diajukan
Jika Anda menginginkan alat seperti ini di tim Anda, bagaimana sebaiknya memulainya?
Perangkat alat ini kami gunakan secara internal dalam tim. Jika Anda menginginkan sistem seperti ini, kami dapat mengembangkannya sesuai ruang lingkup pekerjaan Anda. Mulailah dengan memisahkan pekerjaan yang langkahnya selalu sama, lalu periksa apakah halaman web atau program Anda memungkinkan tombol dan kolom isian dirujuk, untuk memilih antara Selenium dan perekam mouse dan keyboard.
Apa perbedaan antara Selenium dan perekam mouse dan keyboard?
Selenium mengendalikan browser dengan merujuk tombol dan kolom isian dari kode halaman web, sehingga cocok untuk aplikasi web. Sementara itu, perekam menggunakan PyAutoGUI/pynput untuk mengendalikan mouse dan keyboard sesuai yang telah direkam; alat ini dapat digunakan pada program di komputer, tetapi bergantung pada posisi di layar.
Apakah data yang telah disamarkan dapat dikonversi kembali?
Ya. Saat menjalankan encode, program juga membuat file pemetaan (mapping). Saat menjalankan decode dengan file pemetaan ini, data asli akan diperoleh kembali. Karena itu, Anda perlu menyimpan file pemetaan terpisah dari file yang diteruskan dan membatasi orang yang dapat mengaksesnya.
Bagaimana InMeet memerintahkan perekaman video rapat dari satu komputer?
Menurut manual tahun 2020, komputer yang memilih mode Controller memerintahkan komputer yang menekan Join dalam mode Client untuk memulai dan menghentikan perekaman video, lalu file video diunggah ke server. InMeet berfungsi merekam video. Jika Anda juga memerlukan teks transkrip, bagian transkripsi harus ditambahkan sebagai pekerjaan terpisah.
Apakah skrip Selenium dapat digunakan pada halaman web yang memiliki grafik?
Dapat digunakan untuk tombol, menu, dan kolom isian pada halaman web tersebut, tetapi skrip Selenium kami tidak dapat menangkap elemen yang digambar pada canvas, seperti grafik, karena Selenium merujuk elemen dari kode halaman web dengan ID, NAME, XPATH, atau CSS selector. Jika pekerjaan Anda perlu memeriksa bagian yang digambar pada canvas, metode pemeriksaan terpisah harus direncanakan sejak awal.





