• Tidak ada hasil yang ditemukan

BAB II TINJAUAN PUSTAKA

N/A
N/A
Protected

Academic year: 2022

Membagikan "BAB II TINJAUAN PUSTAKA"

Copied!
25
0
0

Teks penuh

(1)

7

BAB II

TINJAUAN PUSTAKA

II.1. Kriptografi

Kriptografi pada awalnya dijabarkan sebagai ilmu yang mempelajari bagaimana menyembunyikan pesan. Namun pada pengertian modern kriptografi adalah ilmu yang bersandarkan pada teknik matematika untuk berurusan dengan keamanan informasi seperti kerahasiaan, keutuhan data dan otentikasi entitas. Jadi pengertian kriptografi modern adalah tidak saja berurusan hanya denganpenyembunyian pesan namun lebih pada sekumpulan tkenik menyediakan keamanan informasi.

Sistem kriptografi terdiri dari 5 bagian yaitu:

1. Plaintext : pesan atau data dalam bentuk aslinya yang dapat terbaca. Plaintext adalah masukan bagi algoritma enkripsi untuk selanjutnya digunakan istilah teks asli sebagai padanan kata plaintext

2. Secret key : secret key yang juga merupakan masukan bagi algoritma enkripsi merupakan nilai yang bebas terhadap teks asli dan menentukan hasil keluaran algoritma enkripsi. Untuk selanjutnya digunakan istilah kunci rahasia sebagai padanan kata secret key

3. Ciphertext : ciphertext adalah keluaran algoritma enkripsi.Chiphertext dapat dianggap sebagai pesan dalam bentuk tersembunyi. Algoritma enkripsi yang baik akan menghasilkan ciphertext yang terlihat acak. Untuk selanjutnya digunakan istilah teks sandi sebagai padanan kata ciphertext.

(2)

4. Algoritma Enkripsi: Algoritma enkripsi memiliki masukan teks asli dan kunci rahasia. Algoritma enkripsi melakukan transformasi terhadap teks asli sehingga menghasilkan teks sandi.

5. Algoritma Dekkripsi: Algoritma dekkripsi memiliki masukan yaitu teks sandi dan kunci rahasia. Algoritma dekripsi memulihkan kembali teks sandi menjadi teks asli bila kunci rahasia yang dipakai algoritma dekripsi sama dengan kunci rahasia yang dipakai algoritma enkripsi. ( Rifki Sadikin ; 2012 : 15)

II.1.1. Algoritma Base64

RC4 merupakan salah satu jenis stream cipher, yaitu memproses unit atau input data, pesan atau informasi pada satu saat. Unit atau data pada umumnya sebuah byte atau bahkan kadang kadang bit (byte dalam hal RC4). Dengan cara ini enkripsi atau dekripsi dapat dilaksanakan pada panjang yang variabel. Algoritma ini tidak harus menunggu sejumlah input data, pesan atau informasi tertentu sebelum diproses, atau menambahkan byte tambahan untuk mengenkrip. Contoh stream cipher adalah RC4, Seal, A5, Oryx, dan lain-lain. Tipe lainnya adalah block cipher yang memproses sekaligus sejumlah tertentu data (biasanya 64 bit atau 128 bit blok), contohnya : Blowfish, DES, Gost, Idea, RC5, Safer, Square, Twofish, RC6, Loki97, dan lain-lain.

RC4 merupakan enkripsi stream simetrik proprietary yang dibuat oleh RSA Data Security Inc (RSADSI). Penyebarannya diawali dari sebuah source code yang diyakini sebagai RC4 dan dipublikasikan secara 'anonymously' pada tahun 1994. Algoritma yang dipublikasikan ini sangat identik dengan implementasi RC4 pada produk resmi. RC4 digunakan secara luas pada beberapa

(3)

aplikasi dan umumnya dinyatakan sangat aman. Sampai saat ini diketahui tidak ada yang dapat memecahkan/membongkarnya, hanya saja versi ekspor 40 bitnya dapat dibongkar dengan cara "brute force" (mencoba semua kunci yang mungkin).

RC4 tidak dipatenkan oleh RSADSI, hanya saja tidak diperdagangkan secara bebas (trade secret).

