LAPORAN KERJA PRAKTIK MEMBUAT APLIKASI MOBILE ABSENSI PT OTAK KANAN Disusun Oleh : SUTAN PARSAULIAN LUBIS (3012010030) PROGRAM STUDI INFORMATIKA UNIVERSITAS INTERNASIONAL SEMEN INDONESIA GRESIK 2023
LAPORAN KERJA PRAKTIK MEMBUAT APLIKASI MOBILE ABSENSI PT OTAK KANAN Disusun Oleh : SUTAN PARSAULIAN LUBIS (3012010030) PROGRAM STUDI INFORMATIKA UNIVERSITAS INTERNASIONAL SEMEN INDONESIA GRESIK 2023
UISI Laporan Magang Tanggal 21/08/2023-21/09/2023 Di PT. Otak Kanan LEMBAR PENGESAHAN ii
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan KATA PENGANTAR Alhamdulillah, puji syukur atas karunia Tuhan yang Maha Esa karena kesehatan yang diberikan-Nya. Laporan kerja praktik berjudul "Membuat Aplikasi Mobile Absensi PT Otak Kanan" telah penulis selesaikan dengan baik di PT. Otak Kanan, Graha Pena, Ruang 1503, Jl. Ahmad Yani No.88, Ketintang, SBY, Jawa Timur, Indonesia. Terima kasih kepada semua pihak yang telah membimbing dan memberikan bantuan selama penulis menjalani kerja praktik ini di divisi Mobile Developer. Rasa terima kasih penulis juga tertuju kepada semua yang turut mendukung penyelesaian tugas ini, yang merupakan bagian dari program studi Informatika Universitas Internasional Semen Indonesia.. Dalam Menyusun laporan kerja praktik tersebut, penulis ingin mengucapkan terima kasih kepada pihak yang sudah banyak membantu, membimbing, dan mengarahkan penulis dalam Menyusun laporan kerja praktik. Dalam kesempatan ini, penulis dengan hormat ingin mengucapkan rasa terima kasih kepada : 1. Tuhan Yang Maha Esa yang telah memberikan rahmat kepada penulis dalam menyusun laporan kerja praktik ini. 2. Bapak Prof. Dr. Ing. Herman Sasongko selaku Rektor. 3. Doni Setio Pambudi, S.Kom., M.Kom., MCE, CBROPS selaku Kepala Program Studi Informatika. 4. Bapak Yohanes Indra Riskajaya, S.Kom., M.Kom., MCE selaku dosen pempimping dalam pelaksanaan kerja praktik. 5. M. Santoso Putra D. selaku direktur PT Otak Kanan yang telah menerima pelaksanaan kerja praktik. 6. Bapak Wahyu Prasetyo yang telah membimbing saya dalam melaksanakan kerja praktik di PT. Otak Kanan sehingga sampai di tahap penyususnan laporan ini. 7. Teman-teman saya yang telah membantu saya dalam pelaskanaan kerja praktik selama ini. iii
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan Pada kesempatan ini, penulis telah menyelesaikan laporan kerja praktik dengan baik. Dengan hal tersebut, penulis berharap agar laporan kerja praktik ini akan dapat bermanfaat bagi para pembaca serta bermanfaat juga bagi PT. Otak Kanan. Demikian laporan kerja praktik yang penulis buat dapat memberikan manfaat serta informasi mengenai dunia kerja di masa mendatang. Gresik, 25 September 2023 Penulis iv
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan DAFTAR ISI HALAMAN JUDUL ... i LEMBAR PENGESAHAN ... ii KATA PENGANTAR... iii DAFTAR ISI ... v DAFTAR GAMBAR ... vii DAFTAR TABEL ... viii BAB I ... 1 PENDAHULUAN ... 1 1.1. Latar Belakang ... 1 1.2. Tujuan dan Manfaat ... 2 1.3. Tujuan Umum ... 2 1.4. Tujuan Khusus ... 2 1.5. Manfaat ... 3 1.6. Waktu dan Tempat Pelaksanaan Magang ... 5 1.7. Nama Unit Kerja Tempat Pelaksanaan Magang ... 5 BAB II ... 6 PROFIL PT OTAK KANAN ... 6 2.1. Profil Perusahaan ... 6 2.2. Visi dan Misi PT. Otak Kanan... 8 2.3. Logo Perusahaan ... 8 2.4. Lokasi PT. Otak Kanan ... 8 2.5. Struktur Organisasi PT. Otak Kanan ... 9 BAB III ... 12 TINJAUAN PUSTAKA ... 12 3.1. Mobile Developer ... 12 3.2. Flutter ... 12 3.3. Visual Studio Code ... 13 3.4. GitHub... 13 3.5. GetX ... 13 3.6. Dart ... 14 BAB IV ... 15 v
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan PEMBAHASAN ... 15 4.1. Tugas Unit Kerja pada PT Otak ... 15 4.2.1 Login ... 17 4.2.2 Home ... 20 4.2.3 Notif ... 23 4.3. Tugas Khusus ... 25 BAB V ... 27 KESIMPULAN DAN SARAN ... 27 5.1 Kesimpulan ... 27 5.2 Saran ... 28 5.2.1 Saran Bagi Mahasiswa ... 28 5.2.2 Saran Bagi Perusahaan ... 28 DAFTAR PUSTAKA ... 29 LAMPIRAN ... 30 vi
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan DAFTAR GAMBAR Gambar 2.1. 1 Lokasi PT. Otak Kanan ... 6 Gambar 2.1. 2 Ruang Kerja PT. Otak Kanan ... 7 Gambar 2.3. 1 Logo PT. Otak Kanan ... 8 Gambar 2.5. 1 Struktur Organisasi PT. Otak Kanan ... 9 Gambar 4.1. 1 Dependensi GetX ... 15 Gambar 4.1. 2 Proses Pengerjaan Tugas ... 16 Gambar 4.2.1. 1 Halaman Login ... 20 Gambar 4.2.2. 1 Halaman Home ... 23 Gambar 4.2.3. 1 Halaman Notifikasi ... 25 Gambar 4.3. 1 Pengerjaan Tugas Khusus... 26 vii
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan DAFTAR TABEL Tabel 2.1. 1 Jenis Layanan PT Otak Kanan ... 7 Tabel 2.5. 1 Posisi dan Penanggung Jawab ... 9 viii
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan BAB I PENDAHULUAN 1.1. Latar Belakang Teknologi Informasi dan Komunikasi (TIK) memainkan peran krusial dalam kemajuan dunia bisnis di Indonesia. Seiring berjalannya waktu, penerapan TIK telah menjadi keharusan bagi perusahaan untuk dapat bersaing dalam pasar. Kehadiran TIK telah membentuk lanskap pekerjaan yang menuntut calon tenaga kerja memiliki keterampilan tinggi, profesionalisme, serta semangat juang yang kuat. Mengingat persaingan global yang semakin ketat, peluang bagi tenaga kerja asing untuk masuk dan berperan di pasar kerja Indonesia semakin terbuka lebar. Untuk menjawab tantangan ini, Universitas Internasional Semen Indonesia (UISI), yang berada di bawah naungan Yayasan Semen Indonesia Foundation, menerapkan metode pembelajaran "Learning by Doing". Pendekatan ini melibatkan proses pembelajaran yang erat terkait dengan tindakan nyata (action), di mana mahasiswa diharapkan dapat mengaplikasikan ilmu dan pengalaman mereka secara praktis kepada masyarakat dan industri. Kontribusi ini bisa berupa ide-ide inovatif maupun partisipasi aktif dalam pengabdian kepada bangsa dan negara. Dalam persiapan menjalani dunia kerja, lulusan perguruan tinggi perlu menghadapi tantangan utama. Melalui program magang, mahasiswa memiliki peluang untuk meresapi ilmu dan menerapkan teori yang mereka pelajari di dunia perkuliahan langsung dalam situasi operasional perusahaan. Dengan demikian, Universitas Internasional Semen Indonesia (UISI) bertujuan untuk menghasilkan lulusan berkualitas yang siap menghadapi dunia kerja. Salah satu cara untuk meningkatkan sumber daya manusia, terutama di tingkat pendidikan tinggi, adalah melalui program magang yang menggabungkan pembelajaran dengan pengalaman kerja. Program ini memiliki peran penting dalam mengembangkan sikap, keterampilan, dan pengetahuan mahasiswa agar lebih mengenal dunia kerja. Di era perkembangan sistem informasi, sumber daya manusia terampil dalam bidangnya sangatlah esensial. 1
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan Oleh karena itu, Universitas Internasional Semen Indonesia (UISI) telah menyelenggarakan mata kuliah magang sebagai bagian dari kurikulum pendidikan, dengan ketentuan bahwa setiap mahasiswa wajib mengambil mata kuliah ini sebanyak 2 SKS sesuai dengan kurikulum saat ini. Berdasarkan konteks di atas, kami ingin mengajukan permohonan untuk menjalani program magang di PT. Otak Kanan. PT. Otak Kanan merupakan Perusahaan yang bergerak di bidang industry kreatif, utamanya dibidang pengembangan aplikasi dan website, karena itulah penulis tertarik untuk mengetahui dan mempelajari mengenai proses optimasi aplikasi maupun pengembangan yang diterapkan di PT. Otak Kanan. Mengetahui bagaimana perusahaan ini melakukan kegiatan terkait mengatur dan sekaligus memelihara pengembangan software yang ada di Perusahaan PT. Otak Kanan, sebagai contoh implementasi nyata dari ilmu yang penulis pelajari selama masa perkuliahan sesuai dengan program studi penulis di Informatika Universitas Internasional Semen Indonesia. 1.2. Tujuan dan Manfaat Tujuan dan manfaat kerja praktik di PT. Otak Kanan Surabaya akan dijelaskan dalam beberapa sub-bab berikut ini: 1.3. Tujuan Umum Meningkatkan kesiapan karir mahasiswa. Salah satu tujuan utama kerja praktik adalah untuk membantu mahasiswa mempersiapkan diri untuk memasuki dunia kerja dengan kesiapan yang lebih baik. Melalui kerja praktik, mahasiswa memiliki kesempatan untuk mengembangkan keterampilan praktis, memperluas jaringan profesional, dan mendapatkan wawasan tentang persyaratan dan tuntutan pekerjaan di bidang yang diminati. 1.4. Tujuan Khusus 1. Memberikan kesempatan kepada mahasiswa untuk menerapkan pengetahuan dan keterampilan yang telah mereka pelajari selama masa studi mereka di lingkungan kerja yang sesungguhnya. Ini membantu 2
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan mahasiswa mengaitkan teori dengan praktik dan mengembangkan pemahaman yang lebih mendalam tentang materi pelajaran. 2. Membantu mahasiswa mengembangkan keterampilan profesional yang diperlukan untuk berhasil di tempat kerja. Ini meliputi keterampilan komunikasi, kerjasama tim, pemecahan masalah, kepemimpinan, dan keterampilan teknis yang relevan dengan bidang studi mereka. 3. Mengenal secara khusus bidang yang menjadi minat kami yaitu Mobile Developer. 4. Mengembangkan pengetahuan, sikap, ketrampilan, kemampuan profesi melalui penerapan ilmu, latihan kerja, dan pengamatan analisis yang diterapkan di PT. Otak Kanan Surabaya. 5. Memperdalam pengetahuan mahasiswa dengan mengenal dan mempelajari secara langsung mengenai Mobile Developer dalam bidang IT. 1.5. Manfaat Manfaat dari pelaksanaan kerja praktik di PT. Otak Kanan Surabaya adalah sebagai berikut: 1. Bagi Perguruan Tinggi Memperoleh masukan kompetensi yang diperlukan oleh dunia kerja saat ini, khususnya di PT. Otak Kanan Surabaya Dapat meningkatkan kualitas pendidikan agar menghasilkan lulusan yang sesuai dan dibutuhkan oleh dunia kerja. Program studi Informatika Universitas Internasional Semen Indonesia mendapatkan masukan tentang pencapaian serta mengevaluasi hasil perkuliahan sesuai dengan kebutuhan dunia kerja atau belum. Sebagai penilaiaian serta tolok ukur dalam persiapan mahasiswa untuk dilepas kedalam dunia kerja setelah lulus dari perguruan tinggi. 2. Pagi Perusahaan Sebagai suatu program pelatihan untuk rekomendasi tenaga kerja yang diharapkan oleh perusahaan. 3
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan Mempersiapkan dan mengembangkan calon tenaga kerja yang potensial. Menjalin hubungan kerja sama dalam pendidikan dengan institusi sebagai badan penelitian. Memperoleh masukan yang mungkin dapat membantu permasalahan dalam perusahaan. Perusahaan dapat menilai kualitas pendidikan Universitas Internasional Semen Indonesia khususnya program studi Informatika Memberi masukan kompetensi yang sesuai dan memadai, sehingga akan membantu meningkatkan kemampuan lulusan yang dibutuhkan dunia kerja dan meningkatkan peran terhadap dunia pendidikan. 3. Bagi Mahasiswa Mahasiswa lebih memahami permasalahan yang ada pada lingkungan kerja secara nyata. Memperoleh pengalaman untuk terlibat langsung dengan pekerjaan di PT. Otak Kanan Surabaya. Menambah pengetahuan mahasiswa dalam dunia Informatika. Sebagai studi perbandingan antara teori dan praktek yang digunakan mahasiswa di bangku perkuliahan dengan kenyataan sebenarnya di lapangan. Mengetahui secara lebih jelas mengenai kegiatan perusahaan khususnya dalam bidang Informatika serta dapat berinteraksi dalam team work. Dapat mengukur kemampuan atau ketrampilan yang dimiliki serta mendapatkan ketrampilan baru dalam dunia industri. 4
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan 1.6. Waktu dan Tempat Pelaksanaan Magang Lokasi : PT. Otak Kanan Surabaya, Graha Pena, Ruang 1503, Jl. Ahmad Yani No. 88, Ketintang, Kec. Gayungan, Surabaya, Jawa Timur 60234 Waktu : 21 Agustus 2023 - 21 Oktober 2023 Waktu kerja peserta kerja praktik adalah pada hari kerja PT. Otak Kanan Surabaya mulai dari hari senin sampai dengan jum'at (5 hari kerja dalam satu minggu) Jam kerja : Senin - Jum'at : Pukul 07.00 sd. 13.00 WIB Libur : Sabtu dan Minggu 1.7. Nama Unit Kerja Tempat Pelaksanaan Magang Unit kerja penulis dalam melaksanakan pelaksanaan kerja praktik yaitu di Departemen IT dengan posisi Mobile Developer. 5
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan BAB II PROFIL PT OTAK KANAN 2.1. Profil Perusahaan PT. Otak Kanan merupakan sebuah perusahaan yang bergerak di bidang industri kreatif yang berlokasi di Surabaya, didirikan pada tahun 2009, sesuai dengan akte pendirian perusahaan No. 01 tanggal 21 Desember 2009 oleh notaris Dicky Dwiharnanto, SH, HAM RI Nomor AHU- 02110.AH.01.01. Tahun 2010 Tanggal 14 Januari 2010, Daftar Perseroan Nomor AHU-0003117.AH.01.09.Tahun 2010 Tanggal 14 Januari 2010 dengan nama PT. Otak Kanan. Gambar 2.1. 1 Lokasi PT. Otak Kanan PT Otak Kanan menciptakan, membangun dan menjalankan sebuah perusahaan yang terus-menerus menantang status quo dan mendorong orang untuk menjadi kreatif dan inovatif dalam pemikiran mereka. PT Otak Kanan mempunyai banyak ide yang telah teruji dan telah melayani lebih dari 100 perusahaan dari berbagai segmen pasar. PT Otak Kanan memahami bahwa setiap perusahaan itu unik, dengan kekuatan, kualitas dan pengalaman yang berbeda-beda. Sehingga PT Otak Kanan membahas setiap kesempatan dengan pendekatan kreatif. 6
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan PT.Otak Kanan menyediakan jasa layanan dibidang IT, Multimedia, Business Support, Digital and Online Business. Tabel 2.1. 1 Jenis Layanan PT Otak Kanan IT dan Multimedia Digital and Online Business Business Support Video Production Website Development IT Consultant Mobile Aplication E- Commerce Solutions Virtual Office Software Development Domain Name dan Web Hosting Education dan Training Graphic Design Internet Marketing CSR (Corporate Social Responsibility) Consultant Panorama Virtual Tour Search Engin Optimization Marketing Communication Social Media Strategy Beragam layanan mampu menghadirkan solusi terbaik bagi perusahaan dan industri untuk menjawab tantangan globalisasi dan digitalisasi di Indonesia. Gambar 2.1. 2 Ruang Kerja PT. Otak Kanan 7
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan Berikut adalah beberapa informasi mengenai identitas dari PT Otak Kanan : Detail Perusahaan : PT. OTAK KANAN Alamat : Graha Pena suite 1503, Jl. Ahmad Yani 88 Surabaya Telepon : (031) 828 6155 (Telp) (+62) 85775936999 (WA) Email : info@otakkanan.co.id Website : 2.2. Visi dan Misi PT. Otak Kanan PT Otak Kanan menciptakan, membangun dan menjalankan sebuah perusahaan yang terus-menerus menantang status quo dan mendorong orang untuk menjadi kreatif dan inovatif dalam pemikiran mereka. PT Otak Kanan memahami bahwa setiap perusahaan itu unik, dengan kekuatan, kualitas dan pengalaman yang berbeda-beda. Sehingga kami membahas setiap kesempatan dengan pendekatan kreatif. PT Otak Kanan berani dan cekatan, serta menjalankan konsep dan program dengan cara elegan yang khas. PT Otak Kanan peduli dengan kesuksesan partner serta perusahaan dan industri. 2.3. Logo Perusahaan Gambar 2.3. 1 Logo PT. Otak Kanan 2.4. Lokasi PT. Otak Kanan PT. Otak Kanan Surabaya, Graha Pena, Ruang 1503, Jl. Ahmad Yani No. 88, Ketintang, Kec. Gayungan, Surabaya, Jawa Timur 60234 8
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan 2.5. Struktur Organisasi PT. Otak Kanan Dalam melaksanakan kegiatan bisnisnya, PT Otak Kanan membagi tugas menjadi beberapa bagian. Masing - masing bagian memiliki tugas, wewenang dan tanggung jawab, masing- masing bagian tersebut dapat diuraikan sebagai berikut : Gambar 2.5. 1 Struktur Organisasi PT. Otak Kanan Tabel 2.5. 1 Posisi dan Penanggung Jawab Posisi Commissioner Director General Manger Operations Manager Digital Media Manager Project Manager Marketing Manager Finance & HR Manager Administration Digital Strategist Technical Support Digital Marketing Accounting & Tax Penanggung Jawab Diana Khalida M. Santoso Putra D. Alfian Dwi Kurniawan Wahyu Prasetyo Yahya Adi Styawan Moch. Susanto Ariesaldy Putra Parmana Wijaya Rury SR Reza A. Rony A. M. Prayoga Perdana Moh. Nasrul Amin Ersyya Nadia Putri Berikut merupakan deskripsi pekerjaan dari masing-masing posisi/jabatan yang berlaku dalam struktur Oragnisasi PT. Otak Kanan: 1. Commissioner, memimpin dan mengawasi kebijakan dan tindakan suatu organisasi atau badan pemerintah. Tugas-tugasnya meliputi pengambilan keputusan strategis, pengawasan, dan penilaian kinerja. 9
UISI Laporan Magang Tanggal 21/08/2023-21/09/2023 Di PT. Otak Kanan 2. Director, bertanggung jawab atas pengelolaan operasional suatu perusahaan atau organisasi. mengembangkan strategi jangka panjang, mengelola anggaran, merekrut dan memotivasi karyawan, serta menjalin hubungan dengan pemangku kepentingan 3. General Manager, bertanggung jawab atas operasi keseluruhan perusahaan atau organisasi. Tugas-tugasnya meliputi mengelola staf, merencanakan dan mengawasi anggaran, mengembangkan strategi jangka panjang, serta mengawasi kegiatan operasional. 4. Operations Manager, bertanggung jawab atas pengelolaan operasi harian suatu perusahaan atau organisasi. Tugas-tugasnya meliputi mengawasi produksi, pengadaan bahan baku, manajemen persediaan, serta memastikan efisiensi dan efektivitas proses operasional. 5. Digital Media Manager, bertanggung jawab atas pengembangan dan pelaksanaan strategi pemasaran digital suatu perusahaan atau organisasi. Tugas-tugasnya meliputi merencanakan kampanye iklan online, mengelola konten media sosial, serta memantau kinerja kampanye pemasaran digital. 6. Project Manager, bertanggung jawab atas pengelolaan proyek dari awal hingga akhir. Tugas-tugasnya meliputi merencanakan proyek, mengelola anggaran dan sumber daya, memimpin tim proyek, serta memantau kemajuan proyek. 7. Marketing Manager, bertanggung jawab atas strategi pemasaran produk atau layanan suatu perusahaan atau organisasi. Tugas- tugasnya meliputi mengembangkan rencana pemasaran, melakukan riset pasar, memantau kinerja kampanye pemasaran, serta mengelola tim pemasaran. 8. Finance & HR Manager, bertanggung jawab atas pengelolaan keuangan dan sumber daya manusia suatu perusahaan atau organisasi. Tugas-tugasnya meliputi merencanakan anggaran, mengelola akuntansi dan pelaporan keuangan, merekrut dan mengelola karyawan, serta menjalankan kebijakan sumber daya manusia. 10
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan 9. Administration, bertanggung jawab atas pengelolaan administrasi umum suatu perusahaan atau organisasi. Tugas-tugasnya meliputi manajemen dokumen, pengelolaan inventaris, dan koordinasi kegiatan kantor. 10. Digital Strategist, bertanggung jawab atas pengembangan strategi pemasaran digital yang komprehensif untuk suatu perusahaan atau organisasi. Tugas-tugasnya meliputi mengidentifikasi peluang digital baru, mengevaluasi tren industri, dan mengembangkan rencana pemasaran digital. 2.5 Produk PT Otak Kanan menyediakan beragam layanan berkualitas untuk memenuhi kebutuhan client: Layanan Web Development bertujuan untuk menciptakan desain elegan yang akan mempromosikan company profile Anda dengan sempurna, menggambarkan citra profesional perusahaan Anda kepada klien dan pemangku kepentingan. Mobile Apps Development berfokus pada desain website yang responsif, memastikan bahwa tampilan website akan sempurna bahkan saat diakses melalui berbagai ukuran layar mobile. Ini akan membantu Anda mencapai audiens yang lebih luas dan memaksimalkan pengalaman pengguna. Design dan multimedia bertujuan untuk membantu Anda dengan desain logo yang menarik dan sesuai dengan identitas perusahaan Anda, pembuatan company profile yang mencerminkan nilai-nilai perusahaan Anda, dan produksi video profil yang profesional untuk memperkenalkan perusahaan Anda kepada dunia. Digital Marketing memiliki strategi dan layanan yang dapat membantu perusahaan Anda meningkatkan omset penjualan. Kami menyediakan layanan digital marketing yang akan membantu Anda mencapai target audiens Anda dengan efektif, meningkatkan visibilitas perusahaan, dan akhirnya meraih kesuksesan dalam bisnis Anda. 11
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan BAB III TINJAUAN PUSTAKA 3.1. Mobile Developer Menurut penulis (Beal, 2018), Mobile Developer adalah salah satu jenis dari profesi Softwere Engineer. Mereka memiliki spesialisasi dalam teknologi seluler/ponsel pintar seperti membuat aplikasi untuk platform sistem operasi Android (Google), iOS (Apple) dan Microsoft Windows Phone. Seorang Mobile Developer diharuskan mempelajari bahasa pemrograman sesuai dengan platform yang mereka pilih dikarenakan untuk setiap platform biasanya menggunakan bahasa pemrograman yang berbeda-beda misalkan Java untuk Android, Objective-C untuk iOS dan C # untuk Windows Phone, tetapi keadaan ini terus berubah untuk mengikuti laju teknologi baru seperti adanya beberapa framework yang mampu membuat aplikasi untuk semua platform telepon pintar seperti Flutter dan React Native. 3.2. Flutter Flutter adalah framework open sourceyang dikembangkan oleh Google dan merupakan toolkitUI portabel untuk membangun aplikasi yang indah dan dikompilasi secara nativeuntuk perangkat mobile, web, desktop, dari satu basis kode. Flutter pertama kali dirilis pada tahun 2017, namun untuk versi stabilnya diluncurkan pada Desember 2018. Sejak peluncurannya, lebih dari 400.000 aplikasi telah dibuat menggunakan Flutter dan digunakan oleh ratusan juta perangkat. Fluttermenyediakan fitur hot- reloadyang merupakan salah satu fitur unggulan dalam mendorong siklus pengembangan dalam pembuatan UI, penambahan fitur, dan perbaikan bugs. Cara kerja dari hot-reloadadalah dengan memasukkan berkas kode yang telah diperbarui ke dalam Dart Virtual Machine (VM) yang sedang berjalan. Setelah VM memperbarui classdengan versi yang baru. Flutter frameworksecara otomatis akan melakukan buildulang 12
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan seluruh widget, dan memungkinkan untuk menampilkan perubahan secara langsung (Husain, 2023). 3.3. Visual Studio Code Visual Studio Code adalah editor kode sumberyang ringan namun kuat yang berjalan didesktop dan tersedia untuk Windows, macOS,dan Linux.Muncul dengan dukungan built-inuntuk JavaScript, TypeScript dan Node.js danmemiliki ekosistem ekstensi yang kaya untukbahasa lain (seperti C ++, C #, Java, Python,PHP, Go) dan runtime (seperti .NET danUnity) (Romzi & Kurniawan, 2020). 3.4. GitHub Github merupakan platform hosting software yang digunakan untuk proyek open source dan memanfaatkan alat kontrol revisi sistem Git. Git, pada dasarnya, berfungsi sebagai alat untuk melakukan revisi kode, sementara Github berperan sebagai penyedia layanan web hosting untuk proyek-proyek tersebut. Secara sederhana, Github dapat diibaratkan sebagai penyedia layanan webhosting yang khusus untuk proyek-proyek perangkat lunak, mirip dengan Google Code atau SourceForge.net. Dalam istilah yang lebih santai, Github juga dapat dianggap sebagai jejaring sosial bagi para pengembang perangkat lunak (Hidayatulloh, 2015). 3.5. GetX GetX adalah solusi yang ekstra ringan dan andal bagi aplikasi Flutter. GetX merupakan sebuah kombinasi antara state managementdengan performa tinggi, dependency injectionyang cerdas, dan route managementyang cepat dan praktis[5].Prinsip dasar GetX terdiri dari tiga elemen, yaitu produktivitas, performa, dan organisasi. Fokus utama GetX adalah. pada performa dan konsumsi sumber daya yang minimal. Dalam hal ini, GetX memperbaiki produktivitas pengembangan dengan sintaks yang mudah dan menyenangkan, serta memberikan performamaksimal pada aplikasi. Selain itu, GetX memungkinkan pemisahan total antara View, presentation logic, business logic, dependency injection, dan navigasi, sehingga memungkinkan pengorganisasian yang 13
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan lebih baik. Ekosistem GetX sangat luas dan didukung oleh komunitas yang besar, serta akan terus diperbarui selama Flutter masih relevan (Husain, 2023). 3.6. Dart Dart adalah bahasa pemrograman yang open sourcedan general purpose. Dart dikembangkan oleh Google dan ditujukan untuk membuat aplikasi lintas platform seperti mobile, desktop, dan web. Dart awalnya dikenalkan pada konferensi GOTO pada tahun 2011. Project ini didirikan oleh Lars Bak dan Kasper Lund dari Google, sampai akhirnya versi Dart 1.0 dirilis pada 14 November 2013. Bulan Agustus 2018, Dart 2.0 dirilis dengan perubahan bahasa seperti perubahan type system (Husain, 2023). 14
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan BAB IV PEMBAHASAN 4.1. Tugas Unit Kerja pada PT Otak Dalam pelaksanaan kerja praktik pada Divisi Mobile Developer terdapat beberapa tugas dan kegiatan yang dilakukan oleh penulis diantaranya: 1. Mempelajari GetX pada Flutter Di sini penulis diberikan referensi untuk mempelajari GetX pada Flutter yang akan digunakan untuk pembuatan Aplikasi Absensi di PT. Otak Kanan. Sehingga semua orang yang mengikuti kerja praktik di PT. Otak Kanan dapat memahami dan hanya menggunakan satu state management yaitu GetX itu sendiri. Gambar 4.1. 1 Dependensi GetX 2. Mengimplementasikan GetX pada Proyek Di sini penulis mulai membuat Aplikasi Absensi bersama dengan tim menggunakan state management yang telah dipelajari bersama sebelumnya yaitu GetX. Penulis bersama tim juga mengimplementasikan packet 'get_cli' yang memudahkan tim untuk Menyusun kerangka proyek yang sama dengan yang lain. 15
UISI Laporan Magang Tanggal 21/08/2023-21/09/2023 Di PT. Otak Kanan Gambar 4.1. 2 Proses Pengerjaan Tugas 16
4.2. Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan Pembuatan Aplikasi Mobile Absensi Aplikasi Absensi yang sedang dibuat PT. Otak Kanan adalah aplikasi yang dapat membantu karyawan PT. Otak Kanan untuk absen lebih mudah sekaligus dapat memantu karyawan secara realtime dengan menggunakan GPS yang ada di perangkat karyawan. Aplikasi ini masih dalam tahap pembuatan yang mana belum bisa digunakan. Pembuatan UI aplikasinya juga belum sepenuhnya selesai sehingga tim developer masih menunggu bagian UI yang belum selesai untuk bisa dilanjutkan. Berikut adalah rangkuman tugas yang telah diselesaikan oleh penulis: 4.2.1 Login Kode yang ada di dalam folder ini adalah bagian dari tampilan login dalam Aplikasi Absensi yang menggunakan GetX sebagai manajemen state. Berikut adalah jabaran bagian-bagian utamanya: 1. Import dan Dependensi: Dependensi membantu kita memperluas fungsionalitas aplikasi dengan menggunakan paket atau library pihak ketiga. Import kelas juga diperlukan untuk mempermudah kita dan membuat code lebih terstruktur dan rapi. Mengimpor paket-paket yang diperlukan seperti Get, TextFieldCustom, dan paket untuk tombol masuk dengan Google. Kode menggunakan widget GetView dari GetX, yang menghubungkan tampilan dengan kontrollernya. 2. Struktur UI: Pada bagian ini, kita menggunakan Scaffold sebagai kerangka tampilan utama. Scaffold adalah struktur dasar untuk halaman atau layar dalam aplikasi Flutter. Selanjutnya, kita bungkus tampilan dalam SingleChildScrollView dan ConstrainedBox. Ini membantu 17
UISI Laporan Magang Tanggal 21/08/2023-21/09/2023 Di PT. Otak Kanan menangani masalah keyboard yang muncul dan memastikan bahwa tampilan tetap terjaga dengan baik meskipun keyboard aktif. SingleChildScrollView: Digunakan untuk memastikan bahwa kontennya dapat digulir ketika ukuran layar tidak cukup untuk menampung seluruh konten. ConstrainedBox: Digunakan untuk memastikan bahwa tinggi minimum tampilan setidaknya setinggi layar perangkat, sehingga kontennya tetap terlihat dan dapat diakses dengan baik. 3. Elemen UI Utama: Dalam pengembangan aplikasi, elemen antarmuka pengguna (UI) memegang peran kunci dalam menciptakan pengalaman pengguna yang memuaskan. Pada tahap ini, kita akan fokus pada elemen- elemen utama yang terkait dengan proses masuk atau login dalam aplikasi. Logo dan teks "Masuk" ditampilkan di bagian atas. Dua TextFieldCustom digunakan untuk masukkan email dan kata sandi. Tombol untuk menampilkan atau menyembunyikan kata sandi menggunakan Obx dari GetX untuk memantau perubahan state. Tombol "Lupa Kata Sandi?" ditempatkan di sebelah kanan. Tombol "Masuk" untuk melakukan login, menggunakan fungsi loginController.loginWithEmail(). Pilihan untuk masuk dengan akun Google menggunakan SignInButton. 4. Pengaturan Visual dan Layout: Dalam menciptakan antarmuka pengguna yang menarik dan responsif, pengaturan visual dan layout memainkan peran kunci. Mari kita lihat bagaimana elemen-elemen UI dapat diatur dengan menggunakan padding, positioning, RichText, dan Align untuk menciptakan tata letak yang estetis. 18
UISI Laporan Magang Tanggal 21/08/2023-21/09/2023 Di PT. Otak Kanan Menggunakan padding dan positioning untuk menata elemen- elemen UI. Menggunakan RichText untuk menciptakan teks dengan bagian- bagian yang berbeda dari gaya dan warna. Pemberian ruang pada bagian bawah menggunakan Align untuk menampilkan gambar latar belakang. 5. Event Handling: Pengelolaan event dalam aplikasi Flutter sangat penting untuk memberikan responsivitas dan interaktivitas yang baik kepada pengguna. Dengan menggunakan GetX, kita dapat dengan mudah mengakses dan mengelola event-event tersebut melalui controller. Dalam halaman masuk ini, kita akan mengeksplorasi bagaimana event seperti onTap pada tombol dan teks dapat ditangani dengan menggunakan fungsi-fungsi dari LoginController menggunakan GetX. Menggunakan GetX untuk mengakses dan menggunakan fungsi- fungsi dari LoginController. Event seperti onTap pada tombol dan teks dapat ditangani oleh fungsi-fungsi di dalam LoginController. 6. Dependency Management: Manajemen dependensi adalah aspek krusial dalam pengembangan perangkat lunak yang melibatkan penggunaan paket atau controller eksternal. Dalam pengembangan aplikasi Flutter, GetX adalah salah satu library yang menawarkan manajemen dependensi yang efisien. Dengan GetX, kita dapat dengan mudah mengakses dan mengelola instance dari controller, seperti LoginController, di berbagai bagian aplikasi. Dalam pembaruan ini, penulis menggunakan Get.find<LoginController>() untuk mendapatkan instance dari LoginController. Dengan mendapatkan instance ini, penulis dapat 19
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan dengan mudah mengakses fungsi-fungsi dan propertis yang ada di dalam LoginController di seluruh widget atau bagian dari aplikasi. Gambar 4.2.1. 1 Halaman Login 4.2.2 Home Kode yang ada di dalam folder ini adalah bagian dari tampilan utama (Home) dalam Aplikasi Absensi yang menggunakan GetX sebagai manajemen state. Berikut adalah jabaran bagian-bagian utamanya: 1. Dependensi dan Import Dependensi membantu kita memperluas fungsionalitas aplikasi dengan menggunakan paket atau library pihak ketiga. Import kelas juga diperlukan untuk mempermudah kita dan membuat code lebih terstruktur dan rapi. Mengimport paket-paket yang diperlukan. Menggunakan 'GetView' dari GetX untuk menghubungkan tampilan dengan controller. 2. Struktur UI Dalam pengembangan aplikasi Flutter, struktur UI yang baik adalah kunci untuk menyediakan pengalaman pengguna yang efisien dan 20
UISI Laporan Magang Tanggal 21/08/2023-21/09/2023 Di PT. Otak Kanan menyenangkan. Dengan menggunakan Scaffold sebagai kerangka utama, kita dapat dengan mudah mengatur elemen-elemen seperti AppBar dan Body untuk setiap halaman dalam aplikasi. Panduan ini akan memberikan gambaran umum tentang bagaimana struktur UI dapat dibangun dengan menggunakan Scaffold, AppBar, dan Body untuk setiap halaman yang dapat dipilih. 3. BottomNavigationBar Navigasi antar halaman adalah bagian penting dari pengembangan aplikasi mobile. Dalam Flutter, BottomNavigationBar adalah salah satu widget yang umum digunakan untuk menampilkan tombol navigasi di bagian bawah layar. Menampilkan tombol navigasi di bagian bawah layar. Menggunakan gambar ikon dan label untuk setiap tombol navigasi.
Indeks tombol yang dipilih diatur oleh 'homeC.pressedButton.value'. 4. UI untuk Halaman Utama Halaman utama aplikasi seringkali menjadi pusat informasi yang vital dan fitur-fitur penting. Dalam panduan ini, penulis merancang UI untuk halaman utama dengan fokus pada menampilkan informasi tentang absensi, tanggal, dan waktu. Selain itu, penulis menambahkan tombol untuk absen masuk dan keluar, serta bagian untuk menampilkan daftar tidak hadir, pengumuman, dan tugas. Menampilkan informasi tentang absensi, tanggal, dan waktu. Tombol untuk absen masuk dan keluar. Bagian untuk menampilkan daftar tidak hadir, pengumuman, dan tugas. 5. LinearPercentIndicator Indikator persentase seringkali diperlukan untuk menunjukkan kemajuan atau persentase pencapaian suatu tugas. Dalam Flutter, kita dapat menggunakan paket percent_indicator yang menyediakan widget LinearPercentIndicator untuk menampilkan indikator 21
UISI Laporan Magang Tanggal 21/08/2023-21/09/2023 Di PT. Otak Kanan persentase secara linier. Dalam panduan ini, kita akan menambahkan LinearPercentIndicator untuk menampilkan indikator persentase pada halaman utama. 6. Appbar untuk Halaman Utama Appbar adalah elemen UI yang penting untuk memberikan navigasi dan informasi yang cepat kepada pengguna. Pada halaman utama, penulis menambahkan Appbar yang menampilkan nama pengguna, pesan semangat, gambar avatar, dan opsi untuk logout. Dalam panduan ini, penulis menyesuaikan Appbar untuk memberikan pengalaman pengguna yang lebih personal dan interaktif. 7. Controller untuk Halaman Utama Controller memainkan peran penting dalam mengelola logika bisnis dan state aplikasi. Untuk halaman utama, penulis membuat controller yang dapat menyimpan data seperti nama pengguna, judul, waktu, dan gambar untuk ditampilkan di tampilan. Selain itu, kita akan menggunakan pressedButton untuk melacak tombol navigasi yang dipilih. 8. Fungsi onPressed Fungsi onPressed digunakan untuk menangani tindakan atau perubahan saat pengguna menekan tombol navigasi. Dalam halaman utama, penulis mengimplementasikan fungsi onPressed untuk mengubah nilai pressedButton saat pengguna menekan tombol navigasi. Fungsi ini akan dipanggil untuk setiap tombol yang diaktifkan untuk mengganti halaman yang ditampilkan. 22
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan Gambar 4.2.2. 1 Halaman Home 4.2.3 Notif Kode yang ada di dalam folder ini adalah bagian dari tampilan utama (Home) dalam Aplikasi Absensi yang menggunakan GetX sebagai manajemen state. Berikut adalah jabaran bagian-bagian utamanya: 1. Dependensi dan Import: Dependensi membantu memperluas fungsionalitas aplikasi dengan menggunakan paket atau library pihak ketiga. Import kelas juga diperlukan untuk mempermudah kita dan membuat code lebih terstruktur dan rapi. Mengimport paket-paket yang diperlukan. Menggunakan GetView dari GetX untuk menghubungkan tampilan dengan controller. 2. Struktur UI Dalam pengembangan aplikasi Flutter, penataan tampilan yang baik adalah kunci untuk menciptakan antarmuka yang menarik dan terorganisir. Dalam panduan ini, penulis menggunakan Padding dan 23
UISI Laporan Magang Tanggal 21/08/2023-21/09/2023 Di PT. Otak Kanan Center untuk penataan tampilan. Selain itu, penullis menampilkan daftar notifikasi menggunakan widget CardCustom untuk setiap notifikasi. Data notifikasi akan diambil dari HomeController. 3. Appbar untuk Halaman Notifikasi Dalam halaman notifikasi, penulis membuat sebuah Appbar khusus yang mewarisi PreferredSizeWidget agar dapat mengatur ukuran yang diinginkan. Appbar ini akan memiliki tampilan yang transparan dengan shadow yang diatur ke 0. Kita juga akan menggunakan ikon kembali dan judul "Notifikasi". Selanjutnya, penulis menambahkan DefaultTabController dengan dua tab, yaitu "Riwayat" dan "Perlu Persetujuan". Dalam pengerjaan, penulis CustomAppBar yang mewarisi PreferredSizeWidget. Properti preferredSize digunakan untuk mengatur tinggi Appbar sesuai dengan kToolbarHeight. backgroundColor diatur ke Colors.transparent untuk menciptakan tampilan transparan, dan elevation diatur ke 0 untuk menghilangkan shadow. Kemudian, penulis menggunakan DefaultTabController dengan dua tab, yaitu "Riwayat" dan "Perlu Persetujuan". Konten untuk masing- masing tab ditempatkan dalam TabBarView. 24
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan Gambar 4.2.3. 1 Halaman Notifikasi 4.3. Tugas Khusus Penulis di sini diberikan tugas khusus atau tugas individu untuk membuat map location atau membuat map yang dapat melihat pengguna sedang ada dimana secara realtime. Tugas ini dikembangkan menggunakan Flutter dan memanfaatkan paket-paket seperti 'google_maps_flutter' dan 'location' untuk menciptakan pengalaman berbasis lokasi. Berikut adalah rangkuman komponen utama dari proyek ini: 1. HomePage Halaman beranda aplikasi yang menampilkan dua tombol "Map Location" dan "See Location". Tujuannya dalah untuk memberikan opsi navigasi antara dua fitul utaman aplikasi. 2. LocationPage Menangani tampilan dan logika di halaman "Map location" dan menggunakan 'Google Maps' dan 'Location' package untuk 25
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan menampilkan peta dan mendapatkan lokasi pengguna. Tujuannya adalah memberikan pengguna kemampuan untuk melihat peta, mendapatkan lokasi dan menyimpan catatan lokasi. 3. SeeLocationPage Menampilkan peta dengan lokasi dari data yang diambil dari database. 4. Penggunaan Google Maps dan Location Package Menggunakan paket 'google_maps_flutter' untuk menampilkan Google Maps dan menggunakan paket 'location' untuk mendapatkan lokasi pengguna. 5. Fungsi-fungsi Penting Fungsi addNote() dan updateNote() menyimpan catatan lokasi baru atau memperbarui catatan yang sudah ada ke dalam database. Sedangkan untuk fungsi refreshNotes() untuk membuat catatan lokasi dari database untuk digunakan di halaman "See Location". 6. Pemuatan Data dan Penanganan Kesalahan Fungsi isLoading dan try-catch pada fungsi refershNotes() adalah memberikan indicator loading saat data dimuat dan menangani kesalahan saat memuat data dari database. 7. Penggunaan Completer pada GoogleMapController Menggunakan 'Completer' untuk memastikan bahwa 'GoogleMapController' telah diinisialisasi sebelum digunakan. Gambar 4.3. 1 Pengerjaan Tugas Khusus 26
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan Selama pelaksanaan kegiatan kerja praktik, penulis memperoleh banyak pengetahuan dalam dunia kerja dan pengalaman baru khususnya di bidang Mobile Developer. Dari kegiatan Praktek Kerja Lapangan selama 2 bulan di PT Otak Kanan berjalan lancar sesuai dengan rencana dan ekspektasi penulis, sehingga penulis dapat memperluas dan menambah wawasan bagi mahasiswa dalam dunia kerja yang sebenarnya. Tujuan dari kegiatan ini dilaksanakan sebagai salah satu bentuk untuk mengaplikasikan disiplin ilmu yang telah didapatkan selama menjalani perkuliahan yang implementasinya dapat diterapkan dalam kegiatan yang sebenarnya. Kegiatan Praktek Kerja Lapangan tidak hanya menjadi wadah untuk mengaplikasikan ilmu-ilmu yang diperoleh selama menjalani perkuliahan, tetapi juga merupakan model yang efektif dalam menghubungkan keterkaitan dan kesepadanan antara pengetahuan akademis dan dunia pekerjaan. Dengan demikian, praktek kerja lapangan menjadi suatu upaya yang strategis untuk menghasilkan sumber daya manusia yang mampu bersaing di era globalisasi. Individu yang telah menjalani praktek kerja lapangan diharapkan tidak hanya cerdas dalam menerapkan pengetahuan, tetapi juga kreatif, inovatif, dan memiliki wawasan yang luas. Adapun secara rincian hasil yang saya dapatkan setelah melaksanakan kegiatan praktek kerja sebagai berikut: Belajar hal baru dalam membuat aplikasi mobile menggunakan Flutter yaitu GetX yang diimplementasikan di PT Otak Kanan. Pengalaman bekerja yang meliputi bagian IT. Penulis menerima dengan baik proyek kecil yang telah berjalan lancar selama kerja praktik. Memperoleh wawasan yang luas dan baru bagi mahasiswa 27
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan 5.2 Saran Dari pengalaman selama menjalani kerja praktik di PT. Otak Kanan, penulis ingin memberikan sejumlah saran yang diharapkan dapat meningkatkan kinerja perusahaan ke depannya. Saran-saran ini diberikan dengan harapan agar PT. Otak Kanan dapat terus berkembang dan meraih kesuksesan yang lebih baik. Adapun saran yang dapat penulis berikan selama melaksanakan kegiatan kerja praktik sebagai berikut: 5.2.1 Saran Bagi Mahasiswa Mahasiswa yang akan melakukan kegiatan kerja praktik diharapkan dapat mempersiapkan hal-hal yang bersangkutan atau yang sedang dibutuhkan saat kerja praktik dengan sebaik-baiknya agar kegiatan kerja praktik dapat berjalan dengan lancar dan bermanfaat. 5.2.2 Saran Bagi Perusahaan Staff divisi bisa lebih memonitoring setiap pekerjaan yang telah dikerjakan oleh anak magang selama proses magang/kerja praktik berlangsung. 28
Laporan Magang Tanggal 21/08/2023-21/09/2023 UISI Di PT. Otak Kanan DAFTAR PUSTAKA Hidayatulloh, S. (2015). OPTIMALISASI GITHUB UNTUK SOFTWARE PROJECT MANAGEMENT DENGAN MEMANFAATKAN NOTIFIKASI SMS. Jurnal Informatika, II(1). Husain, I. (2023). ANALISIS PERFORMA STATE MANAGEMENT PROVIDER DAN GETX PADA APLIKASI FLUTTER. In Jurnal Mahasiswa Teknik Informatika (Vol. 7, Issue 2). Romzi, M., & Kurniawan, B. (2020). Implementasi Pemrograman Python Menggunakan Visual Studio Code. In JIK: Vol. XI (Issue 2). 29
UISI Laporan Magang Tanggal 21/08/2023-21/09/2023 Di PT. Otak Kanan LAMPIRAN 30
UISI Laporan Magang Tanggal 21/08/2023-21/09/2023 Di PT. Otak Kanan 31
UISI Laporan Magang Tanggal 21/08/2023-21/09/2023 Di PT. Otak Kanan 32
UISI Laporan Magang Tanggal 21/08/2023-21/09/2023 Di PT. Otak Kanan 33