Monday, January 2, 2017

Bab 10. Soal & Penyelesaian Visual Basic .NET


Aplikasi Web





Kasus 115: Jenis-Jenis Website
Dalam Visual Studia, Anda bisa memilih Open Web Site dari menu File ketika Anda ingin membuka sebuah aplikasi web yang telah ada. Beberapa jenis website yang tersedia pada kotak dialog Open Web Site adalah File System, Local IIS, dan FTP Site, dan Remote Site. Aplikasi ASP.NET juga dikenal sebagai aplikasi Web. Perhatikan gambar berikut.





Web site jenis File System berjalan secara langsung dalam lingkungan ASP.NET Development Server dengan Visual Studio. File-file aplikasi dapat disimpan pada sembarang direktori yang dipilih, atau pada komputer jaringan. Server ini sederhana digunakan dan tidak berpotensi terhadap bahaya serangan keamanan. Jenis Web site ini cocok untuk lingkungan laboratorium jurusan. Pada buku ini, akan digunakan jenis Web site File System.

Web site jenis Local IIS berjalan pada utilitas sistem operasi Windows dengan nama Internet Information System (IIS). Jenis Web site ini merupakan server dengan kualitas profesional dengan banyak fitur konfigurasi dan keamanan yang tangguh. Jenis Web site ini memerlukan keahlian dalam mengkonfigurasi dan melakukan pemeliharaan. IIS mensyaratkan Anda untuk memiliki hak administratif atas komputer untuk melakukan pengujian dan pendebugan terhadap aplikasi-aplikasi Web.

Jenis Web site FTP Site merupakan sebuah situs web yang berlokasi pada mesin yang berbeda, biasanya pada Internet. Jika Anda ingin memiliki akun Internet hosting, misalnya, Anda akan diberikan ruang data, alamat Web, nama pengguna, dan katakunci (password). Anda akan menggunakan informasi tersebut untuk menyalin situs web Anda dari komputer lokal ke akun remote hosting. FTP merupakan singkatan dari File Transfer Protocol, yaitu suatu mekanisme dalam menyalin file-file dari suatu komputer ke komputer lain.

Jenis Web site Remote Site juga merupakan situs web yang beralamat pada mesin yang berbeda dengan koneksi jaringan. Situs Web ini harus dikonfigurasi dengan Microsoft FrontPage Extensions. Banyak penyedia layanan internet menyediakan opsi ini. Ketika Microsoft FrontPage Extensions tersedia, Anda akan dengan mudah memperbarui remote site secara langsung dari Visual Studio.


Kasus 116: Menciptakan Sebuah Aplikasi Web
 Dalam Visual Studio, Anda bisa membuat aplikasi Web baru dengan memilih New Web Site dari menu File. Kotak dialog New Web Site akan tampil untuk menyediakan beberapa jenis Web Site, seperti ditunjukkan pada gambar berikut. Pada buku ini, Anda akan memilih item  ASP.NET Empty Web Site ketika membuat aplikasi Web yang baru.





Untuk Web location, pilihan Anda adalah File System, HTTP, dan FTP. Jika Anda memilih File System, maka aplikasi Web Anda ditempatkan pada sembarang folder pada komputer Anda atau pada jaringan. Jika Anda memilih HTTP, maka aplikasi Web Anda akan ditempatkan pada sebuah situs Web yang ditetapkan oleh Internet Information Services (IIS). Jika Anda memilih FTP, maka Anda seharusnya telah memiliki situs Web pada remote computer.

Jika Anda menciptakan situs Web jenis File System, maka kotak edit di sebelah kanan Web location meminta Anda untuk memilih nama folder untuk projek Anda.

Ketika ASP.NET Empty Web Site dipilih,  projek tersebut hanya memuat satu file, dengan nama Web.config. File tersebut memuat data konfigurasi yang diperlukan untuk sebuah situs Web. Gambar berikut menunjukkan Solution Explorer setelah Anda menciptakan situs Web dengan nama Klik. Pada gambar tersebut, Anda dapat melihat item file Web.config.



Begitu Anda menciptakan sebuah situs Web kosong, Anda perlu menambahkan sebuah Web Form bernama Default.aspx pada projek, seperti ditampilkan pada gambar berikut. Ini merupakan halaman Web yang akan ditampilkan ketika Anda menjalankan aplikasi Web.