Algoritma RC4 cukup mudah untuk dijelaskan. RC4 mempunyai sebuah S-Box, S0,S1,...,S255, yang berisi permutasi dari bilangan 0 sampai 255, dan permutasi merupakan fungsi dari kunci dengan panjang yang variabel. Terdapat dua indeks yaitu i dan j, yang diinisialisasi dengan bilangan nol. Untuk menghasilkan random byte langkahnya adalah sebagai berikut :

i = ( i + 1 ) mod 256 j = ( j + Si ) mod 256 swap Si dan Sj

t = (Si + Sj) mod 256 K = St

Byte K di XOR dengan plaintexs untuk menghasilkan cipherteks atau di XOR dengan cipherteks untuk menghasilkan plainteks. Enkripsi sangat cepat kurang lebih 10 kali lebih cepat dari DES.

Inisialisasi S-Box juga sangat mudah. Pertama isi secara berurutan S0 = 0, S1 = 1,...,S255 = 255. Kemudian isi array 256 byte lainnya dengan kunci yang diulangi sampai seluruh array K0, K1,...,K255 terisi seluruhnya. Set indeks j dengan nol, Kemudian lakukan langkah berikut :

(4)

for i = 0 to 255

j = (j + Si + Ki) mod 256 swap Si dan Sj

Salah satu kelemahan dari RC4 adalah terlalu tingginya kemungkinan terjadi tabel S-box yang sama, hal ini terjadi karena kunci user diulang-ulang untuk mengisi 256 bytes, sehingga 'aaaa' dan 'aaaaa' akan menghasilkan permutasi yang sama. Untuk mengatasi ini maka pada implementasinya nanti kita menggunakan hasil hash 160 bit SHA dari password kita untuk mencegah hal ini terjadi. Kekurangan lainnya ialah karena enkripsi RC4 adalah XOR antara data bytes dan pseudo-random byte stream yang dihasilkan dari kunci, maka penyerang akan mungkin untuk menentukan beberapa byte pesan orisinal dengan meng-XOR dua set cipher byte, bila beberapa dari pesan input diketahui (atau mudah untuk ditebak). Untuk mengatasinya pada aplikasinya kita menggunakan initialization vector (IV) yang berbeda-beda untuk setiap data, sehingga bahkan untuk file yang sama akan dihasilkan ciphertext yang berbeda. IV ini tidak perlu dirahasikan karena digunakan hanya agar setiap proses enkripsi akan menghasilkan ciphertext yang berbeda.

Untuk lebih meningkatkan keamanan dari metoda ini dapat juga mengembangkan inisialisasi kunci yang baru yang kita sebut saja inisialisasi SK (strengtened key), pada proses ini kunci user di-expand hingga 260 byte (tetapi kemudian hanya 256 byte saja yang digunakan) dengan menggunakan SHA-1, caranya pertama kunci user dijadikan kunci, kemudian 1-20 byte pertama pada buffer diproses dengan SHA kemudian digestnya diletakan pada 20 byte pertama,

(5)

kemudian diambil byte 1-40 diproses dengan SHA dan hasilnya diletakan mulai pada byte 20, berikutnya byte 1-60 hasilnya diletakkan pada mulai byte 40, dan seterusnya. Kemudian buffer ini dienkrip dengan RC4, lalu buffer dijadikan kunci kembali, proses terakhir ini diulang sebanyak 16 kali untuk mencoba mencampur dengan baik sehingga dihasilkan kunci yang se-random mungkin.

Untuk lebih jelas tetang proses ini dapat dilihat pada listing. Penggunaan SHA pada proses inisialisasi kunci bukanlah hal yang baru, hal ini dapat dilihat pada proses inisialisasi kunci SEAL misalnya. Penggunaan proses primitif enkripsi pada inisialisasi kunci juga digunakan juga pada Blowfish ataupun Cobra-128. Secara teoritis dengan proses ini akan ekivalen dengan menggunakan kunci sebesar 2048 bit, walaupun penulis sendiri tidak yakin akan hal ini (mungkin pembaca ada yang bisa memberikan tanggapan). Metoda ini tampaknya sedikit lebih rumit dari pada inisialisasi kunci standar, tetapi pada Pentium 133 prosesnya hanya memerlukan waktu kurang sari 10ms saja. Metoda ini walaupun kami anggap lebih kuat, tetapi belum teruji sehingga dalam penerapan aplikasinya terdapat dua pilihan yaitu dengan metoda SK ini atau dengan metoda standar.

