Gambar 2.1 Ilustrasi Stack

dokumen-dokumen yang mirip
BAB 2 LANDASAN TEORI

PENGENALAN VISUAL BASIC 6.0

DASAR PEMROGRAMAN VISUAL BASIC

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI. Komputer berasal dari bahasa Latin computare yang artinya menghitung. Jadi

BAB 2 LANDASAN TEORI

Bab I Pengenalan Visual BASIC

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI. Istilah komputer (computer) berasal dari bahasa latin computere yang berarti

Malang, Januari 2007 Penulis

BAB 2 LANDASAN TEORI. Istilah komputer (computer) berasal dari bahasa Latin Computare yang berarti

Pemrograman Visual Modul I Perkenalan Lembar Kerja VB 6.0. S. Thya Safitri

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI. Istilah komputer ( computer ) berasal dari bahasa latin computere yang berarti

BAB 2 LANDASAN TEORI. adalah perintah yang dimengerti oleh komputer untuk melakukan tugas-tugas tertentu.

BAB 2 TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

1. MENGENAL VISUAL BASIC

BAB II LANDASAN TEORI. komputer. Bahasa komputer berasal dari bahasa asing yaitu To Compute, yang artinya

BAB 2 LANDASAN TEORI

Pengenalan Visual Basic

DASAR MENGGUNAKAN VISUAL BASIC 6.0

BAB 2 TINJAUAN TEORITIS. Sistem berasal dari bahasa Yunani yaitu Systema, yang artinya sekumpulan objek

BAB 2 LANDASAN TEORI

Pendidikan Teknik Informatika Universitas Negeri Malang

Pengantar Pemrograman Visual

Modul Praktikum Ke-1

BAB II LANDASAN TEORI

MODUL PRAKTIKUM 1 DASAR VISUAL BASIC 6.0

BAB I Pengenalan Microsoft Visual Basic 6.0

MENGENAL VISUAL BASIC

BAB 2 LANDASAN TEORI. pengumpulan data Tugas Akhir di SMA N 5 Medan. disebut dengan informasi. (Bambang Wahyudi,2003)

Visual Basic 6.0 For Beginners

BAB 2 TINJAUAN TEORITIS

2. TINJAUAN PUSTAKA. Microsoft Visual Basic 6.0 memiliki banyak keistimewaan dalam penggunaannya yaitu :

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI. Kata komputer berasal dari bahasa Inggris, to compute yang berarti menghitung.

Pengenalan Visual Basic

Pertemuan 10. Tumpukan (Stack) Dipersiapkan oleh : Boldson Herdianto. S., S.Kom., MMSI.

PEMROGRAMAN KOMPUTER KODE MODUL: TIN 202 MODUL IV PENGENALAN MICROSOFT VISUAL BASIC 6.0

BAB 2 LANDASAN TEORI. Data adalah fakta atau bagian dari fakta yang digambarkan dengan simbol-simbol,

Mengerti dan memahami pemrograman berbasis object Mengerti dan memahami pembuatan visualisasi untuk interface

MODUL I PENDAHULUAN. Modul I : Pengenalan Visual Basic 1

Pertemuan 1 Pengenalan Visual Basic

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI. Perangkat lunak adalah Perintah ( program computer ) yang bila di eksekusi

VISUAL BASIC 6.0 PEMROGRAMAN KOMPUTER. Visual Basic

KUPAS TUNTAS PEMROGRAMAN VISUAL BASIC 6.0. Dilengkapi penjelasan Coding. Oleh: Didin Muhidin. Copyright 2016 by DiesAlfatih.

BAB 2 LANDASAN TEORI. Inggris yang berasal dari bahasa Yunani datum yang berarti fakta. Bentuk jamak dari

Konsep dasar pemrograman visual. Chapter 01

BAB 2 LANDASAN TEORI. Kata komputer berasal dari bahasa Inggris, to compute yang berarti menghitung.

STACK (Tumpukan) Tumpukan Koin. Tumpukan Kotak

BAB 2 TINJAUAN TEORITIS. Kata komputer berasal dari bahasa latin yatu computare yang artinya menghitung, dalam bahasa

BAB 2 LANDASAN TEORI. Sistem informasi terdiri dari dua kata, yaitu Sistem dan Informasi. Sistem yaitu

BAB 2 LANDASAN TEORI. Pada umumnya komputer berasal dari bahasa inggris yaitu compute Yang artinya

Danu Wira Pangestu

Pemrograman dengan C++ Builder 2004 Taryana S Pendahuluan C++ Builder adalah sebuah aplikasi yang digunakan untuk pengembangan dengan

MENGELOLA FILE. - Untuk menampilkan file, perlu membuka direktori penyimpanannya.

BAB II TINJAUAN PUSTAKA

Pemrograman Visual (Borland Delphi 7.0)

BAB II LANDASAN TEORI

Sesi/Perkuliahan ke: XII

A. Memulai dan Struktur Visual Basic

BAB 2 LANDASAN TEORI. Data adalah kata majemuk dari datum. Data dapat diartikan sebagai berikut: Agus Eko-164 A/2

Pemrograman Visual Basic