Ketika Anda menambahkan Default.aspx pada projek, file lain dengan nama Default.aspx.vb secara otomatis akan diciptakan. Ini merupakan file kode yang diciptakan oleh Visual Basic untuk event handler dan program logic. Gambar berikut menunjukkan jendela Solution Explorer yang memuat file Default.aspx, file Default.aspx.vb, dan file Web.config.



Formatting toolbar pada Visual Studio, seperti ditunjukkan pada gambar berikut, berguna ketika menuliskan teks pada halaman Web. Jika Anda tidak melihat Formatting toolbar, Anda perlu mengklik menu View, dan kemudian memilih Toolbars, dan memilih Formatting.




Ketika menjalankan aplikasi Web pada Visual Studio, penjelajah Web default akan dipilih untuk Anda. Untuk melihat daftar penjelajah Web yang tersedia, Anda bisa mengklik-kanan jendela Solution Explorer dan memilih Browser With... dari menu, seperti ditunjukkan pada gambar berikut.




Untuk menjalankan sebuah projek aplikasi Web, Anda memiliki dua opsi:
·         Start without debugging: Anda menekan Ctrl + F5 untuk menjalankan aplikasi Web tanpa menggunakan perangkat debugging seperti single-stepping, stepping into, stepping over, dan lainnya. Ini merupakan cara dimana Anda menjalankan projek-projek aplikasi Web pada buku ini.
·    Start with debugging: Anda menekan F5 untuk menjalankan aplikasi Web dengan kemampuan menggunakan perangkat debugging. Ketika Anda melakukannya, Anda akan melihat jendela seperti tertampil pada gambar berikut. Sebelum Anda dapat menggunakan perangkat-perangkat debugging pada suatu aplikasi Web, Visual Studio perlu memodifikasi file Web.config pada aplikasi. Untuk menjalankan aplikasi Web dengan perangkat debugging, Anda bisa memilih Modify the Web.config file to enable debugging.





Static text merupakan teks yang Anda ketikkan secara langsung pada sebuah form. Web Forms berperilaku seperti dokumen Microsoft Word. Pada Windows forms, label diperlukan untuk semua teks yang akan ditampilkan pada form; tetapi pada Web forms, label tidak diperlukan. Pada gambar berikut, misalnya, diketikkan secara langsung tiga baris teks pada sebuah Web Form pada mode Split view.





Kasus 117: Menciptakan Aplikasi Klik
Pada kasus sebelumnya ditunjukkan Visual Studio dengan Web form Default.aspx pada mode Source view. Di sisi bawah jendela editor, Anda dapat melihat tiga tab bernama Design, Split, dan Source. Tab Design menampilkan Web form sama seperti ketika dijalankan pada sebuah Web browser. Jika Anda memilih tab Split, maka akan ditampilkan kode XHTML pada satu jendela dan Design view pada jendela lain. Jika Anda memilih tab Source, maka Anda hanya akan melihat kode XHTML. Perhatikan gambar berikut.




Selanjutnya, Anda akan memberikan judul yang akan ditampilkan pada batang judul dari Web browser ketika aplikasi dijalankan. Dengan mengklik Design view, klik di dalam halaman Web, dan memilih DOCUMENT pada jendela Properties, dan kemudian menetapkan properti Title menjadi Aplikasi Klik, seperti ditunjukkan pada gambar berikut.



Anda bisa mengklik di dalam kotak biru langit yang muncul pada Design view. Kemudian, Anda memilih Toolbars dari menu View, dan memilih Formatting. Klik pada Block Format dan Anda memilih Heading 1 <H1>. Ini akan menyebabkan tag dengan label h1 muncul di pojok kiri-atas kotak biru tersebut, seperti ditunjukkan pada gambar berikut.




Selanjutnya, Anda mengklik mouse di dalam kotak dengan label h1 dan mengetikkan Ini Adalah Aplikasi Klik. Anda kemudian menekan ENTER untuk berpindah ke baris selanjutnya, seperti ditunjukkan pada gambar berikut.




Kemudian, Anda mengklik-ganda ikon kontrol Button pada jendela Toolbox untuk menciptakan sebuah kontrol Button pada form Anda. Pada jendela Properties, Anda menetapkan properti Text menjadi Klik Di Sini dan menetapkan properti ID-nya menjadi tombolKlik, seperti ditampilkan pada gambar berikut.




Kemudian Anda memindahkan mouse ke sisi kanan tombol dan menekan ENTER untuk berpindah ke baris berikutnya. Anda mengklik-ganda kontrol Label pada baris tersebut. Anda kemudian menetapkan properti ID menjadi labelPesan dan menghapus properti Textnya, seperti ditunjukkan pada gambar berikut.