( Hanriawan A. Mooduto ; ISSN : 1412-5080 ; 68 ; 2004)

II.2. Jaringan Komputer

Jaringan komputer (Computer Network) dapat diartikan sebagai sekelompok komputer yang dihubungkan menggunakan media tertentu sehingga antar komputer dapat saling berhubungan untuk berbagai data, informasi, program aplikasi dan pernagkat keras, seperti printer, scanner, CD/DVD Drive, ataupun hardisk. ( Anonim ; 2013 :1 )

(6)

Jaringan komputer adalah sebuah kumpulan komputer, prinnter, dan peralatan lainnya yang saling terhubung. Informasi dan data bergerak melalui kabel-kabel sehingga memungkinkan pengguna jaringan komputer dapat saling bertukar dokumen dan data. ( Edy Victor Haryanto ; 2012 : 12)

II.2.1. Konsep Client Server

Jaringan Client Server menghubungkan komputer server dengan komputer klien/workstation. Komputer server adalah komputer yang menyediakan fasilitas bagi komuter-komputer klien/workstation yang terhubung dalam jaringan.

Sedangkan komputer adalah komputer yang menggunakan fasilitas yang disediakan oleh komputer server. Komputer server pada sebuah jaringan tipe client server disebut dengan dedicated server. Karena komputer yang digunakan hanya sebagian penyedia fasilitas untuk komputer klien/workstation. Komputer

server tidak dapat berperan sebagai komputer klien/workstation.

(Anonim ; 2010 : 3)

Keunggulan tipe jaringan client server adalah sebagai berikut :

1. Terdapat administrator jaringan yang mengelola sistem keamanan dan administrasi jaringan, sehingga sistem keamanan dan administrasi jaringan akan lebih terkontrol.

2. Komputer server difungsikan sebagai pusat data, komputer klien dapat mengakses data yang ada dari komputer klien manapun. Apabila terdapat komputer klien yang rusak, pengguna masih dapat mengakses data dari komputer klien yang lain.

(7)

3. Pengaksesan data lebih tinggi karena penyediaan dan pengelolaaan fasilitas jaringan dilakukan oleh komputer server. Dan komputer server tidak terbebani dengan tugas lain sebagai workstation.

4. Pada tipe jaringan Client Server, sistem backup data lebih baik, karena backup data dapat dilakukan terbpusat di komputer server. Apabila data pada komputer klien/workstation mengalami masalah atau kerusakan masih tersedia backup pada komputer server.

Kelemahan tipe jaringan Client server adalah sebagai berikut :

1. Biaya mahal, karena membutuhkan komputer yang memiliki kemampuan yang difungsikan sebagai kompute rserver.

2. Kelancaran jaringan tergantung pada komputer server. Bila komputer server mengalami gangguan maka maka jaringan akan terganggu.

II.3. Komunikasi Data

Kata komunikasi merupakan suatu kata yang dapat diartikan sebagai cara untuk menyampaikan atau menyebarluaskan data dan informasi, sedangkan kata informasi berarti berita, pikiran, pendapat dalam berbagai bentuk. Manusia dapat melakukan komunikasi dengan berbagai cara, berbicara secara langsung, berbisik, mengirim surat dan lain sebagainya.

Dari berbagai cara komunikasi manusia ini masih terdapat banyak kekurangan dan kelemahan yaitu :

1. Jarak yang jauh (bahkan sampai menyeberangi lautan), 2. Waktu yang lama untuk menyampaikan pesan.

3. Biaya yang relatif mahal.

(8)

Kekurangan tersebut bisa diatasi seiring dengan perkembangan teknologi informasi. Dengan teknologi komunikasi sekarang ini, hanya dengan menekan beberapa tombol maka jarak dan waktu untuk melakukan komunikasi tidak lagi menjadi kendala yang berarti.

Teknologi komunikasi terus dikembangkan dengan tujuan memudahkan manusia dalam melakukan komunikasi. Para ahli terdorong untuk mengembangkan teknik komunikasi jarak jauh yang lebih efisien dengan metode telekomunikasi yang memanfaatkan teknologi elektronika, yang dikenal dengan istilah teknik komunikasi data.

