7
BAB II LANDASAN TEORI
2.1
STRUKTUR DATA
Struktur data memiliki peran yang penting dalam pembuatan sebuah program. Alokasi memori untuk menampung data yang akan diolah oleh program ditentukan melalui struktur data. Di dalam pemodelan ini struktur data yang digunakan adalah struktur data tumpukan (stack).
2.1.1 Tumpukan (Stack)
Menurut Bambang Wahyudi (2003: 57) Stack adalah metode atau tehnik dalam menyimpan atau mengambil data ke dan dari memori. Stack dapat diibaratkan sebuah tumpukan barang dalam sebuah tempat yang hanya memiliki satu pintu di atasnya (memasukkan dan mengambil barang hanya dapat dilakukan melalui pintu itu). Sehingga barang yang akan dikeluarkan pertama kali adalah barang yang terakhir kali dimasukkan. Dengan demikian, kaidah stack adalah First In Last Out atau Last In First Out.
Gambar 2.1 Ilustrasi Stack
7
8
Pada Gambar 2.1 terlihat bahwa kotak B diletakkan di atas kotak A dan kotak C diletakkan di atas kotak B dan seterusnya. Menambah atau mengambil sebuah kotak dapat dilakukan lewat ujung bagian atas. Dengan ilustrasi ini dapat dilihat bahwa tumpukan merupakan kumpulan data yang sifatnya dinamis, artinya elemen tumpukan dapat ditambahkan dan dapat dikurangi (diambil).
2.1.2 Operasi Dasar pada Tumpukan (Stack)
Stack umumnya digunakan untuk menyimpan dan mengambil kembali data matematika, stack juga dapat memeriksa apakah ekspresi matematika yang dimasukkan sudah sesuai dengan kaidah penulisan ekspresi matematikanya atau belum, misalnya kekurangan tanda satu tanda kurung, kelebihan tanda operasi matematika, dan sebagainya.
Operasi yang sering diterapkan pada stack adalah push dan pop. Operasioperasi dasar yang dapat diterapkan adalah sebagai berikut:
1. CREATESTACK(S) Membuat tumpukan baru S, dengan jumlah elemen kosong. 2. MAKENULL(S) Mengosongkan tumpukan S, jika ada elemen maka semua elemen dihapus. 3. EMPTY Menguji apakah tumpukan kosong. 4. PUSH(x,S) Memasukkan elemen baru x ke dalam tumpukan S. 5. POP(S) Mengeluarkan elemen posisi atas pada tumpukan S. Berikut ini ilustrasi operasi push dan pop terhadap stack.
9
Tabel 2.1 Ilustrasi push dan pop No 1 2 3 4 5 6 7 8 9 10
Operasi CREATESTACK(S) PUSH(‘a’,S) PUSH(‘b’,S) PUSH(‘c’,S) POP(S) PUSH(‘d’,S) PUSH(‘e’,S) POP(S) POP(S) POP(S)
Isi Tumpukan :
:a :ab :abc :ab :abd :abde :abd :ab :a
Nilai Top 0 1 2 3 2 3 4 3 2 1
Apa yang terjadi jika dilakukan POP(S) sebanyak 2 kali lagi? yang terjadi adalah underflow, artinya tumpukan kosong tidak ada elemen yang dapat diambil. Apa yang terjadi jika dilakukan PUSH(x,S) sebanyak sepuluh kali, jika kapasitas tumpukan adalah 5 lagi? yang terjadi adalah overflow, artinya tumpukan penuh tidak ada elemen yang dapat dimasukkan ke dalam tumpukan.
Pada proses PUSH, tumpukan harus diperiksa apakah jumlah elemen sudah mencapai maksimum atau tidak. Jika sudah mencapai maksimum maka overflow. Sedangkan pada proses POP, tumpukan harus diperiksa apakah ada elemen yang hendak dikeluarkan atau tidak. Jika tidak ada maka underflow.
2.1.3
Ekspresi Matematika
Salah satu pemanfaatan tumpukan adalah untuk menulis ungkapan matematika dengan menggunakan notasi tertentu. Seperti kita ketahui, dalam penulisan ungkapan khususnya ungkapan numerik, kita selalu menggunakan tanda kurung untuk mengelompokkan bagian mana yang harus dikerjakan lebih dahulu. Ekspresi matematika seperti A+B*C yang sering kita gunakan dikategorikan sebagai notasi infix yang mana operator berada diantara operand. Operator adalah lambang operasi matematika (penambahan, pengurangan, pengalian, dan sebagainya). Operand adalah nilai data atau variabel penampung nilai data. Notasi
10
infix mudah dimengerti oleh manusia, hanya saja dalam notasi infix perlu diperhatikan prioritas pengerjaan karena berhubungan dengan hierarki operator pada komputer. Prioritas pengerjaanya adalah: a. Tanda kurung: (….) b. Eksponensial atau pangkat: ^ c. Perkalian, Pembagian: *, / d. Penjumlahan, Pengurangan: +, -. Contoh: (A-B)*(C+D) Prioritas pengerjaan soal di atas adalah sebagai berikut: a. Dalam kurung paling kiri: (A-B) b. Dalam kurung kedua: (C+D) c. Perkalian hasil pengurangan dan hasil penjumlahan. Tidak selamanya ekspresi matematika disimpan secara infix di komputer. Ada yang menyimpan ekspresi tersebut secara postfix atau prefix. Notasi postfix atau prefix akan lebih mudah dikerjakan oleh komputer, karena tidak perlu mencari urutan pengerjaan seperti pada notasi infix. Dari keterangan di atas, notasi untuk menuliskan ekspresi matematika ada tiga yaitu:
1. Infix Suatu notasi disebut infix jika operator berada diantara operandnya. Notasi ini merupakan notasi yang sering kita gunakan sehari – hari. Contoh : A+B (operand, operator, operand). 2. Prefix Notasi ini juga disebut Polish Notation (PN), yang mana simbol operatornya diletakkan sebelum dua operand. Contoh : +AB (operator, operand, operand). 3. Postfix Notasi ini disebut juga suffix atau disebut juga Reverse Polish Notation (RPN), yang mana simbol operatornya diletakan sesudah dua operand. Contoh : AB+ (operand, operand, operator).
11
Untuk lebih jelasnya, berikut contoh konversi dari satu notasi ke notasi lainnya dengan cara biasa.
1. Infix Contoh: (A+B) – (C*D) diubah dalam bentuk prefix dan postfix. Untuk mengubah dalam bentuk prefix : a. Pengerjaan dalam kurung ke-1: (A+B), prefixnya adalah +AB. b. Pengerjaan dalam kurung ke-2: (C*D), prefixnya adalah *CD. c. Terakhir adalah operator -, +AB - *CD, prefixnya adalah –+AB*CD. Untuk mengubah dalam bentuk postfix: a. Pengerjaan dalam kurung ke-1: (A+B), postfixnya adalah AB+. b. Pengerjaan dalam kurung ke-2: (C*D), postfixnya adalah CD*. c. Terakhir adalah operator -, AB+ - CD*, postfixnya adalah AB+CD*-.
2. Prefix Contoh: + / *ABCD diubah dalam bentuk infix dan postfix. Dalam pengerjaan prefix, untuk mencari operator dimulai dari operand terkanan. Untuk mengubah dalam bentuk infix: a. Cari operator ke-1: *, ambil dua operand sebelumnya yaitu A dan B, sehingga infixnya adalah (A*B). b. Cari operator ke-2: / , ambil dua operand sebelumnya yaitu (A*B) dan C, sehingga infixnya adalah ((A*B) / C). c. Cari operator ke-3: +, ambil dua operand sebelumnya yaitu ((A*B) / C ) dan D, sehingga infixnya adalah ((A*B) / C)+D. Untuk mengubah dalam bentuk postfix: a. Cari operator ke-1: *, ambil dua operand sebelumnya yaitu A dan B, sehingga postfixnya adalah AB*.
12
b. Cari operator ke-2: / , ambil dua operand sebelumnya yaitu AB* dan C, sehingga postfixnya adalah AB*C / . c. Cari operator ke-3: +, ambil dua operand sebelumnya yaitu AB*C / dan D, sehingga postfixnya adalah AB*C / D+. 3. Postfix Contoh: ABCD* / - diubah dalam bentuk infix dan prefix. Dalam pengerjaan postfix, untuk mencari operator dimulai dari operand terkiri. Untuk mengubah dalam bentuk infix: a. Cari operator ke-1: *, ambil dua operand sebelumnya yaitu C dan D, sehingga infixnya adalah (C*D). b. Cari operator ke-2: / , ambil dua operand sebelumnya yaitu B dan (C*D), sehingga infixnya adalah (B / (C*D)). c. Cari operator ke-3: -, ambil dua operand sebelumnya yaitu A dan (B / (C*D)), sehingga infixnya adalah A - (B / (C*D)). Untuk mengubah dalam bentuk prefix:
a. Cari operator ke-1: *, ambil dua operand sebelumnya yaitu C dan D, sehingga prefixnya adalah *CD. b. Cari operator ke-2: / , ambil dua operand sebelumnya yaitu B dan *CD, sehingga prefixnya adalah / B*CD. c. Cari operator ke-3: -, ambil dua operand sebelumnya yaitu A dan / B*CD, sehingga prefixnya adalah – A / B*CD.
Proses konversi yang akan dibahas selanjutnya adalah bagaimana menerima persamaan infix sebagai masukan, kemudian menghasilkan persamaan postfix sebagai keluarannya. Ide umum yang dapat digunakan adalah menggunakan tumpukan untuk menyimpan operand yang dijumpai dan mengeluarkan operand mengikuti apa yang menjadi pendahulunya. Secara spesifik, ekspresi infix kita telusuri dari kiri ke kanan dan memprosesnya mengikuti aturan berikut ini:
13
1. Kapan pun operand dijumpai, ia dilewatkan sebagai keluaran. 2. Setiap kali operator dibaca, operator itu dimasukkan ke tumpukan dan operand-operand dilewatkan sebagai keluaran, hingga operator yang dicapai memiliki nilai pendahulu (sebutlah sebagai derajad / bobot) yang lebih rendah daripada operator yang terakhir dibaca. Operator yang dibaca terakhir kali kemudian dimasukkan ke tumpukan. 3. Saat akhir dari persamaan infix dijumpai, semua simbol yang ada pada tumpukan dikeluarkan satu persatu dan dilewatkan sebagai keluaran. 4. Karena tanda kurung (kurung buka dan kurung tutup) dapat digunakan untuk merubah urutan pengerjaan persamaan pada ekspresi infix maka kita harus mempertimbangkannya pada proses konversi. Ini dapat diselesaikan dengan mengangap tanda kurung adalah memiliki nilai pendahulu yang paling tinggi dibandingkan operator-operator yang lain. Sebagai tambahan, kita tidak mengijinkan tanda kurung tutup dimasukkan ke tumpukan, dan kita hanya mengijinkan tanda kurung buka dimasukkan ke tumpukan setelah tanda kurung tutup telah dibaca. Perhatikan tanda-tanda kurung tidak perlu dikeluarkan saat mereka dikeluarkan dari tumpukan karena mereka tidak dibutuhkan kehadirannya pada ekspresi postfix.
Untuk memperlihatkan proses konversi ini, perhatikan contoh ekspresi infix berikut A* (B+C)+D / E. Simbol yang pertama kali dibaca adalah A. Karena ia merupakan operand, maka ia langsung dituliskan sebagai keluaran. Kemudian operator ‘*’ dibaca. Karena tumpukan masih kosong, tidak ada operator yang dikeluarkan, maka ‘*’ dimasukkan ke tumpukan sehingga kita mendapatkan gambaran seperti yang ditunjukan pada Gambar 2.2 (a). Kemudian, operator ‘(‘ dibaca dan karena semua operator memiliki nilai pendahulu yang lebih rendah dari tanda kurung buka, ia langsung dimasukkan ke tumpukan. Kemudian ‘B’ dibaca dan dilewatkan sebagai keluaran, hasilnya seperti yang ditunjukkan pada Gambar 2.2 (b). Simbol berikutnya adalah ‘+’, meskipun ‘(‘ memiliki nilai pendahulu paling tinggi (juga lebih tinggi dari operator ‘+’), ia tidak dapat dikeluarkan dari tumpukan hingga tanda kurung tutup ‘)’ dijumpai. Maka, tidak ada operator yang dikeluarkan dari tumpukan sehingga ‘+’ langsung dimasukkan
14
ke tumpukan. Kemudian yang berikutnya ‘C’ dibaca dan dilewatkan sebagai keluaran sehingga gambarannya seperti yang ditunjukkan pada Gambar 2.2 (c). Yang dibaca berikutnya adalah tanda kurung tutup ‘)’, karena ‘+’ memiliki pendahulu yang lebih rendah dari operator ini, tidak ada yang dikeluarkan dari tumpukan. Tanda ‘)’ dibuang, ketika situasi ini terjadi, kita sekarang akan bisa mengeluarkan tanda kurung buka ‘(‘ karena tanda kurung tutup yang berhubungan dengannya telah dijumpai. Simbol berikutnya yang dibaca adalah ‘+’. Pembacaan simbol ini akan menyebabkan semua yang dimasukkan ketumpukan akan dikeluarkan sebab semua operator dalam tumpukan memiliki nilai pendahulu yang lebih tinggi dari simbol ‘+’, tetapi hanya operator ‘+’ dan ‘*’ yang dilewatkan sebagai keluaran. Tanda ‘+’ yang dibaca kemudian dimasukkan ke tumpukan sehingga kita memiliki tumpukan seperti yang ditunjukkan pada Gambar 2.2 (d). Berikutnya ‘D’ dibaca dan dikirimkan sebagai keluaran, diikuti pula simbol ‘ / ‘. Karena penambahan (+) memiliki pendahulu yang lebih rendah dari pembagian ( / ) , maka operator ‘ / ‘ dimasukkan ke tumpukan seperti ditunjukan pada Gambar 2.2 (e). Simbol terakhir yang dibaca adalah ‘E’ merupakan keluaran maka operator-operator yang tersisa dalam tumpukan dikeluarkan sehingga hasil akhir seperti yang ditunjukkan pada Gambar 2.2 (f).
Gambar 2.2 Proses konversi infix ke postfix
Untuk mengubah notasi infix ke dalam notasi prefix pada umumnya langkah-langkanya hampir sama dengan mengubah notasi infix ke notasi postfix,
15
yang membedakannya adalah pada konversi notasi infix ke notasi prefix proses penelusuran notasi infix dilakukan dari kanan ke kiri dan proses penulisan keluaran dimulai dari kanan ke kiri juga.
Notasi infix
akan lebih mudah dihitung hasil evaluasinya jika sudah
diubah dalam bentuk prefix dan postfix seperti contoh berikut ini, Misalkan perhitungan aritmatika dalam notasi infix: 2-4*3+1 diubah dalam bentuk postfix menjadi 243*-1+, evaluasinya sebagai berikut:
Gambar 2.3 Evaluasi Nilai Postfix
Algoritma evaluasi nilai notasi postfix: 1. Buat tumpukan kosong. 2. Ulangi langkah berikut sampai elemen habis. a. Ambil elemen satu persatu dari aritmatika dimulai dari kiri ke kanan. b. Jika elemen itu adalah operand, masukkan ke dalam tumpukan dan jika operator maka keluarkan dua nilai teratas dari tumpukan (Op1 dan Op2), lalu hitung dengan operator yang bersangkutan. Hasilnya dimasukkan ke tumpukan (jika tidak ada dua operand dalam tumpukan maka ada kesalahan dalam notasi tersebut). 3. Bila elemen dari notasi itu habis, maka nilai yang tertinggal (teratas dari tumpukan) adalah hasilnya. Apabila contoh di atas diubah dalam bentuk prefix menjadi +-2*431, maka evaluasinya sebagai berikut:
16
Gambar 2.4 Evaluasi Nilai Prefix
Algoritma evaluasi nilai notasi prefix: 1. Buat tumpukan kosong. 2. Ulangi langkah berikut sampai elemen habis. a. Ambil elemen satu persatu dari aritmatika dimulai dari kanan ke kiri. b. Jika elemen itu adalah operand, masukkan kedalam tumpukan dan jika operator maka keluarkan dua nilai teratas dari tumpukan (Op1 dan Op2, kebalikan dari postfix), lalu hitung dengan operator yang bersangkutan. Hasilnya dimasukkan ke tumpukan (jika tidak ada dua operand dalam tumpukan maka ada kesalahan dalam notasi tersebut). 3. Bila elemen dari notasi itu habis, maka nilai yang tertinggal (teratas dari tumpukan) adalah hasilnya.
2.2
VISUAL BASIC 6.0
2.2.1 Mengenal Visual Basic 6.0
Visual Basic 6.0 merupakan salah satu bahasa pemrograman visual yang cukup populer dan mudah untuk dipelajari. Kita dapat membuat program dengan aplikasi GUI (Grapical User Interface) atau program yang memungkinkan pemakai komputer berkomunikasi dengan komputer tersebut dengan modus grafik atau gambar.
17
Visual Basic 6.0 menyediakan fasilitas yang memungkinkan kita untuk menyusun sebuah program dengan memasang objek-objek grafis dalam sebuah form. Visual Basic 6.0 berawal dari bahasa pemrograman BASIC (Beginners Allpurpose Symbolic Instruction Code). Tahun 1980-an sistem operasi DOS cukup populer dikalangan pemakai PC karena di dalamnya disertakan bahasa BASIC yang dikenal dengan QBASIC. Sistem tersebut sekarang sudah jarang digunakan. Di era Windows, Microsoft menciptakan Visual Basic yang terus mengalami perkembangan dan penyempurnaan hingga Visual Basic 6.0.
2.2.2 Komponen Visual Basic 6.0
Berikut ini adalah gambar jendela Visual Basic 6.0 yang terdiri dari beberapa komponen-komponen penting.
Gambar 2.5 Jendela Visual Basic 6.0
18
Adapun komponen-komponen Visual Basic 6.0 yaitu: 1. Title bar Title bar merupakan batang judul dari program Visual Basic 6.0 yang terletak pada bagian paling atas dari jendela program yang berfungsi untuk menampilkan judul atau nama jendela. Selain itu title bar juga berfungsi untuk memindahkan posisi jendela dengan menggunakan proses drug and drop pada posisi title bar tersebut dan juga berfungsi untuk mengatur ukuran jendela dari ukuran maximize ke ukuran restore ataupun sebaliknya dengan melakukan klik ganda pada posisi title bar tersebut.
2. Menu bar Menu bar merupakan batang menu yang terletak di bawah title bar yang berfungsi
untuk
menampilkan
pilihan
menu
atau
perintah
untuk
mengoperasikan program Visual Basic. Saat pertama kali jendela program Visual Basic terbuka, kita dapat melihat tiga belas menu utama, yaitu: File, Edit, View, Project, Format, Debug, Run, Query, Diagram, Tools, Add-Ins, Windows dan Help.
3. Toolbar Toolbar merupakan sebuah batang yang berisi kumpulan tombol yang terletak di bagian bawah menu bar yang dapat digunakan untuk menjalankan suatu perintah. Pada kondisi default program Visual Basic hanya menampilkan toolbar standar. Untuk lebih jelasnya tentang fungsi masing-masing tombol pada toolbar standar, perhatikanlah penjelasan berikut:
19
Tabel 2.2 Toolbar Tombol
Nama Add Project
Fungsi Menambahkan project baru dengan pilihan:
Add Form
Standard EXE
ActiveX EXE
ActiveX DLL
ActiveX Control.
Menambahkan item dengan pilihan:
Form
MDI Form
Module
Class Module
User Control
Property Page
User Document
Add File.
Menu Editor
Menambahkan kotak dialog menu
Open Project
editor. Membuka project yang sudah pernah dibuat sebelumnya.
Save Project Group
Menyimpan project.
Cut
Memotong kontrol yang ada di jendela form atau teks yang ada di jendela code.
Copy
Menyalin kontrol yang ada di jendela form atau teks yang ada di jendela code.
Paste
Menempelkan kontrol atau teks yang sudah dipotong dengan perintah cut atau disalin dengan perintah copy.
Find
Mencari teks pada jendela code.
20
Tabel 2.2 Toolbar (lanjutan) Tombol
Nama Undo
Fungsi Membatalkan suatu perintah
yang
dijalankan sebelumnya. Redo
Mengulangi
suatu
perintah
yang
pernah dibatalkan. Start Break
Menjalankan program. Menghentikan program yang sedang dijalankan untuk sementara.
End
Menghentikan program yang sedang dijalankan.
Project Explorer
Menampilkan
jendela
project
explorer. Properties Window
Menampilkan jendela properties.
Form Layout Window
Menampilkan jendela form layout.
Object Browser
Menampilkan jendela object browser.
Toolbox
Menampilkan jendela toolbox.
4. Toolbox Toolbox merupakan kotak perangkat yang berisi kumpulan tombol objek atau kontrol untuk mengatur desain dari aplikasi yang akan dibuat. Pada kondisi default, toolbox menampilkan tabulasi general dengan 21 tombol kontrol yaitu:
Tabel 2.3 Toolbox Tombol
Nama Pointer
Memilih,
Fungsi mengatur
memindahkan
posisi
ukuran
dan
kontrol
yang
terpasang pada bagian form. PictureBox
Menampilkan file gambar.
Label
Menampilkan label atau teks tambahan.
TextBox
Menambahkan kotak teks.
21
Tabel 2.3 Toolbox (lanjutan) Tombol
Nama Frame
Fungsi Menambahkan kontrol yang dapat diisi dengan
kontrol
OptionButton
atau
CheckBox. CommandButton
Menambahkan kontrol tombol perintah.
CheckBox
Menambahkan kontrol kotak periksa.
OptionButton
Menambahkan kontrol tombol pilihan.
ComboBox
Menambahkan kontrol kotak combo yang merupakan kontrol gabungan antara textBox dan ListBox.
ListBox
Menambahkan kontrol daftar pilihan.
HscrollBar
Menambahkan
kontrol
batang
penggulung horisontal. VscrollBar
Menambahkan
kontrol
batang
penggulung vertikal. Timer
Menambahkan kontrol sebagai kontrol pencacah waktu.
DriveListBox
Menambahkan kontrol daftar disk drive pada komputer.
DirListBox
Menambahkan kontrol daftar direktori pada drive aktif.
FileListBox
Menambahkan kontrol daftar file pada direktori aktif.
Shape
Menambahkan kontrol gambar berupa lingkaran, oval, persegi panjang, bujur sangkar, dan lain-lain.
Line
Menambahkan kontrol gambar garis lurus.
Image
Menambahkan
file
gambar
dengan
pilihan properti yang lebih sedikit dibandingkan kontrol PictureBox.
22
Tabel 2.3 Toolbox (lanjutan) Tombol
Nama Data
Fungsi Menambahkan kontrol yang berupa database.
OLE
Menambahkan
kontrol
yang
behubungan dengan proses relasi antara program aplikasi.
5.
Project Project merupakan suatu kumpulan module atau merupakan program aplikasi itu sendiri. Dalam Visual Basic, file project disimpan dengan nama file berakhiran .VBR, yang mana file ini berfungsi untuk menyimpan seluruh komponen program.
6.
Properties Window Properties Window adalah sebuah jendela yang digunakan untuk menampung nama properti dari kontrol yang terpilih. Pengaturan properti pada program Visual Basic merupakan hal yang sangat penting untuk membedakan objek yang satu dengan yang lainnya.
7.
Form Layout Window Form Layout Window merupakan sebuah jendela yang digunakan untuk mengatur posisi dari form pada form saat program dijalankan.
8.
Immediate Window Immediate Window merupakan sebuah jendela yang digunakan untuk mencoba beberapa perintah dengan mengetikkan baris program dan dapat melihat langsung hasilnya.
9.
Form Window Form Window merupakan jendela desain dari sebuah program aplikasi dengan menempatkan kontrol-kontrol yang ada dibagian Toolbox pada area form.
23
10. Code Window Code Window merupakan sebuah jendela yang digunakan untuk menuliskan kode program dari kontrol yang dipasang pada jendela form dengan cara memilih terlebih dahulu kontrol tersebut pada kotak objek.
11. Event Event merupakan suatu kejadian yang akan diterima oleh suatu objek. Event yang diterima oleh suatu objek berfungsi untuk menjalankan kode program yang ada di dalam objek tersebut. Contoh: Private Sub Command1_Click Baris kode program di atas menunjukkan penggunaan event Click pada objek Command1, yang mempunyai arti apabila objek Command1 diklik maka kode program yang terletak di bawah baris kode program tersebut akan dijalankan.
12. Method Method adalah suatu kumpulan perintah yang memiliki kegunaan yang hampir sama dengan suatu fungsi atau prosedur, tetapi perintah-perintah tersebut sudah disediakan dalam suatu objek. Suatu method dapat dipanggil dengan cara menyebutkan nama objek dan diikuti dengan tanda titik dan nama metodenya. Method umumnya digunakan untuk menjalankan perintah khusus pada suatu objek tertentu.
13. Module Module hampir sama fungsinya dengan form, tetapi module tidak berisi objek dan bentuk standar. Modul berisi kode program atau prosedur yang dapat digunakan oleh program aplikasi.
2.2.3
Stack dalam Visual Basic 6.0
Operasi-operasi dasar pada stack seperti create stack, push stack, pop stack yang diaplikasikan dalam Visual Basic 6.0 dapat dilihat dari contoh program
24
sederhana di bawah ini:
Gambar 2.6 Form operasi dasar pada stack
'Kamus data stack Dim S(4) As String Dim Atas As Integer Private Sub Command1_Click() 'Create stack Atas = 0 End Sub Private Sub Command2_Click() 'Push stack If Atas = 4 Then MsgBox ("Stack Overflow") Else Atas = Atas + 1 S(Atas) = InputBox("Push Stack", "Nilai?", "a") End If End Sub Private Sub Command3_Click() 'Pop stack If Atas = 0 Then MsgBox ("Stack Underflow")
25
Else X = S(Atas) S(Atas) = "" Atas = Atas - 1 End If End Sub Private Sub Command4_Click() 'Lihat top MsgBox ("Posisi Topnya = " & Str(Atas)) End Sub Private Sub Command5_Click() Text1.Text = S(1) Text2.Text = S(2) Text3.Text = S(3) Text4.Text = S(4) Text5.Text = Atas End Sub
2.3
UML
2.3.1
Pengenalan UML
UML singkatan dari Unified Modeling Language yang berarti bahasa pemodelan standar. UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung. UML hanya berfungsi untuk melakukan pemodelan, jadi penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataanya UML paling banyak digunakan pada metodologi berorientasi objek.
Ketika kita membuat model menggunakan konsep UML ada aturan-aturan yang harus diikuti. Bagaimana elemen pada model-model yang kita buat berhubungan satu dengan yang lainnya harus mengikuti standar yang ada. Para pengembang sistem berorientasi objek menggunakan bahasa model untuk menggambarkan, membangun dan mendokumentasikan sistem yang mereka rancang.
26
Menurut Rosa A.S dan M. Shalahuddin (2011: 118) banyak hal di dunia sistem informasi yang tidak dapat dibakukan, semua tergantung kebutuhan, lingkungan, dan konteksnya. Begitu juga dengan perkembangan penggunaan UML bergantung pada level abstraksi penggunanya. Jadi, belum tentu pandangan yang berbeda dalam penggunaan UML adalah suatu yang salah, tapi perlu ditelaah dimanakah UML digunakan dan hal apa yang ingin divisualkan. Sistem informasi bukanlah ilmu pasti, maka jika ada banyak perbedaan dan interpretasi di dalam bidang system informasi merupakan hal yang sangat wajar.
2.3.2
Diagram UML
Menurut Adi Nugroho (2005 : 30) setiap sistem yang kompleks seharusnya bisa dipandang dari sudut yang berbeda-beda sehingga kita bisa mendapatkan pemahaman secara menyeluruh. Untuk upaya tersebut UML menyediakan 9 jenis diagram yang dapat dikelompokkan berdasarkan sifatnya statis atau dinamis, diagram tersebut adalah:
1. Diagram Kelas Bersifat statis, diagram ini memperlihatkan himpunan kelas-kelas, antarmukaantarmuka, kolaborasi-kolaborasi, serta relasi-relasi. Diagram ini umumnya dijumpai pada pemodelan sistem berorientasi objek. Meskipun bersifat statis, sering pula diagram kelas memuat kelas-kelas aktif.
2. Diagram Objek Bersifat statis, diagram ini memperlihatkan objek-objek serta relasi antar objek. Diagram objek memperlihatkan instansiasi statis dari segala sesuatu yang dijumpai pada diagram kelas.
3. Use Case Diagram Bersifat statis, diagram ini memperlihatkan himpunan use case dan aktor-aktor (suatu jenis khusus dari kelas). Diagram ini sangat penting untuk
27
mengorganisasi dan memodelkan perilaku dari suatu sistem yang dibutuhkan serta diharapkan pengguna.
4. Sequence Diagram Bersifat dinamis, diagram ini adalah diagram interaksi yang menekankan pada pengiriman pesan dalam suatu waktu tertentu.
5. Collaboration Diagram Bersifat dinamis, diagram kolaborasi adalah diagram interaksi yang menekankan organisasi struktural dari objek-objek yang menerima serta mengirim pesan.
6. Statechart Diagram Bersifat dinamis, diagram ini memperlihatkan state-state pada sistem, memuat state, transisi, event, serta aktifitas. Diagram ini penting untuk memperlihatkan sifat dinamis dari antarmuka, kelas, kolaborasi dan penting pada pemodelan sistem-sistem yang reaktif.
7. Activity Diagram Bersifat dinamis, diagram ini adalah tipe khusus dari diagram state yang memperlihatkan aliran dari suatu aktifitas lainnya dalam suatu sistem. Diagram ini penting dalam pemodelan fungsi-fungsi dalam suatu sistem dan memberikan tekanan pada aliran kendali antar objek.
8. Component Diagram Bersifat statis, diagram ini memperlihatkan organisasi serta kebergantungan pada komponen-komponen yang telah ada sebelumnya. Diagram ini berhubungan dengan diagram kelas dimana komponen secara tipikal dipetakan ke dalam satu atau lebih kelas-kelas, antarmuka-antarmuka, serta kolaborasikolaborasi.
28
9. Deployment Diagram Bersifat statis, diagram ini memperlihatkan konfigurasi saat aplikasi dijalankan. Diagram ini memuat simpul-simpul (node) beserta komponenkomponen yang ada di dalamnya. Deployment diagram berhubungan erat dengan diagram komponen yang mana 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). Sembilan diagram di atas tidak mutlak harus digunakan semuanya, disesuaikan dengan kebutuhan dan juga pada UML memungkinkan kita menggunakan diagram-diagram lain sejauh itu memang diperlukan untuk mendapatkan pemahaman mendalam tentang suatu sistem atau perangkat lunak.