Kemudian, Anda akan menambahkan kode pada Click event handler pada tombol yang menugaskan sebuah string pada label. Anda mengklik-ganda kontrol Button dan menambahkan statemen berikut pada event handlernya:

Protected Sub tombolKlik_Click(sender As Object, e As EventArgs)
Handles tombolKlik.Click
        labelPesan.Text = "Terimakasih telah mengklik tombol ini!"
    End Sub

Anda menyimpan projen, dan menjalankan aplikasi dengan menekan Ctrl + F5. Ketika Web browser membuka aplikasi Anda, Anda mengklik tombol Klik Di Sini. Sebuah pesan akan muncul di bawah tombol, seperti ditunjukkan pada gambar berikut. Pada buku ini digunkan Web browser Mozilla Firefox.




Kasus 118: Demo Beberapa Web Control

Protected Sub tombolKonfirmasi_Click(sender As Object, e As EventArgs)
    Handles tombolKonfirmasi.Click
        labelPesan.Text = "Terimakasih telah mendaftar " &
            "untuk piknik, Sdr. " & teksNamaDepan.Text &
            " " & teksNamaBelakang.Text & "."

        If CBVegetarian.Checked = True Then
            labelPesan.Text &= " Anda akan menerima menu " &
            "makanan Vegetarian."
        End If
    End Sub





Kasus 119: Demo ListBox Web Control

Protected Sub tombolKonfirmasi_Click(sender As Object, e As EventArgs)
Handles tombolKonfirmasi.Click
        Dim item As ListItem

        For Each item In kotakListKopi.Items
            If item.Selected Then
                labelPesan.Text = "Anda memilih " & kotakListKopi.SelectedValue
            End If
        Next
    End Sub





Kasus 120: Mendesain Web Form dengan Tabel

Tabel HTML merupakan perangkat penting untuk mendesain tata-letak Web form. Anda dapat menggunakannya untuk menyejajarkan teks, grafik, dan kontrol dalam baris dan kolom.

Ada dua cara menyisipkan sebuah tabel ketika Design view pada sebuah form sedang aktif.
  • Anda memilih Insert Table dari menu Table. Ketika Anda melakukannya, kotak dialog Insert Table akan muncul, sehingga Anda dapat menetapkan pelbagai opsi tata-letak, seperti ditampilkan pada gambar berikut.

  • Anda memilih kontrol Table dari bagian HTML pada jendela Toolbox. Sebuah tabel 3 x 3 akan ditempatkan pada form, yang dapat Anda atur dengan menggeret tepi-tepi tabel tersebut, seperti ditunjukkan pada gambar berikut.






Gambar berikut merupakan salah satu tampilan tabel jika dijalankan pada Web browser.




Kasus 121: Mendesain Web Biro Perjalanan Sederhana



Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub tombolKonfirmasi_Click(sender As Object, e As EventArgs)
    Handles tombolKonfirmasi.Click
        ' Prosedur ini menciptakan sebuah daftar yang memuat nama tur,
        ' jenis transportasi, dan perlengkapan tambahan. Prosedur ini menambahkan
        ' daftar tersebut pada kotakListKesimpulan.

        ' Membersihkan kotakListKesimpulan
        kotakListKesimpulan.Items.Clear()
        labelPesan.Text = ""

        ' Jika pengguna memilih sebuah tur dari kontrol
        ' DropDownList, maka nama tur akan ditambahkan pada
        ' kotakListKesimpulan. Tetapi jika tidak ada item yang
        ' diseleksi, maka akan ditampilkan pesan error.
        If DDLTur.SelectedIndex = 0 Then
            labelPesan.Text = "Silahkan pilih sebuah tur"
            Return
        Else
            kotakListKesimpulan.Items.Add("Tur = " & DDLTur.Text)
        End If

        ' Jika pengguna memilih jenis transportasi dari ListBox,
        ' maka ia akan ditambahkan pada kotak list kesimpulan.
        ' Tetapi jika tidak ada item yang
        ' diseleksi, maka akan ditampilkan pesan error.
        If kotakListTransportasi.SelectedIndex = -1 Then
            labelPesan.Text = "Silahkan pilih moda transportasi"
            Return
        Else
            kotakListKesimpulan.Items.Add("Moda Transportasi = " &
            kotakListTransportasi.SelectedItem.ToString())
        End If

        ' Loop melalui item-item pada kontrol CheckBoxList perlengkapan.
        ' Untuk tiap item terseleksi, deskripsinya akan ditambahkan pada
        ' kotak list kesimpulan.
        For Each item As ListItem In CBPerlengkapan.Items
            If item.Selected Then
                kotakListKesimpulan.Items.Add(item.Text)
            End If
        Next
    End Sub

    Protected Sub tombolBatal_Click(sender As Object, e As EventArgs)
    Handles tombolBatal.Click
        DDLTur.SelectedIndex = 0
        kotakListTransportasi.SelectedIndex = -1
        labelPesan.Text = String.Empty

        ' Membersihkan CheckBoxList
        Dim item As ListItem
        For Each item In CBPerlengkapan.Items
            item.Selected = False
        Next

        kotakListKesimpulan.Items.Clear()
    End Sub