Komunikasi data merupakan cara mengirimkan data menggunakan sistem transmisi elektronik dari satu komputer ke komputer lain atau dari satu komputer ke terminal tertentu. Sedangkan data itu sendiri merupakan sinyal elektromagnetik yang dibangkitkan oleh sumber data yang ditangkap dan dikirimkan ke terminal penerima. Ariyus(2008:3)

II.3.1. Tujuan Komunikasi Data

Tujuan komunikasi data adalah mengirim data dalam jumlah besar dan waktu yang singkat dengan cara yang efisien dan ekonomis dari suatu tempat ke tempat lain tanpa ada kesalahan. (Edy Victor Hariyanto;2012:2)

Komunikasi data memiliki keuntungan yang dapat diterapkan pada beberapa perangkat komputer, yaitu :

1. Memungkinkan penggunaan komputer atau terminal secara terpusat (sentralisasi) ataupun tersebar (desentralisasi) sehingga mendukung menajemen dalam hal kontrol.

(9)

2. Mempermudah kemungkinan pengolahan dan pengaturan data yang ada dalam berbagai macam sistem komputer.

3. Mengurangi waktu untuk pengolahan data.

4. Mendapatkan data langsung dari sumbernya (mempertinggi kehandalan).

5. Mempercepat penyebaran informasi.

II.4. Tinjauan Umum Website

Menurut Fatansyah dalam bukunya ”Basis Data” Secara terminologi,

”Website adalah kumpulan dari halaman-halaman situs, yang biasanya terangkum dalam sebuah domain atau subdomain, yang tempatnya berada di dalam World Wide Web (WWW) di Internet”.

”Sebuah web page adalah dokumen yang ditulis dalam format HTML (Hyper Text Markup Language), yang hampir selalu bisa diakses melalui HTTP, yaitu protokol yang menyampaikan informasi dari server website untuk ditampilkan kepada para pemakai melalui web browser. Semua publikasi dari website-website tersebut dapat membentuk sebuah jaringan informasi yang sangat besar”.

Halaman-halaman dari website akan bisa diakses melalui sebuah URL yang biasa disebut homepage. URL ini mengatur halaman-halaman situs untuk menjadi sebuah hirarki, meskipun, hyperlink-hyperlink yang ada di halaman tersebut mengatur para pembaca dan memberitahu mereka sususan keseluruhan dan bagaimana arus informasi ini berjalan.

Beberapa website membutuhkan subskripsi (data masukan) agar para user bisa mengakses sebagian atau keseluruhan isi website tersebut, contohnya ada

(10)

beberapa situs-situs bisnis, situs-situs e-mail gratisan, yang membutuhkan subskripsi agar kita bisa mengakses situs tersebut.

“Website static adalah salah satu bentuk website yang isi didalam website tersebut tidak dimaksudkan untuk di update secara berkala, dan biasanya di maintain secara manual oleh beberapa orang yang menggunakan software editor”.

Website dynamic adalah website yang secara berkala, informasi didalamnya berubah, atau website ini bisa berhubungan dengan user dengan berbagai macam cara atau metode (HTTP cookies atau Variabel Database, sejarah kunjungan, variabel sesi dan lain-lain) bisa juga dengan cara interaksi langsung menggunakan form dan pergerakan mouse. Ketika web server menerima permintaan dari user untuk memberikan halaman tertentu, maka halaman tersebut akan secara otomatis di ambil dari media penyimpanan sebagai respon dari permintaan yang diminta oleh user. Sebuah situs dapat menampilkan dialog yang sedang berlangsung diantara dua user, memantau perubahan situasi, atau menyediakan informasi yang berkaitan dengan sang user.

Ada banyak jenis sistem software yang dapat dipakai untuk meng- generate Dynamic Web System dan Situs Dynamic, beberapa diantaranya adalah ColdFusion (CFM), Active Server Pages (ASP), Java Server Pages (JSP) dan PHP, bahasa program yang mampu untuk meng-generate Dynamic Web System dan situs dinamis.

(11)

