BAB II LANDASAN TEORI Dalam perancangan sistem ini diperlukan beberapa teori untuk mendukung proses-proses kustomisasinya. Berikut ini adalah teori-teori dasar yang akan digunakan dalam melakukan kustomisasi, seperti sistem yang akan digunakan untuk kegiatan akademik, aplikasi yang akan dikustomisasi dengan fitur kebutuhan akademik, dan sistem akademik yang sedang berjalan di Jurusan Teknik Komputer dan Informatika POLBAN. 2.1 ADempiere ADempiere adalah proyek yang diprakarsai komunitas untuk mengembangkan dan mendukung solusi bisnis sumber terbuka dengan menyedikan fungsionalitas sebuah enterprice resource planning (ERP), customer relationship management (CRM), dan suplay chain managemnet (SCM). Proyek ADempiere didirikan bulan September 2006 sebagai tindak lanjut ketidak sepakatan para pengembang compiere dengan perusahaan komersil dibelakangnya, Compiere inc. Pengembang proyek ADempiere adalah murni open source menggunakan source code seputar proyek compiere. Nama adem berasal dari bahasa Itali dengan arti untuk memenuhi (to fulfill) tapi dalam hal ini memberi makna lebih luas yakni menyelesaikan (to complete), pencapaian (reach), pelaksanaan/berlatih (practice), menampilkan kemampuan/kewajiban (perform the duties of), atau tanpa biaya (free) ini juga berarti penghargaan dan penghormatan. ADempiere adalah aplikasi open source berbasis MDA yaitu Model Driven Architecture, atau disebut dengan ADempiere Application Dictionary, yang mana diakui sebagai salah satu cara mengembangkan aplikasi paling modern. Kemampuan MDA ini yang menyebabkan semua pihak dapat melakukan kustomisasi terhadap seluruh fitur-fitur dari ADempiere, setiap window dalam ADempiere dapat ditambahkan sebuah menu atau field baru tanpa modifikasi. Salah satu kekuatan ADempiere adalah adanya Data Dictionary, dimana kita bisa melakukan kustomisasi tanpa melakukan coding. Dan ini biasanya hanya ada pada SAP, Oracle ERP atau software ERP papan atas. 8
9 ADempiere mengizinkan kita untuk menambahkan sebuah window baru ke dalam sistem. Sebuah window biasanya terdiri atas satu atau lebih tab yang dapat tersusun secara hierarkikal, dan tab terdiri atas satu atau lebih field. Sebenarnya sebuah tab mewakili sebuah tabel dalam database dan field mewakili kolom-kolom yang terdapat didalamnya.[4] Dalam mengkostumisasi tentunya hal ini sangat dibutuhkan. Aplikasi bisnis lengkap yang saling terintegrasi antara sistem Accounting, Finance, Sales, Purchasing, Inventory, Customer Relationships Management, Web Store, dan Business Intelligence. Dengan sistem yang terintegrasi ini, ADempiere dapat mensinkronisasi dan mengoordinasi seluruh proses bisnis di setiap departemen/cabang sehingga memungkinkan mereka saling berbagi informasi dan berkomunikasi. Bahasa pemrograman yang digunakan ADempiere adalah JAVA. Selain bahasa pemrograman, tools pendukung seperti PostgreeSQL yang digunakan untuk menampung data yang dibutuhkan pada saat menggunakan ADempiere. Baik itu mengelola langsung data yang disediakan ADempiere atau pada saat meng-kustomisasi. Ada pun JasperReport yang digunakan untuk kustomisasi format report ADempiere. Sebetulnya ADempiere telah menyediakan fungsi untuk membuat report, hanya saja setiap kebutuhan pengguna tentunya memiliki format report yang berbeda. ADempiere tidaklah bersifat portable atau dapat langsung digunakan. Tetapi perlu dilakukan instalasi dengan beberapa langkah yang cukup rumit. Walaupun terdapat e-book untuk instalasi ADempiere (ADempiere Cookbook versi 3.6), beberapa perintah didalamnya tidak semua sama. Terdapat beberapa perintah yang tidak dapat di-aplikasikan pada saat instalasi, salah satu kasus nya pada saat meng-entri kan database port, JNP port, dan SSL. Dimana port ini berfungsi untuk meng-koneksikan antara ADempiere dengan database server. Solusi untuk menangani hal tersebut adalah dengan menambahkan angka 4 diakhir nomor port yang ditampilkan ADempiere pada field Database Port dan SSL. Untuk JNP report terkadang ada yang langsung menggunakan port yang di berikan ADempiere atau menggantikan nomor port dengan 1089.
10 2.1.1 Membuat Window Baru ADempiere member izin untuk menambahkan sebuah window dan tab baru ke dalam sistem (open source). Sebuah window biasanya terdiri atas satu atau lebih Tab yang dapat tersusun secara hierarkikal, dan Tab terdiri atas satu field atau lebih. Sebenarnya sebuah tab mewakili sebuah tabel dalam database dan field mewakili kolom-kolom yang terdapat didalam tabel. Sebelum membuat window baru, langkah pertama yang dilakukan adalah membuat tabel dan kolom baru. Caranya adalah terlebih dahulu membuatnya di dalam database dengan perintah SQL dan kemudian ditarik defenisi tabel dan kolom tersebut ke dalam application dictionary ADempiere.( Kumar, Ajit. 2011)
11 Di bawah ini merupakan cara untuk membuat sebuah window baru di ADempiere : Gambar 1 Langkah membuat window
12 2.1.2 Membuat Menu Tree Tujuan membuat menu tree adalah untuk mempermudah mengakses beberapa window atau mengelompokkan window yang saling berketerkaitan. Langkah membuat menu tree yeng pertama adalah log in dengan System Administrator Role. ( Kumar, Ajit. 2011) Gambar 2 Membuat menu tree
13 Gambar 3 Memasukkan menu ke tree Dengan demikian pembuatan menu tree sudah selesai dan log out dan segera log in dengan GardenWorld Admin Role untuk memeriksa apakah menu tree sudah berhasil. Gambar 4 Hasil menu tree
14 2.1.3 Akses ADempiere Dan Role Menu Tree Dalam mengakses ADempiere perlu diatur siapa saja yang akan membuka atau mengakses ADempiere dan bahkan yang bisa melihat menu tree yang dibuat. ( Kumar, Ajit. 2011) Membuat Role Menu tree Buka menu System Administrator role System Admin General Rules System Rules Tree window Record baru System Admin General Rules Tree Maintenance window Tambah window dengan Add to tree Log in GardenWorld Admin role Menu System Admin General Rules Security Role window Buat Role baru Role baru selesai Gambar 5 Membuat Role pengguna
15 Gambar 6 Setting Role baru Log out dan log in dengan GardenAdmin dengan menggunakan GardenWorld TestUser Role. Maka yang tampil adalah hanya menu tree yang dibuat. Gambar 7 Hasil Role 2.1.4 Membuat Report Salah satu yang membuat proses reporting lebih mudah di ADempiere adalah adanya fasilitas untuk mengkustomisasi laporan sesuai dengan yang diinginkan. ADempiere mengizinkan untuk mengkostumisasi laporan dan menyesuaikan dengan kebutuhan user. Dengan adanya fasilitas ini,
16 dapat membuat laporan sesuai bentuk yang biasa dilihat oleh pengguna (user) atau dengan format yang biasa digunakan di Indonesia. ( Kumar, Ajit. 2011) Di dalam laporan, dapat merubah unsur-unsur berikut : a. Display order b. Sort Order c. Format Item
17 Gambar 8 Membuat report
18 Gambar 9 Membuat report dengan customize
19 2.1.5 Membuat Callout Callout adalah method (fungsi) di dalam suatu class java dan package yang di-eksekusi ketika suatu data pada kolom mengalami perubahan melalui window atau user interface (UI). Tujuan membuat callout adalah untuk melakukan manipulasi data lebih lanjut terhadap hasil inputan pengguna (user) terhadap suatu field. Bahkan callout juga dapat merubah data di kolom lain yang sesuai dengan inputan di kolom tersebut. Oleh karena itu, callout merupakan kustomisasi awal yang mudah diimplementasikan dan dapat dilihat hasilnya secara langsung. Callout juga merupakan kustomisasi yang aman karena tidak merubah struktur code di ADempiere. 2.1.6 Mengirim e-mail Mengirim e-mail adalah hal yang biasa dilakukan oleh semua orang untuk menyampaikan informasi atau bertukar informasi. Dan lebih tepatnya adalah sebagai media komunikasi. ADempiere juga bisa menyediakan fitur untuk bisa mengirim e-mail. Fitur tersebut hampir sama dengan e-mail dimana terdapat notification, alert, reminders. Sehingga fitur mengirim e-mail memudahkan pengguna (user) untuk mengirim e-mail atau informasi berupa laporan tanpa membuka e-mail lagi. ( Kumar, Ajit. 2011)
20 Gambar 9 Memanggil kontak e-mail dari Thunderbird ke ADempiere
21 2.2 Sistem Akademik Sistem dapat didefinisikan menjadi 2 kelompok sistem, yaitu yang menekankan pada prosedurnya dan yang menekankan pada komponen elemenya. Pendekatan sistem yang lebih menekankan pada prosedur menurut Jogiyanto, 1999 : Sistem adalah susatu jaringan kerja prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran tertentu. Sedangkan pendekatan sistem yang menekankan pada komponen atau elemennya, menurut Gordon B. Davis : Sistem adalah sekelompok elemen-elemen / bagian yang saling berhubungan atau terintegrasi dengan maksud yang sama untuk mencapai tujuan tertentu. Maksud dari kata rangkaian prosedur dan komponen/elemen pada definisi diatas adalah rangkaian kegiatan input, proses, output yang saling bekerja sama untuk mencapai satu tujuan tertentu. Dalam kegiatan input, proses, output dibutuhkan data yang didapat dari sumber data, data yang telah diambil dari sumber data kemudian diproses untuk menghasilkan keluaran berupa informasi yang berguna bagi penggunanya. Data yang digunakan untuk menghasilkan informasi tersebut membutuhkan media penyimpanan yang dikenal sebagai database. Akademik adalah seluruh lembaga pendidikan formal baik pendidikan anak usia dini, pendidikan dasar, pendidikan menengah, pendidikan kejuruan maupun perguruan tinggi yang menyelenggarakan pendidikan vokasi dalam satu cabang atau sebagian cabang ilmu pengetahuan dan teknologi. Dari definisi diatas dapat disimpulkan bahwa sistem akademik adalah sistem yang mengelola kegiatan akademik pada suatu lembaga pendidikan perguruan tinggi khususnya atau suatu sistem yang digunakan demi kelancaran dari sebuah kegiatan perkuliahan di suatu jurusan. Sistem ini dibuat untuk mengatur segala kebutuhan yang disesuaikan dengan isi/kondisi dalam suatu jurusan dalam melaksanakan kegiatan perkuliahan. Di dalam sistem akademik terdapat sistem lain yang saling mendukung dalam rangka mencapai tujuan akademik. Dimulai dari persiapan proses belajar mengajar atau perancangan kegiatan akademik, lalu dilanjutkan pada pelaksanaan kegiatan akademik, hingga melakukan evaluasi dari kegiatan akademik.
22 Sistem akademik dirancang menyesuaikan dengan visi dan misi agar mampu mendukung dalam pencapaian tujuan lembaga pendidikan yang dikhususkan pada perguruan tinggi, semua itu diatur dalam sistem akademik. 2.3 Konsep Pemodelan Unified Modeling Language (UML) UML itu singkatan dari Unified Modelling Language. Sesuai dengan kata terakhir dari kepanjangannya, UML itu adalah salah satu bentuk language atau bahasa. Menurut pencetusnya, UML di definisikan sebagai bahasa visual untuk menjelaskan, memberikan spesifikasi, merancang, membuat model, dan mendokumentasikan aspek-aspek dari sebuah sistem. Karena tergolong bahasa visual, UML lebih mengedepankan penggunaan diagram untuk menggambarkan aspek dari sistem yang sedang dimodelkan. Bahasa visual lebih dekat ke mental model pikiran kita, sehingga pemodelan menggunakan bahasa visual bisa lebih mudah dan lebih cepat dipahami dibandingkan apabila dituliskan dalam sebuah bahasa pemrograman. UML mendefinisikan beberapa diagram dengan dua sudut pandang yang berbeda(pender, 2003), yaitu: 1. Structural Diagrams, merupakan diagram yang digunakan untuk memvisualisasikan, menjelaskan, membuat, dan mendokumentasikan aspek-aspek statik pada sistem. Ada beberapa diagram yang termasuk Structural Diagrams, salahsatunya ialah Class Diagram. Class Diagram menjelaskan sekumpulan Class serta keterhubungannya. 2. Behavioral Diagram, merupakan diagram yang digunakan untuk memvisualisasikan, menjelaskan, membuat, dan mendokumentasikan aspek-aspek dinamis sebuah sistem. Ada beberapa diagram yang termasuk Behavioral Diagrams, diantaranya : a. Use Case Diagram, menjelaskan sekumpulan use case dan aktor serta keterhubungannya. Diagram ini memodelkan semua perilaku sistem. Aktor adalah sesuatu dengan perilaku seperti seorang manusia (diidentifikasikan dengan peran), sistem komputer, atau organisasi. Contoh dalam sistem akademik Jurusan Teknik Komputer dan Informatika adalah ketua jurusan, Sekretaris Jurusan, ketua prodi, dosen pengajar, wali kelas dan tata usaha.
23 Skenario adalah rangkaian spesifik dari tingkah laku suatu sistem yang menghasilkan sebuah hasil yang tampak dari nilai untuk seorang aktor utama. Use case adalah kumpulan dari skenario sukses dan gagal yang menggambarkan aktor dalam menggunakan suatu sistem untuk mencapai tujuan. b. Sequence Diagram, merupakan interaction diagram yang menekankan pada waktu permintaan pesan (time ordering message). Diagram ini menjelaskan sekumpulan objek dan message dikirim dan diterima oleh objek objek tersebut. Objek-objek ini merupakan instansiasi dari Class.