End Class





Kasus 122: Mendesain Web Uji Keprimaan
Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub tombolUjiPrima_Click(sender As Object, e As EventArgs)
    Handles tombolUjiPrima.Click
        Dim bitSet As New BitArray(50000)
        Dim nilai As Integer = Int32.Parse(teksAngka.Text)
        UjiPrimaSieve(bitSet)

        If (bitSet.Get(nilai)) Then
            teksPesan.Text = nilai & " adalah sebuah angka prima"
        Else
            teksPesan.Text = nilai & " bukan angka prima"
        End If
    End Sub

    Private Sub UjiPrimaSieve(ByRef bits As BitArray)
        Dim i, j As Integer
        Dim prima As String

        For i = 0 To bits.Count - 1
            bits.Set(i, CBool(1))
        Next

        Dim bitTerakhir As Integer = CInt(Math.Sqrt(bits.Count))
        For i = 2 To bitTerakhir - 1
            If (bits.Get(i)) Then
                For j = 2 * i To bits.Count - 1 Step i
                    bits.Set(j, CBool(0))
                Next
            End If
        Next

        Dim kounter As Integer = 0

        For i = 1 To bits.Count - 1
            If (bits.Get(i)) Then
                prima &= CStr(i)
                kounter += 1
                If (kounter Mod 7 = 0) Then
                    prima &= Constants.vbCrLf
                Else
                    prima &= Constants.vbTab
                End If
            End If
        Next
    End Sub
End Class



Kasus 123: Mendesain Web Penggeseran Bit


Partial Class _Default
    Inherits System.Web.UI.Page

    Private Function KonversiBit(ByVal nilai As Integer) As StringBuilder
        Dim bitMask As Integer = 1 << 31
        Dim bitBuffer As New StringBuilder(35)
        Dim indeks As Integer

        For indeks = 1 To 32
            If (nilai And bitMask) = 0 Then
                bitBuffer.Append("0")
            Else
                bitBuffer.Append("1")
            End If
            nilai <<= 1
            If (indeks Mod 8 = 0) Then
                bitBuffer.Append(" ")
            End If
        Next
        Return bitBuffer
    End Function

    Protected Sub tombolGeserKiri_Click(sender As Object, e As EventArgs)
    Handles tombolGeserKiri.Click
        Dim nilai As Integer
        nilai = Int32.Parse(teksInteger.Text)
        teksBitAsli.Text = KonversiBit(nilai).ToString
        nilai <<= Int32.Parse(teksJumlahBit.Text)
        teksBitHasil.Text = KonversiBit(nilai).ToString
    End Sub

    Protected Sub tombolGeserKanan_Click(sender As Object, e As EventArgs)
    Handles tombolGeserKanan.Click
        Dim nilai As Integer
        nilai = Int32.Parse(teksInteger.Text)
        teksBitAsli.Text = KonversiBit(nilai).ToString
        nilai >>= Int32.Parse(teksJumlahBit.Text)
        teksBitHasil.Text = KonversiBit(nilai).ToString
    End Sub

    Protected Sub tombolBersih_Click(sender As Object, e As EventArgs)
    Handles tombolBersih.Click
        teksInteger.Text = ""
        teksJumlahBit.Text = ""
        teksBitAsli.Text = ""
        teksBitHasil.Text = ""

        'memberikan fokus pada kotak teks teksInteger
        teksInteger.Focus()
    End Sub
End Class




Kasus 124: Mendesain Web Operasi-Operasi Bit