Plugin tersedia untuk menambah menambah banyaknya feature dan kemampuan dari web browser, dimana plugin ini dipakai untuk membuka content yang biasanya berupa cuplikan dari gambar bergerak (active content) contohnya adalah Flash, Shockwave atau Applets yang ditulis dalam bahasa java. Dynamic HTML juga menyediakan untuk user supaya dia bisa secara interaktif dan realtime, meng-update di web page tersebut, halaman yang dirubah tidak perlu di load atau di reloaded agar perubahannya dapat dilihat, biasanya perubahan yang dilakukan mereka memakai DOM dan Javascript yang sudah tersedia pada semua web browser sekarang ini.

II.5. Pemrograman PHP

PHP (PHP Hypertext Prepocessor) adalah bahasa scripting server-side bagi pemrograman web. Secara sederhana, PHP merupakan tool bagi pengembangan web dinamis. PHP sangat populer karena memiliki fungsi build-in lengkap, cepat, mudah dipelajari, dan bersifat gratis. Skrip PHP cukup disisipkan pada kode HTML agar dapat bekerja. PHP dapat berjalan di berbagai web server dan sistem operasi yang berbeda.

Selain PHP, sebenarnya ada beberapa alternatif teknologi sejenis. Masing- masing teknologi memmiliki kelebihan dan kekurangan. Beberapa teknologi sejenis yang cukup populer diantaranya adalah :

1. Active Server Pages (ASP), ASP merupakan produk komersial yang dikembangkan microsoft. Teknologi ini menggunakan basis microsoft IIS (Internet Information Service). Saat ini microsoft juga menyempurnakan teknologi ini dengan projek ASP.NET. mahalnya biaya implementasi

(12)

ASP.NET menyebabkan teknologi ini masih kurang diminati di kalangan pengembang web.

2. Cold Fusion Markup Language (CFML), CFML merupakan produk komersial yang dikembangkan Macromedia. Teknologi ini menggunakan Cold Fusion Server. Secara historis, seperti halnya PHP, CFML adalah pengembangan Script PERL. CFML menggunakan metode tag base, seperti HTML. Bagi sebagian pengguna, metode ini dianggak memiliki kelebihan karena mudah digunakan. Namun bagi sebagian pengguna lainnya, metode tag base menjadi kendala tersendiri, karena sulit membedakan mana kode script server-side dan aman kode HTML. Selain itu, faktor biaya implementasi tentunya menjadi pertimbangan tersendiri.

3. Java Server Pages (JSP), JSP merupakan teknologi yang didukung oleh Sun Microsystems. Teknologi ini dikembangkan dari bahasa pemrograman Java, yagn dikenal dengan portabilitas dan kompatibilitasnya. JSP berkembang secara variatif, baik secara komersial maupun secara open source.

Pengembangan JSP oleh berbagai kalangan berpedoman pada standar yang ditetapkan oleh Sun Microsystems, yaitu Java 2 Enterprise Edition (J2EE).

Keanekaragaman versi JSP karena adanya perbedaan pengembangan menyebabkan implementasi JSP cukup membingungkan, terutama bagi kalangan yang ingin memulai mempelajarinya. Anonim, (2007 : 2)

(13)

II.5.1. Struktur Pemrograman PHP

Struktur pengatur aliran program, mempunyai rangkain perintah yang harus ditulis untuk memenuhi beberapa keadaan, yaitu :

1. Mengulang suatu perintah jika suatu kondisi terpenuhi.

2. Melanjutkan sebuah pernyataan bila kondisi terpenuhi.

3. Memilih sebuah pilihan dari beberapa alternatif bila kondisi terpenuhi

Struktur kendali terbagi menjadi dua jenis, yaitu struktur kendali percabangan (pengambilan keputusan) dan pengulangan (looping).

1. Percabangan

Struktur kendali percabangan adalah struktur kendali yang memungkinkan pemilihan atas perintah yang akan dijalankan sesuai dengan kondisi tertentu.

Contoh : if(kondisi) {

Pernyataan yang akan dijalankan bila kondisi bernilai besar }

2. Pengulangan

Pengulangan digunakan untuk suatu perintah sebanyak yang diinginkan tanpa harus menulis ulang.

Contoh : for(nilai_awal; nilai_akhir; penambahan/pengurangan) {

Pernyataan yang akan dijalankan }

(14)

II.6. UML (Unified Modelling Language)

