Landasan Teori APLIKASI SMS GATEWAY HISTORICAL PEMAKAIAN ALAT INSTRUMENT PADA DEPARTEMEN REGIONAL LABORATORY PT. CHAROEN POKPHAND INDONESIA - KRIAN.

o Nama manufaktur, identitas tipe, nomor seri danatau identifikasi khas lainnya. o Verifikasi kesesuaian peralatan dengan spesifikasinya. o Tanggal penerimaan dan tanggal mulai digunakan o Lokasi sekarang o Kondisi ketika diterima o Instruksi manufaktur tentang perawatan, jika tersedia atau acuan untuk retensinya o Pedoman penggunaan dari manufaktur o Tanggal, hasil semua kalibrasi dan tanggal kalibrasi ulang berikutnya • Rekaman riwayat alat Rekaman riwayat alat diadakan untuk tiap peralatan. Isi rekaman sejarah alat, dapat dibaca dalam uraian terdahulu. System ini memberi kemungkinan untuk komputerisasi sehingga mengurangi banyak pengecekan dan pengetikan kembali jika waktu inventarisasi berulang diadakan.

2.3 Landasan Teori

Pada landasan teori akan diterangkan teori-teori yang berhubungan dengan pengerjaan dari tugas akhir ini.

2.3.1 Aplikasi