Partial Class _Default
    Inherits System.Web.UI.Page

    Private Function KonversiBit(ByVal nilai As Integer) As StringBuilder
        Dim bitMask As Integer = 1 << 31
        Dim bitBuffer As New StringBuilder(35)
        Dim indeks As Integer

        For indeks = 1 To 32
            If (nilai And bitMask) = 0 Then
                bitBuffer.Append("0")
            Else
                bitBuffer.Append("1")

            End If
            nilai <<= 1
            If (indeks Mod 8 = 0) Then
                bitBuffer.Append(" ")
            End If
        Next
        Return bitBuffer
    End Function

    Protected Sub tombolAND_Click(sender As Object, e As EventArgs)
    Handles tombolAND.Click
        Dim nilai1, nilai2 As Integer
        nilai1 = Int32.Parse(teksInteger1.Text)
        nilai2 = Int32.Parse(teksInteger2.Text)
        teksBit1.Text = KonversiBit(nilai1).ToString
        teksBit2.Text = KonversiBit(nilai2).ToString
        teksBitHasil.Text = KonversiBit(nilai1 And nilai2).ToString
    End Sub

    Protected Sub tombolOR_Click(sender As Object, e As EventArgs)
    Handles tombolOR.Click
        Dim nilai1, nilai2 As Integer
        nilai1 = Int32.Parse(teksInteger1.Text)
        nilai2 = Int32.Parse(teksInteger2.Text)
        teksBit1.Text = KonversiBit(nilai1).ToString
        teksBit2.Text = KonversiBit(nilai2).ToString
        teksBitHasil.Text = KonversiBit(nilai1 Or nilai2).ToString
    End Sub

    Protected Sub tombolXOR_Click(sender As Object, e As EventArgs)
    Handles tombolXOR.Click
        Dim nilai1, nilai2 As Integer
        nilai1 = Int32.Parse(teksInteger1.Text)
        nilai2 = Int32.Parse(teksInteger2.Text)
        teksBit1.Text = KonversiBit(nilai1).ToString
        teksBit2.Text = KonversiBit(nilai2).ToString
        teksBitHasil.Text = KonversiBit(nilai1 Xor nilai2).ToString
    End Sub

    Protected Sub tombolBersih_Click(sender As Object, e As EventArgs)
    Handles tombolBersih.Click
        teksInteger1.Text = ""
        teksInteger2.Text = ""
        teksBit1.Text = ""
        teksBit2.Text = ""
        teksBitHasil.Text = ""

        'Memberikan fokus pada kotak teks teksInteger1
        teksInteger1.Focus()
    End Sub
End Class




Kasus 125: Mendesain Web Aplikasi Data Mahasiswa

Imports Microsoft.VisualBasic

Public Class Mahasiswa
    ' Variabel-variabel anggota
    Private strNamaBelakang As String ' Memuat nama belakang
    Private strNamaDepan As String ' Memuat nama depan
    Private strNIM As String ' Memuat NIM
    Private dblRerataUjian As Double ' Memuat rerata ujian

    ' Konstruktor
    Public Sub New()
        strNamaDepan = "(tidak diketahui)"
        strNamaBelakang = "(tidak diketahui)"
        strNIM = "(tidak diketahui)"
        dblRerataUjian = 0.0
    End Sub

    ' Properti NamaBelakang
    Public Property NamaBelakang() As String
        Get
            Return strNamaBelakang
        End Get

        Set(ByVal nilai As String)
            strNamaBelakang = nilai
        End Set
    End Property

    ' Properti NamaDepan
    Public Property NamaDepan() As String
        Get
            Return strNamaDepan
        End Get

        Set(ByVal nilai As String)
            strNamaDepan = nilai
        End Set
    End Property

    ' Properti NIM
    Public Property NIM() As String
        Get
            Return strNIM
        End Get

        Set(ByVal nilai As String)
            strNIM = nilai
        End Set
    End Property

    ' Prosedur NilaiRerata
    Public Property NilaiRerata() As Double
        Get
            Return dblRerataUjian
        End Get

        Set(ByVal nilai As Double)
            dblRerataUjian = nilai
        End Set
    End Property

    ' Properti read-only Nilai
    Public ReadOnly Property Nilai() As String
        Get
            ' Variabel untuk memuat nilai
            Dim strNilai As String

            ' Menentukan nilai
            If dblRerataUjian >= 90.0 Then
                strNilai = "A"
            ElseIf dblRerataUjian >= 80.0 Then
                strNilai = "B"
            ElseIf dblRerataUjian >= 70.0 Then
                strNilai = "C"
            ElseIf dblRerataUjian >= 60.0 Then
                strNilai = "D"
            Else
                strNilai = "F"
            End If

            ' Menghasilkan nilai
            Return strNilai
        End Get
    End Property
End Class




No comments:

Post a Comment