Pemodelan (modeling) adalah proses merancang piranti lunak sebelum melakukan pengkodean (coding). Model piranti lunak dapat dianalogikan seperti pembuatan blueprint pada pembangunan gedung. Membuat model dari sebuah sistem yang kompleks sangatlah penting karena kita tidak dapat memahami sistem semacam itu secara menyeluruh. Semakin komplek sebuah sistem, semakin penting pula penggunaan teknik pemodelan yang baik. Dengan menggunakan model, diharapkan pengembangan piranti lunak dapat memenuhi semua kebutuhan pengguna dengan lengkap dan tepat, termasuk faktor-faktor seperti scalability, robustness, security, dan sebagainya. Kesuksesan suatu pemodelan piranti lunak ditentukan oleh tiga unsur, yang kemudian terkenal dengan sebuan segitiga sukses (the triangle for success). Ketiga unsur tersebut adalah metode pemodelan (notation), proses (process) dan tool yang digunakan. Memahami notasi pemodelan tanpa mengetahui cara pemakaian yang sebenarnya (proses) akan membuat proyek gagal. Dan pemahaman terhadap metode pemodelan dan

proses disempurnakan dengan penggunaan tool yang tepat.

(Yuni Sugiarti ; S.T, M.Kom ; 2013 : 33)

Gambar II.1. The Triangle For Success Sumber : Yuni Sugiarti, S.T, M.Kom ( 2013 : 33)

(15)

Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). Sejarah UML sendiri cukup panjang. Sampai era tahun 1990 seperti kita ketahui puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah:

metodologi booch, metodologi coad, metodologi OOSE, metodologi OMT, metodologi shlaer-mellor, metodologi wirfs-brock, dsb. Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek.

(16)

Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan group/perusahaan lain yang menggunakan metodologi yang berlainan. Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995 direlease draft pertama dari UML (versi 0.8). Sejak tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG – http://www.omg.org).

Tahun 1997 UML versi 1.1 muncul, dan saat ini versi terbaru adalah versi 1.5 yang dirilis bulan Maret 2003. Booch, Rumbaugh dan Jacobson menyusun tiga buku serial tentang UML pada tahun 1999. Sejak saat itulah UML telah menjelma menjadi standar bahasa pemodelan untuk aplikasi berorientasi objek.

Gambar II.2. Metodelogi Pemodelan Berorientasi Objek Sumber : Yuni Sugiarti, S.T, M.Kom ( 2013 : 33)

(17)

II.6.1. Konsep Dasar UML

Dari berbagai penjelasan rumit yang terdapat di dokumen dan buku-buku UML. Sebenarnya konsepsi dasar UML bisa kita rangkumkan dalam beberapa diagram yaitu :

1. Use case diagram 2. Class diagram 3. Statechart diagram 4. Activity diagram 5. Sequence diagram 6. Collaboration diagram 7. Component diagram 8. Deployment diagram

Dalam pembuatan skripsi ini penulis menggunakan diagram Use Case yang terdapat di dalam UML. Adapun maksud dari Use Case Diagram diterangkan dibawah ini.

1. Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan

“bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat

(18)

membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di- include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri.

Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain. (Yuni Sugiarti ; S.T, M.Kom ; 2013 : 41)

Tabel II.1. Simbol Use Case Diagram

Simbol Deskripsi

Use Case

Fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor ; biasanya dinyatakan dengan menggunakan kata kerja diawal frase nama use case

Aktor

Nama Aktor

Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang ; biasanya dinyatakan menggunakan kata benda diawal frase nama aktor.

Asosiasi/Association Komunikasi antar aktor dan usecase yang berpartisipasi pada usecase atau usecase memiliki interaksi dengan aktor. Nama UseCase

UseCase

(19)

Extend

<<extend>>

Relasi usecase tambahan kesebuah usecase dimana usecase yang ditambahkan dapat berdiri sendiri walau tanpa usecase

tambahan itu mirip dengan prinsip inheritance pada program berorientasi objek; biasanya usecase tambahan memiliki nama depan dengan usecase yang ditambahkan, arah panah menunjuk pada usecase yang dituju, Contoh:

Include

<<include>>