SMS Gateway SMS Gateway adalah sebuah gerbang yang menghubungkan antara komputer dengan client melalui SMS. Client secara tidak langsung berinteraksi dengan aplikasi sistem melalui SMS Gateway. Saat melakukan SMS, maka informasi Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. terpenting yang diperlukan adalah nomor tujuan dan pesan, maka itulah yang sebenarnya diolah oleh SMS Gateway. Beberapa software yang dibutuhkan dalam aplikasi SMS gateway diantaranya adalah Gammu, Database dan SMS Device. Gammu merupakan sebuah aplikasi cross-platform yang digunakan untuk menjembatani mengomunikasikan antara database SMS Gateway dengan sms devices. Seperti yang terlihat pada Gambar 2.1. ilustrasi SMS Gateway dengan database MySQL Gambar 2.1. Ilustrasi SMS Gateway dengan database MySQL Ramadhika : 2012 Gammu memonitor sms devices dan database sms gateway. Saat ada sms masuk ke sms devices, maka gammu langsung memindahkannya ke dalam inbox dalam database sms gateway. Sebaliknya saat Aplikasi Pengirim SMS memasukkan sms ke dalam outbox dalam database sms gateway, maka gammu mengirimkannya melalui sms devices, dan memindahkan sms ke sentitem dalam database. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Gammu dapat menggunakan database MySQL, PostgreSQL, bahkan gammu juga menyertakan libdbi untuk mengakses database seperti SQLite, Ms.SQL Server, Sybase, Firebird, dll. Dalam database SMS Gateway yang digenerate otomatis oleh Gammu, berisi layaknya aplikasi SMS di handphone anda, terdapat inbox, outbox, serta sentitem. SMS Devices merupakan alat pengirim SMS yang berupa modem ataupun handphone. Agar dapat digunakan dengan semestinya, maka devices ini harus memenuhi syarat-syarat tertentu agar dapat terintegrasi dengan gammu Ramadhika : 2012. 2.3.2 Gammu Gammu adalah sebuah aplikasidaemon yang dikhususkan untuk membangun sebuah SMS Gateway yang menghubungkan antara operator seluler ke internet dan sebaliknya. Aplikasi ini bersifat open source dibawah lisensi GPL. Sebenarnya Gammu tidak hanya berfungsi sebagai SMS Gateway saja tetap bisa juga untuk melakukan voice call. Untuk mengetahui fitur lengkap dari Gammu silahkan buka websitenya di http:wammu.eugammu . Gammu merupakan salah satu tools untuk mengembangkan aplikasi SMS Gateway yang cukup mudah diimplementasikan. Kelebihan Gammu adalah : Purnama 2007 a. Gammu dapat dijalankan di Windows maupun Linux. b. Gammu dapat membaca, menghapus dan mengirim SMS. c. Gammu dapat membaca, menulis, menghapus isi pesan masuk inbox. d. Gammu dapat menggunakan kabel data USB maupun serial, semuanya kompatibel di Gammu. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Setelah sukses membangun Gammu, maka selanjutnya dapat membangun aplikasi SMS Gateway dengan bahasa program atau platform apapun, baik itu web based dengan PHP dan juga desktop dengan menggunakan Delphi, VB atau lainnya. Berikut cara instalasi GAMMU service dan menjalankannya : 1 Install Gammu. Secara default setelah file setup di atas diinstal, file gammu terletak di direktori C:\GAMMU. 2 Setelah file Gammu diinstall, langkah berikutnya adalah setting konfigurasi. Setting ini diperlukan guna keperluan penyesuaian jenis HP dan nomor port yang akan digunakan. Untuk connection pada modem yang dipakai adalah at115200, untuk modem atau handphone yang lainya dapat dilihat di http:wammu.euphones . Caranya adalah edit file ‘GAMMURC‘ yang ada di dalam direktori ‘C:\gammu‘ menggunakan Notepad atau sejenisnya kemudian anda rubah bagian berikut : 1.[gammu] 2.port = 3.connection = Untuk mengetahui nomor port dimana anda menghubungkan HP Anda di komputer, silakan masuk ke Control Panel – Phone and Modem Options – Modem. Seperti yang terlihat pada Gambar 2.2 Cek Port Modem Gambar 2.2. Cek Port Modem Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Sebaiknya setiap kali modem anda dihubungkan ke PC, gunakan lokasi port USB yang sama atau jangan pindah-pindah port USB, karena setiap ganti port USB maka nomor portnya akan berubah-ubah anda harus ubah setting GAMMURC nya berkali-kali pula karena harus menyesuaikan nomor portnya. 3 Langkah terakhir untuk proses setting GAMMU ini adalah melakukan uji koneksi antara Gammu dengan HPmodem Anda. Langkah ini dilakukan setelah proses setting konfigurasi dilakukan. Caranya adalah dengan masuk folder ‘C:\gammu‘ pada direktori Gammu Anda via DOS PROMPT. Lalu ketikkan perintah ini pada command promptnya. Seperti yang terlihat pada gambar 2.3 Perintah uji koneksi Gammu Gambar 2.3 . Perintah uji koneksi Gammu 4 Membuat database MySQL untuk Gammu. Langkah ini bertujuan untuk menyiapkan database MySQL untuk menampung data-data SMS yang diperlukan Gammu untuk SMS Gateway. Sebenarnya tidak hanya MySQL yang bisa digunakan, namun bisa juga SQL Lite atau Posgre SQL. Caranya adalah buat database dengan nama ‘sms‘ atau yang lain menggunakan phpMyAdmin Anda. Gammu sudah menyiapkan file dumpnya untuk create Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. tabel. Letak file dumpnya ada di folder ‘C:\gammu\mysql-tabel.sql‘. Gunakan file dump tersebut untuk membuat tabel-tabelnya menggunakan phpMyAdmin. 5 Setting Konfigurasi Untuk SMS Daemon Langkah ini dilakukan setelah setting database untuk Gammu. SMS daemon pada Gammu digunakan untuk proses pembacaan otomatis SMS yang diterima lalu disimpan ke database. SMS daemon juga diperlukan untuk keperluan pengiriman SMS. Untuk melakukan setting SMS daemon, bukalah file ‘SMSDRC‘ yang terletak di direktori ‘C:\gammu‘. Buka dengan notepad atau sejenisnya bagian yang diubah adalah: a. port = diisi nomor port sesuai yang ada di file GAMMURC b. connection = diisi jenis connection sesuai yang ada di GAMMURC c. service = mysql diisi dengan ‘mysql’ karena kita akan menggunakan mysql sebagai storage data SMSnya d. user = diisi user database koneksi ke mysql e. password = diisi password koneksi ke mysql f. pc = diisi nama host mysql biasanya localhost g. database = sms atau sesuai nama database yang tadi anda buat Contoh konfigurasi yang ditulis 1.port = com12: 2.connection = at115200 3.service = mysql 4.user = root 5.password = root 6.pc = localhost 7.database = sms Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Setelah mengkonfigurasi gammurc dan smsdrc, selanjutnya mulai menginstall service seperti yang terlihat pada gambar 2.4. Perintah install Gammu service Gambar 2.4 . Perintah Install Gammu Setelah itu untuk menjalankan service Gammu anda dapat ketikkan perintah pada command prompt seperti yang terlihat pada gambar 2.5 Perintah menjalankan service Gammu Gambar 2.5 Menjalankan Service Gammu 7 Setelah semuanya dilakukan, kemudian lakukan pengiriman sms ke nomor handphone yang ada pada modem. Bila, konfigurasi benar maka pesan atau sms masuk akan masuk pada database sms dan berada di tabel inbox. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 2.3.3 XAMPP XAMPP adalah perangkat lunak bebas, yang mendukung banyak sistem operasi, merupakan kompilasi dari beberapa program. Fungsinya adalah sebagai server yang berdiri sendiri localhost, yang terdiri atas program Apache HTTP Server, MySQL database, dan penerjemah bahasa yang ditulis dengan bahasa pemrograman PHP dan Perl. Nama XAMPP merupakan singkatan dari X empat sistem operasi apapun, Apache, MySQL, PHP dan Perl. Program ini tersedia dalam GNU General Public License dan bebas, merupakan web server yang mudah digunakan yang dapat melayani tampilan halaman web yang dinamis. XAMPP dikembangkan dari sebuah tim proyek bernama Apache Friends, yang terdiri dari Tim Inti Core Team, Tim Pengembang Development Team Tim Dukungan Support Team. Seperti yang terlihat pada gambar 2.6 Halaman pada XAMPP Gambar 2.6 Halaman pada XAMPP Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. XAMPP adalah singkatan yang masing-masing hurufnya adalah : X: Program ini dapat dijalankan dibanyak sistem operasi, seperti Windows, Linux, Mac OS, dan Solaris. A: Apache, merupakan aplikasi web server. Tugas utama Apache adalah menghasilkan halaman web yang benar kepada user berdasarkan kode PHP yang dituliskan oleh pembuat halaman web. jika diperlukan juga berdasarkan kode PHP yang dituliskan,maka dapat saja suatu database diakses terlebih dahulu misalnya dalam MySQL untuk mendukung halaman web yang dihasilkan. M: MySQL, merupakan aplikasi database server. Perkembangannya disebut SQL yang merupakan kepanjangan dari Structured Query Language. SQL merupakan bahasa terstruktur yang digunakan untuk mengolah database. MySQL dapat digunakan untuk membuat dan mengelola database beserta isinya. Kita dapat memanfaatkan MySQL untuk menambahkan, mengubah, dan menghapus data yang berada dalam database. P: PHP, bahasa pemrograman web. Bahasa pemrograman PHP merupakan bahasa pemrograman untuk membuat web yang bersifat server-side scripting. PHP memungkinkan kita untuk membuat halaman web yang bersifat dinamis. Sistem manajemen basis data yang sering digunakan bersama PHP adalah MySQl. namun PHP juga mendukung sistem manajement database Oracle, Microsoft Access, Interbase, d-base, PostgreSQL, dan sebagainya. P: Perl, bahasa pemrograman. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Mengenal bagian XAMPP yang biasa digunakan pada umumnya : Htdoc adalah folder tempat meletakkan berkas-berkas yang akan dijalankan, seperti berkas PHP, HTML dan skrip lain. phpMyAdmin merupakan bagian untuk mengelola basis data MySQL yang ada dikomputer. Kontrol Panel yang berfungsi untuk mengelola layanan service XAMPP. Seperti menghentikan stop layanan, ataupun memulai start.