MODUL I Pengenalan IDE Visual Basic 6.0

BAB 2 LANDASAN TEORI

E-Trick Visual Basic 6.0

MODUL 1 PENGENALAN VISUAL BASIC 6.0

PEMROGRAMAN DASAR. Visual Basic 6

MODUL I PENGENALAN VISUAL BASIC 6.0. Visual Basic adalah sebuah program yang berfungsi untuk membuat aplikasi berbasis

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB I PENDAHULUAN. orang yang tepat pada pekerjaan yang tepat sejak permulaannya.

BAB 2 LANDASAN TEORI. Komputer merupakan salah satu teknologi yang diciptakan sebagai alat bantu manusia

BAB 2 LANDASAN TEORI. telah dirumuskan secara sistematis. Istiah komputer berasal dari bahasa latin

BAB II LANDASAN TEORI

Gambar 2.1. Komponen yang digunakan. Gunakan komponen-komponen seperti pada gambar 2.1 untuk membuat form pada gambar 2.2.

Gambar Use Case Diagram

BAB 2 LANDASAN TEORI. Inggris yang berasal dari bahasa Yunani datum yang berarti fakta. Bentuk jamak dari

BAB II LANDASAN TEORI. Berikut ini beberapa pengertian tentang komputer : alat elekteronik yang mampu melakukan beberapa tugas yaitu:

BAB 2 LANDASAN TEORI. Istilah komputer (computer) diambil dari bahasa latin yaitu Computare yang berarti

BAB II TINJAUAN PUSTAKA

PRAKTIKUM 1 INPUT - OUTPUT

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI. Istilah komputer berasal dari bahasa latin Computer yang berarti menghitung (to

BAB 2 DASAR TEORI. Aplikasi berasal dari kata application yang artinya penerapan ; lamaran ;

VISUAL BASIC. Standar Kompetensi: Siswa mampu membuat program sederhana dengan menggunakan bahasa pemrograman Visual Basic 6.0

dengan sistem lainnya. Batas sistem inilah yang membuat sistem dipandang Segala sesuatu yang berada di luar sistem yang mempengaruhi sistem.

BAB I Pengenalan Visual Basic pada Pemrograman Akuntansi 1

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 4 & 5

BAB 2 LANDASAN TEORI. Perangkat lunak adalah perintah ( program komputer ) yang bila dieksekusi

VISUAL BASIC.NET. 1. Apa Itu VB.NET?

BAB 2 LANDASAN TEORI

BAB I SEKILAS VISUAL STUDIO.NET 2008

PENDAHULUAN. Ada beberapa hal yang menjadi alasan mengapa bahasa pemrograman Visual Basic banyak dipilih orang, antara lain :

Transkripsi:

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 Operasi Isi Tumpukan Nilai Top 1 CREATESTACK(S) :<kosong> 0 2 PUSH( a,s) : a 1 3 PUSH( b,s) : a b 2 4 PUSH( c,s) : a b c 3 5 POP(S) : a b 2 6 PUSH( d,s) : a b d 3 7 PUSH( e,s) : a b d e 4 8 POP(S) : a b d 3 9 POP(S) : a b 2 10 POP(S) : a 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 Fungsi Add Project Menambahkan project baru dengan pilihan: Standard EXE ActiveX EXE ActiveX DLL ActiveX Control. Add Form Menambahkan item dengan pilihan: Form MDI Form Module Class Module User Control Property Page User Document Add File. Menu Editor Open Project Menambahkan kotak dialog menu editor. Membuka project yang sudah pernah dibuat sebelumnya. Save Project Group Cut Menyimpan project. 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 Fungsi Undo 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 Form Layout Window Object Browser Toolbox Menampilkan jendela properties. Menampilkan jendela form layout. Menampilkan jendela object browser. 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 Fungsi Pointer Memilih, mengatur ukuran dan memindahkan posisi kontrol yang terpasang pada bagian form. PictureBox Label TextBox Menampilkan file gambar. Menampilkan label atau teks tambahan. Menambahkan kotak teks.

21 Tabel 2.3 Toolbox (lanjutan) Tombol Nama Fungsi Frame Menambahkan kontrol yang dapat diisi CommandButton CheckBox OptionButton ComboBox ListBox dengan kontrol OptionButton atau CheckBox. Menambahkan kontrol tombol perintah. Menambahkan kontrol kotak periksa. Menambahkan kontrol tombol pilihan. Menambahkan kontrol kotak combo yang merupakan kontrol gabungan antara textbox dan ListBox. Menambahkan kontrol daftar pilihan. HscrollBar Menambahkan kontrol batang penggulung horisontal. VscrollBar Menambahkan kontrol batang Timer DriveListBox DirListBox FileListBox Shape Line penggulung vertikal. Menambahkan kontrol sebagai kontrol pencacah waktu. Menambahkan kontrol daftar disk drive pada komputer. Menambahkan kontrol daftar direktori pada drive aktif. Menambahkan kontrol daftar file pada direktori aktif. Menambahkan kontrol gambar berupa lingkaran, oval, persegi panjang, bujur sangkar, dan lain-lain. 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 Fungsi Data 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.