Relasi usecase tambahan kesebuah usecase dimana usecase yang ditambahkan memerlukan usecase ini untuk menjalankan fungsinya atau sebagai syarat dijalankan usecase ini. Ada dua sudut pandang yang cukup besar mengenai include diusecase include berarti usecase yang di tambahkan akan selalu dipanggil saat usecase tambahan dijalankan, contoh:

Sumber : Yuni Sugiarti, S.T, M.Kom ( 2013 : 42) 2. Class Diagram

Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi. Berikut adalah simbol- simbol pada diagram kelas :

Update data dosen Input data

dosen

<<include>

>

Kartu Anggota Pendaftaran

(20)

Tabel II.2. Class Diagram

Simbol Deskripsi

Package Package merupakan sebuah bungkusan dari satu

atau lebih kelas

Operasi Kelas pada struktur sistem

Antar muka / interface

Interface

Sama dengan konsep interface dalam pemograman berorientasi objek Asosiasi

1 1..

Relasi antar kelas dan makna umum , asosiasi biasanya juga disertai dengan multiplicity Asosiasi berarah /Directed Asosiasi Relasi antar kelas dengan makna kelas yang

satu di gunakan oleh kelas yang lain asosiasi biasanya juga disertai dengan multiplicity Generalisasi Relasi antar kelas dengan makna generalisasi –

spesialisasi (umum-khusus) Ketergantungan/defedency Relasi antar kelas dengan makna

ketergantungan antar kelas

Agregasi Relasi antar kelas dengan makna semua bagian (whole part)

Sumber : Yuni Sugiarti, S.T, M.Kom ( 2013 : 59)

package

Nama Kelas

Operation 1( ) +Attribute 1 +Attribute2

(21)

TPustaka +id +judul +jenis +jumlah +tahun +pengarang +setId() +getId() +setJudul() +getJudul() +setJenis() +getJenis() +setJumlah() +getJumlah() +setTahun() +getTahun() +setPengarang() +getPengarang()

TPeminjaman +id

+tgl_peminjaman +id_anggota +id_pustaka +tgl_kembali +setId() +getId()

+setTglPeminjaman() +getTglPeminjaman() +setIdAnggota() +getIdAnggota() +setIdPustaka() +getIdPustaka() +setTglKembali() +getTglKembali() TAnggota +id +nama +alamat +telepon +setId() +getId() +setNama() +getNama() +setAlamat() +getAlamat() +setTelepon() +getTelepon() Login

+validasiLogin() +logout()

MengelolaAnggota +cariAnggotaByNama() +cariAnggotaById() +memasukkanAnggota() +mengubahAnggota() +menghapusAnggota()

MengelolaPeminjaman +memasukkanPeminjaman() +mencariPeminjaman() +ubahPeminjaman()

MengelolaPustaka +cariPustakaById() +cariPustakaByJudul() +cariPustakaByJenis() +cariPustakaByPengarang() +memasukkanPustaka() +ubahPustaka() +hapusPustaka()

KoneksiBasisData +host

+database +username +password +membukaKoneksi() +eksekusiQuerySelect() +eksekusiQueryUpdate() +tutupKoneksi()

1..*1

1 1..*

1 1..*

1..*

1

1..*

1 Main

+main() +uiLogin() +uiMenu()

+uiMengelolaPustaka() +uiMengelolaAnggota() +uiMengelolaPeminjaman()

1

1 1

1

1 1

1..* 1

1..*1 1..*

1 1

1

1 1 1

1

Gambar II.3. Contoh Class Diagram Sumber : Yuni Sugiarti, S.T, M.Kom ( 2013 : 63) 3. Sequence Diagram

Diagram Sequence menggambarkan kelakuan/prilaku objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan

(22)

diterima antar objek. Oleh karena itu untuk menggambarkan diagram sequence maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu.

Banyaknya diagram sequence yang harus digambar adalah sebanyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram sequence sehingga semakin banyak use case yang didefinisikan maka diagram sequence yang harus dibuat juga semakin banyak.

Tabel II.3. Simbol Sequence Diagram

Simbol Nama Keterangan

Object Object merupakan instance dari sebuah class dan di tuliskan tersusun secara horizontal digambarkan sebagai sebuah class (kotak) dengan nama obyek didalamnya yang diawali dengan sebuah titik koma