2.3.4 Unified Approach UA

Untuk melakukan analisis sistem terdapat beberapa macam pendekatan, diantaranya pendekatan konvensional dan pendekatan berorientasi objek. Pendekatan konvensional terutama mengacu kepada strategi dekomposisi yang berdasar algoritma atau fungsional. Pendekatan ini telah berkembang meliputi seluruh tahap atau aktivitas proses rekayasa perangkat lunak dari mulai pemrograman dengan iterasi perbaikan, pemrograman terstruktur, ditambah dengan perancangan terstruktur kemudian analisis terstruktur dan sebagainya. Sedangkan pendekatan berorientasi objek memusatkan pada rancangan pada objek dan antar muka yang dihasilkan. Objek adalah entiti yang berisi data atau variabel dan tingkah laku. Data atau variabel yang menggambarkan sifat atau keadaan objek dalam dunia nyata real world didefiniskan sebagai attribute, sedangkan tingkah laku yang menggambarkan aksi-aksi yang dimiliki objek didefinisikan sebagai method. Unified Approach UA merupakan metode analisis berorientasi objek dari Ali Bahrami 1999. UA adalah suatu metodologi pengembangan sistem berbasis objek yang menggabungkan proses dan metodologi yang telah ada Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. sebelumnya dan menggunakan UML sebagai standar pemodelannya. Proses dan tahapan yang ada dalam UA merupakan proses-proses terbaik yang diambil dari metode objek yang telah diperkenalkan oleh Booch, Rumbaugh, dan Jacobson. Tahap Analisis dalam UA ditujukan untuk mengidentifikasi kelas-kelas yang terdapat dalam sistem. Analisis berorientasi objek dengan pendekatan UA Unified Approach dari Ali Bahrami seperti yang terlihat pada Gambar 2.7. Tahap Analisis Unified Approach UA Bahrami, 1999 dalam bagan berikut: Gambar 2.7 Tahap Analisis Unified Approach UA Bahrami, 1999. Identifikasi aktor adalah tahap pertama yang penting dalam OOA. Istilah aktor merepresentasikan peran dari seorang user terhadap sistem. Kandidat aktor dapat ditemukan dengan mencari tahu siapa yang akan menggunakan sistem dan apa yang dilakukan aktor terhadap sistem. Pada tahap Pengembangan Diagram Aktifitas dan Diagram Use Case ini akan digambarkan model aktifitas bisnis menggunakan diagram aktifitas UML untuk menggambarkan kinerja sistem. Dalam diagram aktifitas akan digambarkan alur kerja dari sistem. Dengan mengetahui alur kerja sistem yang ada, dapat dilakukan pemodelan diagram use case untuk menggambarkan interakasi user terhadap sistem. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Dalam pengembangan diagram interaksi, salah satu dari diagram interaksi adalah sequence diagram. Sequence diagram adalah suatu model untuk menggambarkan interaksi antar objek dalam sistem. Interaksi yang dilakukan oleh objek-objek tersebut dilakukan dengan cara satu objek mengirimkan pesan message kepada objek lain. Dalam tahap ini akan ditentukan rangkaian diagram aktifitas sistem yang sedang berjalan. Identifikasi kelas, dari sequence diagram akan terlihat kelas-kelas apa saja yang ada dalam sistem. Pada tahap ini dilakukan proses identifikasi kelas-kelas, relationship, atribut serta metode-metode yang digunakan pada setiap kelas. Pemeriksaan terhadap tahap sebelumnya, proses pemeriksaan terhadap hasil akhir tahap analisis. Bila terdapat kesalahan maka kembali ke tahap awal analisis bila hasilnya benar maka tahap analisis selesai. 1 Identifikasi Aktor Mengidentifikasi aktor merupakan hal penting dalam proses analisis sistem. Istilah aktor menunjukan sekumpulan pengguna yang beraktivitas pada sistem. Satu pengguna mungkin saja melakukan satu atau lebih aktivitas pada sistem. Dalam mengidentifikasi aktor mesti dipahami pula bagaimana aktor tersebut berinterakasi dengan sistem. Bahrami, 1999. Aktor adalah sesuatu yang perlu berinteraksi dengan sistem untuk pertukaran informasi. Pelaku menginisiasi kegiatan sistem, yakni sebuah use case, dengan maksud melengkapi beberapa tugas bisnis yang menghasilkan sesuatu yang dapat diukur Whitten 2004. Primary Business Actor Pelaku Bisnis Utama, Stakeholder yang terutama mendapatkan Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. keuntungan dari pelaksanaan use case dengan menerima nilai yang terukur atau terobservasi. Pelaku bisnis utama kemungkinan tidak menginisiasi kejadian bisnis. Sebagai contoh, dalam kejadian bisnis dari seorang karyawan yang menerima gaji nilai terukur dari sistem penggajian setiap hari jumat, karyawan tidak menginisiasi kejadian itu, tetapi merupakan penerima utama dari sesuatu yang bernilai. Primary System Actor Pelaku Sistem Utama, Stakeholder yang secara langsung berhadapan dengan sistem untuk menginisiasi atau memicu kegiatan atau sistem. Pelaku sistem utama dapat berinteraksi dengan para pelaku bisnis utama untuk menggunakan sistem aktual. Mereka memfasilitasi kejadian dengan menggunakan sistem secara langsung demi mencapai keuntungan para pelaku bisnis utama. Contohnya operator telepon yang memberikan bantuan kepada pelanggan dan kasir Bank yang memproses transaksi Bank. Pelaku bisnis utama dan pelaku sistem utama kemungkinan memiliki persamaan, yaitu sama-sama pelaku bisnis yang berhadapan langsung dengan sistem, misalnya seorang yang melayani jasa penyewaan mobil via website. External Server Actor Pelaku Server Eksternal, Stakeholder yang melayani kebutuhan pengguna use case misalnya biro kredit yang memiliki kuasa atas perubahan kartu kredit. External Receiving Actor Pelaku Penerima Eksternal, Stakeholder yang bukan pelaku utama, tapi menerima nilai yang terukur atau teramati output dari use case misalnya gudang menerima paket permintaan untuk menyiapkan pengiriman sesudah seorang pelanggan memesannya. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 2 Identifikasi Use Case Suatu use case adalah interaksi antara aktor dengan sistem. Suatu use case menyangkut aktivitas dan respon dari suatu aktor. Pemodelan use case dapat dilakukan dengan mengambil beberapa aktor kemudian mendiskusikan apa saja yang akan dilakukan aktor tersebut terhadap sistem. Setiap use case merepresentasikan apa yang akan dilakukan oleh aktor. Use case memperlihatkan diagram dari sudut pandang perilaku sistem. Seperti yang terlihat pada Gambar 2.8 Contoh Use case diagram pada sistem restaurant. Gambar 2.8 Contoh Use case diagram pada restaurant Wikipedia.org Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 3 Analisa Bisnis Proses Gambar 2.9 Activity Diagram AD Tahap ini tidak selalu mengawali suatu proyek analisis sistem, akan tetapi jika dibutuhkan, proses bisnis dan kebutuhan pengguna menjelaskan sampai ke level detail. Seperti yang terlihat Gambar 2.9 Activity Diagram AD menunjukan beberapa aktivitas dilakukan aktor Bahrami, 1999 contoh pemodelan proses bisnis pada menggunakan diagram aktivitas. 4 Pemodelan Interaksi Menggunakan Interaction Diagram Salah satu dari diagram interaksi adalah sequence diagram. Diagram interakasi menjelaskan urutan proses dan interaksi yang terdapat pada use case atau scenario. Pada interaction diagram digambarkan interakasi antar suatu objek terhadap objek yang lain. Pengembangan diagram ini menuntut pengembang untuk mengidentifikasi seluruh objek dan event yang terjadi pada suatu use case, hal ini akan sangat membantu untuk perancangan kelas class. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 5 Perancangan Kelas Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan atributproperti suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut metodafungsi. Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain. Dalam proses identifikasi kelas ada beberapa pendekatan yang dapat digunakan untuk mengidentifikasi kelas-kelas pada sistem yang dirancang : Pendekatan Noun Phrase; pendekatan common class patterns; pendekatan use-case driven; dan pendekatan Class, Responsibility and Collaborators CRC. Adapun pendekatan yang penulis gunakan dalam penelitian ini adalah noun phrases approach, dengan kata lain pendekatan ini dilakukan dengan cara mendaftar sejumlah objek kata benda atau frase pada sistem yang dirancang yang dianggap akan menjadi kandidat kelas. Objek yang telah teridentifikasi menjadi kandidat kelas tersebut kemudian diidentifikasi menjadi tiga kategori kelas, Rellevant class, Fuzzy class kelas ambigu dan Irrelevant class. Rellevant class adalah kategori kelas yang terdiri dari objek-objek yang memiliki keterkaitan dengan sistem serta memiliki attribut dan method. Fuzzy class adalah kelas yang memiliki makna ambigu dimana kelas ini tidak jelas apakah relevan atau tidak. Irrelevant class adalah kelas yang tidak mempunyai pengaruh atau Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. keterkaitan langsung dengan sistem, misalkan proses eliminasi pada kelas yang berupa atribut atau method.

2.3.5 Unified Modelling Language UML

1 Sejarah UML Grady Booch dan Jim Rumbaugh memulai penelitian di Rational Software Co. sekitar tahun 1994. Tujuan mereka yakni menciptakan sebuah metode baru yang dapat menciptakan metode-metode sebelumnya yang dapat digunakan pada semua kalangan. Sekitar tahun 1995 Ivar Jacobson, seorang tokoh yang menciptakan OOSE and Objectory Methode bergabung. Selain itu, perusahaan Rational Software Co. Membeli lisensi Objectory System dari Swedish Company sebagai pengembang dan pendistribusinya. Gambar 2.10 Unsur-unsur pembentuk UML Munawar, 2005 Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Maka lahirnya sebuah metode baru yang mereka beri nama “Unified Modeling Languange” yang diharapkan dapat menjadi sebuah bahasa pemodelan standar seperti yang terlihat pada Gambar 2.10 Unsur-unsur pembentuk UML. 2 Definisi Unified Modelling Language Unified Modelling Language merupakan sebuah notasi grafis standar untuk menggambarkan sistem berorientasi objek yang merupakan hasil kerjasama dari Grady Booch, James Rumbaugh dan Ivar Jacobson. Dan didefinisikan sebagai berikut: “Unified Modeling Language UML adalah suatu bahasa untuk menetapkan, membangun, memvisualisasikan, dan mendokumentasikan sistem perangkat lunak dan komponen-komponennya ”, Bahrami, 1999.” Dari definisi diatas UML merupakan sebuah bahasa pemodelan suatu sistem berdasarkan grafik atau gambar untuk menspesifikasikan, membangun, menvisualisasikan dan mendokumentasikan suatu sistem perangkat lunak berorientasi objek. UML memberikan standar penulisan sebuah sistem yang meliputi konsep bisnis proses, penulisan kelas, skema database, dan komponen yang diperlukan dalam sistem perangkat lunak. 3 View Dalam UML UML dibangun atas model 4+1 view. Model ini didasarkan pada fakta bahwa struktur sebuah sistem dideskripsikan dalam 5 view dimana salah satu diantaranya use case view. Use case view ini memegang peran untuk Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. mengintegrasikan content ke view yang lain seperti yang terlihat pada Gambar 2.11 Model 4+1 View. Gambar 2.11 Model 4+1 View, Munawar, 2005 Use case View mendefinisikan perilaku eksternal sistem. Hal ini menjadi daya tarik bagi end-user, analis dan tester. Pandangan ini mendefinisikan kebutuhan sistem karena mengandung semua view yang lain yang mendeskripsikan aspek-aspek tertentu dan rancangan sistem. Itulah sebabnya use case view menjadi pusat peran yang dan sering dikatakan yang men-drive proses pengembangan perangkat lunak. Selanjutnya Design view mendeskripsikan struktur logika yang mendukung fungsi-fungsi yang dibutuhkan di use case. Design view berisi definisi komponen program, class-class utama bersama-sama dengan spesifikasi data, perilaku dan interaksinya. Implementation view menjelaskan komponen-komponen fisik dari sistem yang akan dibangun. Hal ini berbeda dengan komponen logic yang dideskripsikan pada design view. Termasuk disini diantaranya file exe, library dan database. Informasi yang ada di view ini relevan dengan aktifitas-aktifitas seperti manajemen konfigurasi dan integrasi sistem. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Process view berhubungan dengan hal-hal yang berkaitan dengan concurrency di dalam sistem. Sedangkan deployment view menjelaskan bagaimana Design Implementation Process Deployment Use Case komponen-komponen fisik didistribusikan ke lingkungan fisik. Kedua view ini menunjukan kebutuhan non-fungsional dari sistem. Deployment View menjelaskan bagaimana komponen-komponen fisik didistribusikan ke lingkungan fisik seperti jaringan komputer, printer dan peralatan lainnya serta bagaimana peralatan tersebut dihubungkan dengan peralatan yang lainnya dimana sistem akan dijalankan. 4 Diagram-diagram Unified Modelling Language Setiap sistem yang komplek memiliki pendekatan yang terbaik melalui suatu himpunan kecil dalam pandangan semua view dalam suatu model, tidak ada single view yang terpenuhi. Setiap model bisa dinyatakan pada tingkat yang berbeda dari ketepatannya. Gambar 2.12 Klasifikasi Jenis Diagram UML Versi 1.3 Munawar, 2005 Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Diagram-diagram yang terdapat pada UML seperti yang terlihat pada Gambar 2.12 Klasifikasi Jenis Diagram UML Versi 1.3. Diagram kelas bersifat statis, diagram ini memperlihatkan himpunan kelas-kelas, serta relasi-relasi. Diagram ini umum dijumpai pada pemodelan sistem berorientasi objek. Meskipun bersifat statis, sering pula diagram kelas memuat kelas-kelas aktif. Diagram Objek bersifat statis, diagram ini memperlihatkan objek-objek serta relasi-relasi antar objek. Diagram objek memperlihatkan instansiasi statis dari segala sesuatu yang dijumpai pada diagram kelas. Use Case Diagram bersifat statis, diagram ini memperlihatkan himpunan use case dan aktor-aktor suatu jenis khusus dari kelas. Diagram ini terutama sangat penting untuk mengorganisasi dan memodelkan perilaku dari suatu sistem yang dibutuhkan serta diharapkan pengguna. Sequence diagram bersifat dinamis, diagram urutan adalah diagram interaksi yang menekankan pada pengiriman pesan message dalam suatu waktu tertentu. Collaboration diagram Bersifat dinamis, diagram kolaborasi adalah diagram interaksi yang menekankan organisasi structural dari objek-objek yang menerima serta mengirim pesan message. Statechart diagram bersifat dinamis, diagram state ini memperlihatkan state-state pada sistem; memuat state, transisi, even, serta aktivitas. Diagram ini terutama penting untuk memperlihatkan sifat dinamis dari antarmuka interface, kelas, kolaborasi dan terutama penting pada pemodelan sistem-sistem reaktif. Aktivity diagram bersifat dinamis, diagram aktivitas ini adalah tipe khusus dari diagram state yang memperlihatkan aliran dari suatu aktivitas ke aktivitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. pemodelan fungsi-fungsi dalam suatu sistem yang memberi tekanan pada aliran kendali antar objek. Component diagram bersifat statis, diagram komponen ini memperlihatkan organisasi serta kebergantungan sistemperangkat lunak pada komponen-komponen yang telah ada sebelumnya. Diagram ini berhubungan dengan diagram kelas dimana komponen secara tipikal dipetakan kedalam satu atau lebih kelas-kelas, antarmuka-antarmuka interfaces, serta kolaborasi-kolaborasi. Deployment diagram bersifat statis, diagram ini memperlihatkan konfigurasi saat aplikasi dijalankan saat run- time. Diagram ini memuat simpul-simpul node beserta komponen- komponen yang ada di dalamnya. Deployment diagram berhubungan erat dengan diagram komponen dimana deployment diagram memuat satu atau lebih komponen-komponen. Diagram ini sangat berguna saat aplikasi kita berlaku sebagai aplikasi yang dijalankan pada banyak mesin distributed computing. Class diagram, juga dikenal sebagai objek modeling, adalah diagram analisis statis yang utama. Diagram ini menunjukkan struktur yang statis dari suatu model. Suatu class diagram adalah suatu koleksi unsur-unsur modeling yang statis, seperti kelas-kelas dan relationship yang dihubungkan sebagai suatu grafik antara yang satu dengan yang lainnya beserta isi-isinya. Sebagai contoh, hal yang ada seperti kelas-kelas, struktur-struktur class diagram internal, dan hubungan class diagram dengan kelas-kelas yang lain. Class diagram tidak menunjukkan informasi yang temporal, yang diperlukan di dalam pemodelan yang dinamis. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Class diagram memodelkan struktur kelas dan isinya dengan menggunakan elemen-elemen model seperti class, package, dan objek. Kelas terdiri dari tiga bagian yaitu nama kelas, attribut dan operations. Kelas didefinisikan secara global dapat diakses oleh objek diluar kelas tersebut seperti yang terlihat pada Tabel 2.1 Notasi pada Class Diagram Tabel 2.1 Notasi pada Class Diagram Fungsi Pengertian Simbol Class Class adalah blok - blok pembangun pada pemrograman berorientasi objek. Sebuah class digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian.Bagian atas adalah bagian nama dari class. Bagian tengah mendefinisikan propertyatribut class. Bagian akhir mendefinisikan method- method dari sebuah class. Assosiation Sebuah asosiasi merupakan sebuah relationship paling umum antara 2 class, dan dilambangkan oleh sebuah garis yang menghubungkan antara 2 class. Garis ini bisa melambangkan tipe-tipe relationship dan juga dapat menampilkan hukum-hukum multiplisitas pada sebuah relationship Contoh: One-to-one, one-to-many, many- to-many. Dependency Kadangkala sebuah class menggunakan class yang lain. Hal ini disebut dependency. Umumnya penggunaan dependency digunakan untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain. Sebuah dependency dilambangkan sebagai sebuah panah bertitik-titik. Aggregation Aggregation mengindikasikan keseluruhan bagian relationship dan biasanya disebut sebagai relasi “mempunyai sebuah” atau “bagian dari”. Sebuah aggregation digambarkan sebagai sebuah garis dengan sebuah jajaran genjang yang tidak berisitidak solid. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Fungsi Pengertian Simbol Generalization Sebuah relasi generalization sepadan dengan sebuah relasi inheritance pada konsep berorientasi objek. Sebuah generalization dilambangkan dengan sebuah panah dengan kepala panah yang tidak solid yang mengarah ke kelas “parent”-nyainduknya. Sumber : http:resources.visual-paradigm.com Diagram kelas memodelkan struktur kelas dan isinya. Kelas terdiri dari Nama Kelas, Atribut dan Operasi seperti yang terlihat pada Gambar 2.13 Diagram Kelas. Gambar 2.13 Diagram Kelas Munawar, 2005 Class name bagian yang paling atas berisi nama kelas, nama kelas diambil dari domain permasalahan dan harus sejelas mungkin. Oleh karena itu, nama kelas harus lah berupa kata benda. Attribute kelas memiliki attribut yang menggambarkan karakteristik dari objek. Attribut kelas yang benar adalah yang dapat mencakup informasi yang dilukiskan dan mengenali instance tertentu dari kelas. Tipe attribut dapat berupa primitive attribut atau tipe lainnya. Method Operations operations digunakan untuk memanipulasi attribut atau menjalankan aksi-aksi. Class diagram terdiri dari beberapa relationship, diantaranya Generalization, Diagram objek, Aggregation dan Association. Generalisasi adalah hubungan antara suatu kelas secara umum dengan suatu kelas yang lebih spesifik. Generalisasi adalah suatu yang Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. dipertunjukkan sebagai suatu garis berarah dengan tertutup. UML membiarkan suatu label diskriminator untuk dihubungkan dengan suatu Generalization superclass. Sebagai contoh, kelas boeing-airplane mempunyai kejadian-kejadian dari kelas boeing 737, boeing 747, boeing 757, dan boeing 767, yang merupakan subclass dari kelas boeing-airplane. Seprti yang terlihat pada gambar 2.14 Contoh Generalisasi. Elipsis tunjukkan bahwa Generalization itu adalah tidak lengkap dan lebih banyak subclass yang tidak ditunjukkan. Pembangun melengkapi menunjukkan bahwa Generalization itu sudah lengkap dan tidak memerlukan lagi subclass. Jika suatu label teks ditempatkan di segi tiga yang berongga yang dibagi dengan beberapa alur generalization kepada subclass, label berlaku bagi semua alur. Dengan kata lain, semua subclass berbagi property yang diberi. Gambar 2.14 Contoh Generalisasi Bahrami, 1999. Diagram objek, suatu diagram objek yang statis adalah satu kejadian dari suatu diagram kelas. Itu menunjukkan suatu snapshot dari status yang terperinci dari sistem pada suatu momen yang tepat. Notasi adalah sama selama satu diagram objek dan suatu diagram kelas. Diagram kelas dapat berisi objek, maka suatu diagram kelas dengan objek dan tidak ada kelas- kelas adalah satu diagram objek. Aggregation, Aggregasi adalah suatu bentuk asosiasi. Komposisi, juga yang dikenal sebagai a-part-of adalah suatu wujud Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. aggregation dengan kepemilikan yang kuat untuk menunjukkan komponen dari suatu objek yang kompleks. Komposisi juga dikenal sebagai suatu part- whole relationship. notasi UML untuk komposisi adalah suatu berlian yang padat pada akhir suatu alur. Sebagai alternatif, UML menyediakan suatu wujud dengan nyata bersarang itu, dalam banyak kesempatan, lebih menyenangkan karena adanya komposisi. Seperti yang terlihat pada gambar

2.15 Contoh Aggregasi.