Actor Actor juga dapat berkomunikasi dengan object , maka actor juga dapat di urtutkan sebagai kolom. Simbol actor sama dengan simbol pada actor Use case Diagram

Lifeline Lifeline mengindikasikan keberadaan sebuah object dalam basis waktu.notasi untuk lifeline adalah garis putus-putus vertikal yang ditarik dari sebuah object.

Activation Activation dinotasikan sebagai sebuah kotak segi empat yang digambar pada sebuah lifeline activation mengindikasikan sebuah obyek yang akan melakukan sebuah aksi.

Message Message Message digambarkan dengan anak panah horizontal antara activation. Message mengindikasikan komunikasi antar object- object

Sumber : Yuni Sugiarti, S.T, M.Kom ( 2013 : 63)

; Object1

(23)

Check Use Details Login Screen

Costomer Security Manager Users

Login

Validate User

[ User Details ] Validate

1 : Use Case Model >

Gambar II.4. Contoh Sequence Diagram Sumber : Yuni Sugiarti, S.T, M.Kom ( 2013 : 63) 4. Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.

(24)

Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih.

Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas.

Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses- proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal.

Tabel II.4. Simbol Activity Diagram

Simbol Keterangan

Titik awal

Titik Akhir

Activity

Pilihan untuk mengambil keputusan

Fork; digunakan untuk menunjukkan kegiatan yang dilakukan secara paralel atau untuk menggabungkan dua kegiatan paralel menjadi satu.

Rake; menunujkan adanya dekomposisi

Tanda waktu Tanda pengiriman Tanda penerimaan Aliran akhir (flow final) Sumber : Yuni Sugiarti, S.T, M.Kom ( 2013 : 75)

(25)

Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.

[no coffee]

[no cola]

decision Find Beverage

Get Can of Cola

Drink Beverage Pour Coffee

Get Cups Add Water to

Reservoir Put Coffee In

Filter

Turn on Machine Put Filter In

Machine

Brew Coffee Start

End

Gambar II.5. Activity Diagram Sumber : Yuni Sugiarti, S.T, M.Kom ( 2013 : 76)

Gambar

Gambar II.1. The Triangle For Success  Sumber : Yuni Sugiarti, S.T, M.Kom ( 2013 : 33)
Gambar II.2. Metodelogi Pemodelan Berorientasi Objek  Sumber : Yuni Sugiarti, S.T, M.Kom ( 2013 : 33)
Tabel II.1. Simbol Use Case Diagram
Diagram  kelas  atau  class  diagram  menggambarkan  struktur  sistem  dari  segi pendefinisian kelas-kelas  yang akan dibuat untuk membangun sistem
+7

Referensi

Dokumen terkait

Permasalahan lain adalah, siswa belum maksimal menggunakan kemampuan berpikir kritisnya khususnya kemampuan menganalisis terbukti dari kriteria soal yang diberikan belum

Bila suatu reaksi dilakukan dalam sistem terisolasi (tersekat) mengalami perubahan yang mengakibatkan terjadinya penurunan energi potensial partikel-partikelnya, maka

 Walau pun sedang menjalani pemeriksaan bersama dengan seseorang dari departemen lain, pihak luar atau bahkan presiden sekali pun atau setiap orang yang pada

Abstrak Pada kasus-kasus aktual di lapangan, penelitian mengenai kondisi air tanah adalah sulit untuk dilakukan, sehingga untuk mempelajari lebih lanjut mengenai tinggi muka air

Preheating ini dilakukan selama 180 jam pada sagger 1-5 dan ini dilakukan hingga suhu mencapai 800 o C imana akan terjadi pencairan pitch, penguapan pitch hal ini bertujuan

Dari data hasil penelitian tentang kepuasan pengguna di Perpustakaan UNIKOM dengan indicator koleksi, fasilitas, jenis layanan, staff perpustakaan, dengan kesimpulan sebagai

Petra, para Bunda Pendidikan Anak Usia Dini (seterusnya PAUD) setempat, dan para mahasiswa U.K. Kemudian Tim yang sama juga telah melaksana- kan kegiatan PkM

Kedua, pendekatan KUAL digunakan untuk mencapai tiga tujuan, yakni digunakan untuk memperoleh: (1) data tentang perilaku dan ajaran tokoh arif, (2) masukan pertimbangan