108
PEMROGRAMAN VISUAL (C ++ BUILDER) SEMESTER II (2 SKS/ 4 Jam/Mingg) P!n"#n$ D%#& ' " *!% P&I& MT NIP& ,-. 010 ,--40 ,002 JURUSAN TEKNIK ELEKTRO PROGRAM STUDI JARINGAN TEKNIK DIGITAL POLITEKNIK NEGERI MALANG 20,2 KATA PENGANTAR Segala puji dan syukur disampaikan kepada Al ah SWT, atas limpah dan cahaya petunjuk-Nya yang tiada tara, sehingga buku “PEM!"A 'EN"AN (A)ASA *++ (%$&'E untuk matakuliah Pemr graman #isual d Pr gram Studi .aringan Teknik 'igital Telek munikasi P!&$NEMA/ (uku ini sebena untuk kalangan internal P!&$NEMA, namun apabila ada dari saudara kita yang berminat menggunakan buku ini, dengan senang hati kami persilahk salam sem ga tetap terkunjuk pada junjungan Nabi Agung Muhammad SAW, k thabi t, dan thabi n, dengan ghirr h perjuangan yang tinggi dan keik dalam memberantas keb d han dan menegakkan kebenaran di muka bumi in (uku ajar ini dimaksudkan untuk membantu dan mem1asilitasi peser mempelajari pemr graman k mputer lanjut khususnya menggunakan ba (uilder/ Salah satu 1akt r yang menentukan keberhasilan sebuah pembelajar buku ajar leh karena itu keberadaan dan pemberdayaan buku ini menjad merupakan salah satu rujukan dalam menempuh matakuliah pemr graman 2isual/ ditekankan dalam buku ini pr ses latihan dalam menuangkan dan me ke dalam desain sebuah pr gram, dengan tujuan membangkitkan daya na

Buku Ajar PemrogramanVisual Untuk Siswa

Embed Size (px)

DESCRIPTION

tugas

Citation preview

//latihan1

PEMROGRAMAN VISUAL

(C ++ BUILDER) SEMESTER II

(2 SKS/ 4 Jam/Minggu) Penyusun: Drs. Yoyok Heru P.I., MT NIP. 196807081994031002 JURUSAN TEKNIK ELEKTRO PROGRAM STUDI JARINGAN TEKNIK DIGITAL POLITEKNIK NEGERI MALANG 2012 KATA PENGANTAR

Segala puji dan syukur disampaikan kepada Al ah SWT, atas limpahan rahmat, karunia dan cahaya petunjuk-Nya yang tiada tara, sehingga buku PEMROGRAMAN VISUAL DENGAN BAHASA C++ BUILDER untuk matakuliah Pemrograman Visual di Program Studi Jaringan Teknik Digital Telekomunikasi POLINEMA. Buku ini sebenarnya hanya dipakai untuk kalangan internal POLINEMA, namun apabila ada dari saudara kita di luar POLINEMA yang berminat menggunakan buku ini, dengan senang hati kami persilahkan. Sholawat dan salam semoga tetap terkunjuk pada junjungan Nabi Agung Muhammad SAW, keluarga, sahabat, thabi t, dan thabi n, dengan ghirroh perjuangan yang tinggi dan keikhlasan yang mendalam dalam memberantas kebodohan dan menegakkan kebenaran di muka bumi ini. Buku ajar ini dimaksudkan untuk membantu dan memfasilitasi peserta didik dalam mempelajari pemrograman komputer lanjut khususnya menggunakan bahasa C++ Builder. Salah satu faktor yang menentukan keberhasilan sebuah pembelajaran di kelas adalah buku ajar oleh karena itu keberadaan dan pemberdayaan buku ini menjadi penting dan merupakan salah satu rujukan dalam menempuh matakuliah pemrograman visual. Sistem yang ditekankan dalam buku ini proses latihan dalam menuangkan dan mengurai permasalahan ke dalam desain sebuah program, dengan tujuan membangkitkan daya nalar dan logika Mahasiswa. Penulis berharap semoga buku ini dapat bermanfaat bagi mahasiswa program studi T. Telekomunikasi yang menempuh matakuliah Pemrograman Komputer Lanjut maupun semua pembaca buku ini. Terimaksih bagi siapa saja yang sudi memberikan saran dan kritik atas penulisan buku ini, karena kami yakin bahwa masih banyak kekurangan alam penuisan buku ini. Malang, Nopember 2012 Penulis YHPI -> hal : 1 DAFTAR ISI

LEMBAR PENGESAHAN

KATA PENGANTAR 1 DAFTAR ISI 2 PENDAHULUAN 5 BAB I VCL, FORMS, DAN KOMPONEN-KOMPONEN PADA C++ BUILDER 7 I.1 Tujuan 7 I.2 Teori Dasar 7 I.2.1 Project dalam Program C++ Builder 7 I.2.2 Form 8 I.2.3 SpeedBar 8 I.2.4 Komponen Palete 8 I.2.5 Events dan Event Handlers 8 I.3 LATIHAN PROGRAM 10 I.3.1 Membuat desain project operasi matematika 10 I.3.2. Membuat Desain Deret Bilangan dan Perhitungannya Menggunakan Tampilan Stringgrid 12 I.4 SOAL (UJI KEMAMPUAN) 14 BAB II MANIPULASI STRINGGRID, LISTBOX DAN COMBOBOX 15 II.1. Tujuan 15 II.2. Teori Dasar OverView StringGrid 15 II.2.1 Properties Cel s 16 II.2.2 ComboBox dan ListBox 17 II.3 LATIHAN PROGRAM 18 II.3.1 Latihan pertama memanipulasi StringGrid, dengan merubah lebar, jumlah baris dan jumlah kolom dalam coding, dan juga merubah cel s menjadi modifable, sehingga cel s dapat ditulisi 18 II.3.2 Latihan ini mengajarkan bagaimana membuat dan membuat VCL pada combobox dan listbox 20 II.4. SOAL (UJI KEMAMPUAN) 21 BAB III VARIABEL ARRAY 22 III.1. Tujuan 22 III.2. Teori Dasar 22 III.2.1 Console Wizard 22 III.2.2 Variabel Array 23 III.3. Latihan Program 23 III.3.1 Melatih logika array, menghitung nilai pangkat 3, dan menghitung masing-masing nilai faktorialnya 24 III.3.2 Menentukan nilai terbesar dan nilai terkecil dari sejumlah data yang di nputkan => perhatikan caranya! 25 III.4. SOAL (UJI KEMAMPUAN), 26 BAB IV SORTIR DATA 27 IV.1. Tujuan 27 IV.2. Teori Dasar Teknik Sortir Data 27 IV.3. LATIHAN PROGRAM 29 IV.4. SOAL (UJI KEMAMPUAN) 31 BAB V MATRIK 32 V.1. Tujuan 32 V.2. Teori Dasar 32 V.2.1. Penjumlahan Dan Pengurangan Matrik 32 V.2.2. Perkalian Matrik 32 V.2.2. Invers Matrik 33 YHPI -> hal : 2 V.2.3. Penyelesaian Persamaan Linier dengan Matrik 36 V.3. LATIHAN PROGRAM 37 V.3.1. Menjumlah dua buah matrik, dengan ordo masing-masing di nputkan, kemudian mencek persyaratan ordo dua matrik tersebut, dan nilai masing-masing elemen matrik di nputkan 37 V.3.2. Menentukan invers matrik dengan metode Reduksi gauss-Jordan, dengan ordo di nputkan, kemudian mencek persyaratan ordo matrik tersebut, dan nilai masing-masing elemen matrik bersiafat variatif 39 V.4. SOAL (UJI KEMAMPUAN) 41 BAB VI STRING 42 VI.1 Tujuan 42 VI.2 Teori Dasar 42 VI.2.1 STRING dalam C++ 42 VI.2.2 STRING dalam C++ Builder 43 VI.3. LATIHAN PROGRAM 43 VI.4. SOAL (UJI KEMAMPUAN) 46 BAB VII (KONVERSI BILANGAN) 47 VII.1. Tujuan 47 VII.2. Teori Dasar Konversi Bilangan 47 VII.3. LATIHAN PROGRAM 48 VII.4. SOAL (UJI KEMAMPUAN) 49 BAB VIII STRUKTUR FUNGSI 50 VIII.1. Tujuan 50 VIII.2. Teori Dasar Fungsi 50 VIII.3. LATIHAN PROGRAM 50 VIII.4. SOAL (UJI KEMAMPUAN) 52 BAB IX OOP, STRUKTUR DAN CLASS 53 IX.1. Tujuan 53 IX.2. Teori Dasar 53 IX.2.1 Variabel Obyek atau dikenal sebagai OOP (Object Oriented Programming) 53 IX.2.2. STRUKTUR dan CLASS 54 IX.3. LATIHAN PROGRAM 55 IX.3.1 Mengimplementasikan type struct dalam data -> biodata, perhatikan pola dan cara penggunaanya! 55 IX.3.2 Mengimplementasikan type class dalam data -> biodata, perhatikan polanya! 56 IX.3.3 Mengimplementasikan type class dengan menggunakan desain VCL 57 IX.4. SOAL (UJI KEMAMPUAN) 61 BAB X VARIABEL PUBLIC, PRIVATE, DAN OVERLOADING OPERATOR 62 X.1. Tujuan 62 X.2. Teori Dasar Public, Private, dan Overloading operator 62 X.3. LATIHAN PROGRAM 62 X.4. SOAL (UJI KEMAMPUAN) 64 BAB XI SISTEM FILE 65 XI.1. Tujuan 65 XI.2. Teori Dasar Sistem File 65 XI.3. LATIHAN PROGRAM 66 XI.4. SOAL (UJI KEMAMPUAN) 68 BAB XII SISTEM FILE LANJUTAN 69 XI.1. Tujuan 69 XI.2. Teori Dasar Sistem File Lanjutan 69 XI.3. LATIHAN PROGRAM 69 XI.4. SOAL (UJI KEMAMPUAN) 73 BAB XIII dan XV PRESENTASI, PROJECT 74 BAB XVI GRAFIK 75 XVI.1. Tujuan 75 YHPI -> hal : 3 XVI.2 Teori Dasar 75 XVI.2.1 Review Grafik 75 XVI.2.2 Komponen Pembentuk Grafik 76 XV.3 LATIHAN PROGRAM 79 XV.3.1 Latihan Pengenalan Pola Grafik Primitiv 79 XV.3.2 Latihan Penggunaan Pixel 81 XV.4. SOAL (UJI KEMAMPUAN) 84 BAB XVII OPERASI GEOMETRI SEDERHANA PADA GRAFIK 85 XVII.1. Tujuan 85 XVII.2 Teori Dasar 85 XVII.2.1 Operasi Geometri 85 XVII.2.2 Pergeseran atau Translasi 85 XVII.2.3 Penskalaan atau Stretching 86 XVII.2.4 Perputaran atau Rotasi 87 XVII.3 LATIHAN PROGRAM 87 XVII.3.1 Latihan operasi geometri translasi / pergeseran 87 XVII.3.2 Latihan operasi geometri Rotasi dan Penskalaan 91 XV.4. SOAL (UJI KEMAMPUAN) 95 BAB XVIII, XIX 97 DAFTAR PUSTAKA 98 YHPI -> hal : 4 PENDAHULUAN Pemrogram Visual

Pemrograman visual adalah kelompok pemrograman yang metode pembuatannya terdapat hubungan antara komponen objek yang biasanya berbentuk gambar atau icon dengan coding yang merupakan statement, kendali, function, class, type, dan yang lainnya pada sebuah media User Interface (UI). Dimana user interface pada pemrograman visual berupa GUI (Graphical User Interface) yang berisi desain visual program dan Text Coding yang berisi kode-kode program atau sintak program yang mengendalikan GUI. Yang intinya adalah bahwa pemrograman visual mempunyai hasil running program sesuai dengan bentuk desain, yang biasanya media desainnya disebut dengan Form dan tempat mengetik program disebut code editor. Contoh pemrograman visual adalah : C++ Builder, Visual C, Delphi, Visual Basic, dan masih banyak lagi. Buku ini merupakan lanjutan dari buku Pemrograman Lanjut yang sudah di gunakan di program studi JTD POLINEMA, dimana bahasa yang digunakan adalah C++ Builder. Ada beberapa alasan pemilihan bahasa program tersenut diantaranya adalah: 1. C++ Builder merupakan pengembangan dari bahasa C++, dan C++ merupakan pengembangan dari bahasa C standar. 2. Bahasa C merupakan akar dari bahasa pemrograman yang lain seperti Java, Android, dan yang lain. 3. Keberlanjutan antar matakuliah Algoritma, Pemrograman Lanjut, Pemrograman Visual, dan Interfacing yang kesemuanya menggunakan basis bahasa C 4. Banyak operating sistem yang dibuat dengan menggunakan bahasa C, seperti linux, unix, Android, dan yang lain. Alasan tersebut yang menjadikan landasan mengapa buku ini menggunakan bahasa C++ Builder, dan buku ini di gunakan sebagai buku paket pendukung matakuliah pemrograman visual, walau dalam implementasinya nanti tidak menutup kemungkinan untuk dimanfaatkan oleh matakuliah yang lain. YHPI -> hal : 5 YHPI -> hal : 6 BAB I BEKERJA DENGAN MULTI FORM

Asumsi:

Mahasiswa dianggap sudah pernah menempuh matakuliah Pemrograman Lanjut, sehingga pelajaran dasar tentang pemrograman visual yang melibatkan OOP dan komponen sudah dipahami. I.1 TUJUAN

Tujuan latihan program pertemuan pertama ini adalah, 1. Mahasiswa mampu membuat desain program dengan menggunakan lebih dari satu Form. 2. Mahasiswa mampu me lingkan antar Form dalam sebuah projek. 3. Mahasiswa mempu mengendalikan (menampilkan, menyembunyikan, meremove) antar Form. I.2 TEORI DASAR

I.2.1 Project dalam Program C++ Builder Setelah kita me-running C++ Builder maka kita akan melihat tampilan penuh C Builder seperti nampak pada gambar 1.1 di bawah, dan tampilan semacam ini lebih di kenal dengan IDE(Integrated Development Environment). IDE mempunyai segala hal yang kita butuhkan untuk mendesain program dalam satu tampilan, tampak seperti pada gambar di bawah. Gambar 1.1 YHPI -> hal : 7 IDE juga merupakan area kerja dalam mendesain program dalam Project kita, disini kita dapat melakukan manipulasi komponen, mengetik coding program, mengkonfigurasi C Builder, dan mungkin mengeset properties dalam sebuh project. VCL adalah sebuah repository dari komponen2 yang digunakan untuk membuat aplikasi program. Sedangkan komponen adalah sebuah object yang tampil dalam bentuk gambar seperti Label, Edit, Button, dan yang lainnya, yang kita pilih dengan klik mouse kiri, dan meletakkannya di area form kerja kita. Komponen2 VCL adalah coding yang kita tuliskan pada area editor code (unit area) untuk menjalankan operasi dari komponen tersebut. 1.2.2 Form

Form adalah sebuah jendela yang disediakan oleh C Builder yang diguakan untuk membuat desain tampilan program kita. Ketika kita membuat sebuah aplikasi baru dalam C Builder secara otomatis akan terbuat sebuah form baru. Untuk membangun user interface dalam form, kita tinggal menambahkan visual componen kemudian meletakkan posisi componen dan mengatur ukurannya. Disamping itu kita juga bisa menambahkan komponen non-visual seperti komponen timer. Secara default, ketika kita me-running aplikasi, maka form akan terletak di tengah2 layar monitor kita, namun kita juga bisa mengatur tampilan form sesuai dengan kebutuhan kita. 1.2.3 SpeedBar

SpeedBar menyediakan akses cepat untuk fungsi2 menu, yang paling sering digunakan seperti menyimpan data, menampilkan unit dan form, me-running program, menambah roject,dan yang lain. Kita dapat memilih speedbar yang kita kehendaki, yaitu dengan menambah, menghapus speedbar yang ada lewat view->toolbars->customize. 1.2.4 Komponen Palete

Komponen palete diletakkan di bawah baris menu utama, masing-masing komponen di kelompokkan dalam beberapa kategori. Nama-nama kelompok diletakkan tepat di atas dari nama-nama komponen, seperti Standart, Additional, ...Untuk mengambil/membuka komponen kita harus meng klik nama group dengan klik mouse kiri, dan untuk mengambilnya kita harus mengklik komponen yang kita inginkan dan meletakkan pada area form yang kita kehendaki. 1.2.5 Events dan Event Handlers

Untuk memhami sub ini kita buat terlebih dahulu sebuah komponen button, dimana komponen ini berada pada group komponen atau komponen palete Standart. Silahkan buat komponen seperti gambar di bawah ini: YHPI -> hal : 8 Gambar 1.2 Jika kita running project ini maka sebuah event akan digenerate oleh C Builder, agar aplikasi ini merespon event ini maka kita perlu membuat sebuah event handler. Event handler adalah sebuah fungsi sederhana yang secara otomatis dibuat oleh C Builder, pada saat kita mengklik salah satu item yang ada pada form ini. Atau kita mengklik salah satu bagian dari Event pada Object Inspector. Untuk mencoba silahkan double klik kiri mouse pada komponen button1 yang sudah di letakkan di Form. Maka C builder akan menampilkan code seperti di bawah ini: //--------------------------------------------------------------------------- #include #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcal TForm1::TForm1(TComponent* Owner) : TForm(Owner) {}//--------------------------------------------------------------------------- void __fastcal TForm1::Button1Click(TObject *Sender) { }//--------------------------------------------------------------------------- Coding ini secara otomtis akan generate oeh C Builder, dan jika program ini di running maka belum ada pengaruh apa-apa jika tombol button di klik. Sekarang coba isikan coding di bawah ini : YHPI -> hal : 9 void __fastcal TForm1::Button1Click(TObject *Sender) { ShowMessage(Hel o world! This is a test application! Press OK); Close(); }//--------------------------------------------------------------------------- Kemudian jalankan apa yang terjadi jika tombol button di ubah! I.3 LATIHAN PROGRAM : Mahasiswa wajib mengerjakan latihan program ini, dengan cara membuat dasain form dan menuliskan masing-masing listing program pada editor C++ Builder, menyimpannya (sesuaikan nama file dengan yang diminta), setelah itu menjalankan program, kemudian mempelajari proses logika dilanjutkan dengan membandingkan antara output hasil logika terhadap output hasil running komputer. I.3.1 Membuat desain project operasi matematika Buat project aplikasi baru -> File, New, application kemudian buat desain Form sebagai berikut: Gambar 1.3 YHPI -> hal : 10 Langkah-langkah pembuatan desain sebagai berikut: Masukkan komponen label1, Label2, dan label3 pada form, di tempat seperti pada gambar 1.3. Ubahlah caption label1 dan label2 pada object inspector, menjadi Input Bilangan Pertama dan Input Bilangan Kedua Masukkan Komponen Edit1 dan Edit2 pada form, di tempat seperti pada gambar 1.3. Hapus tulisan di Text Edit1 dan Edit2 pada object inspector, sehingga tulisan Edit1 dan Edit2, pada masing-masing komponen hilang, tampak seperti gambar 1.3 Masukkan komponen GroupBox pada Form, ubah captiannya dengan tulisan operasi matematika Masukkan komponen RadioButton1 5, di dalam komponen GroupBox, dan ubah masing-masing captionnya seperti pada gambar 1.3 Masukkan komponen Button, dan ubah captionnya sesaui dengan gambar 1.3 Langkah berikutnya tuliskan codingnya pada masing-masing komponennya, dengan cara men-double Click pada komponen RadioButton1-5, dan Button1. Codingnya adalah sebagai berikut: //--------------------------------------------------------------------------- float hasil,bil1,bil2; void __fastcal TForm1::RadioButton1Click(TObject *Sender) { bil1=StrToFloat(Edit1->Text); bil2=StrToFloat(Edit2->Text); hasil=bil1*bil2; Label3->Caption="Hasilnya adalah : "+FloatToStr(hasil); }//--------------------------------------------------------------------------- void __fastcal TForm1::RadioButton2Click(TObject *Sender) { bil1=StrToFloat(Edit1->Text); bil2=StrToFloat(Edit2->Text); hasil=bil1/bil2; Label3->Caption="Hasilnya adalah : "+FloatToStr(hasil); }//--------------------------------------------------------------------------- void __fastcal TForm1::RadioButton3Click(TObject *Sender) { bil1=StrToFloat(Edit1->Text); bil2=StrToFloat(Edit2->Text); hasil=pow(bil1,bil2); Label3->Caption="Hasilnya adalah : "+FloatToStr(hasil); }//--------------------------------------------------------------------------- void __fastcal TForm1::RadioButton4Click(TObject *Sender) { bil1=StrToFloat(Edit1->Text); bil2=StrToFloat(Edit2->Text); hasil=int(bil1)%int(bil2); Label3->Caption="Hasilnya adalah : "+FloatToStr(hasil); }//--------------------------------------------------------------------------- YHPI -> hal : 11 void __fastcal TForm1::RadioButton5Click(TObject *Sender) { bil1=StrToFloat(Edit1->Text); bil2=StrToFloat(Edit2->Text); hasil=int(bil1)/int(bil2); Label3->Caption="Hasilnya adalah : "+FloatToStr(hasil); }//--------------------------------------------------------------------------- void __fastcal TForm1::Button1Click(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- Setelah mengetik sour code, kemudian simpanlah project ini dengan mengklik Save ALL, untuk unit->beri nama Latihan1_1.cpp, sedangkan untuk Project beri nama Platihan1_1 Apabila mengalami kesulitan silahkan bertanya pada Dosen yang mendampingi ! 1.3.2 Membuat Desain Deret Bilangan dan Perhitungannya Menggunakan Tampilan Stringgrid

Buat project aplikasi baru -> File, New, application kemudian buat desain Form sebagai berikut: Gambar 1.4 YHPI -> hal : 12 Langkah-langkah pembuatan desain sebagai berikut: a. Masukkan semua komponen yang dibutuhkan pada form, di tempat seperti pada gambar 1.4. b. Ubah semua caption maupun Text untuk masing-masing komponen seperti pada gambar1.4 c. Hasil akhir desain adalah seperti nampak pada Gambar 1.4 d. Kemudian Doubel-Click pada masing-2 komponen yang diperlukan untuk menuliskan coding di bawah ini: void __fastcal TForm1::FormCreate(TObject *Sender) { StringGrid1->Hide(); Button2->Hide(); }//--------------------------------------------------------------------------- void __fastcal TForm1::Button1Click(TObject *Sender) { Label1->Hide(); Label2->Hide(); Label3->Hide(); Edit1->Hide(); Edit2->Hide(); Edit3->Hide(); Button1->Hide(); StringGrid1->Show(); Button2->Show(); StringGrid1->ColCount=6; StringGrid1->RowCount=StrToInt(Edit3->Text)+1; StringGrid1->Cel s[0][0]="No."; StringGrid1->Cel s[1][0]="Bilangan (x)"; StringGrid1->Cel s[2][0]="x^3"; StringGrid1->Cel s[3][0]="x!"; StringGrid1->Cel s[4][0]="Sin(x)"; StringGrid1->Cel s[5][0]="Cos(x)"; int i,j,bil,it,jd; float cs,sn,fak,pkt; i=1; bil=StrToInt(Edit1->Text); it=StrToInt(Edit2->Text); jd=StrToInt(Edit3->Text); while (iCel s[1][i]=IntToStr(bil); StringGrid1->Cel s[2][i]=FloatToStr(pkt); StringGrid1->Cel s[3][i]=FloatToStr(fak); StringGrid1->Cel s[4][i]=FloatToStr(sn); StringGrid1->Cel s[5][i]=FloatToStr(cs); i=i+1; bil=bil+it; YHPI -> hal : 13 } }//--------------------------------------------------------------------------- void __fastcal TForm1::Button2Click(TObject *Sender) { Close(); }//--------------------------------------------------------------------------- e. Setelah Menuliskan Coding, aturlah tempat StringGrid, sehingga hasil running aplikasi program akan propoesional dan terletak di tengah. f. Simpan unit Latihan1_2.cpp dan project Platihan1_2 I.4 SOAL (UJI KEMAMPUAN), Kerjakan setiap soal pada buku anda dengan cara membuat flowchart dan listing program, masing-masing soal simpan dengan nama file SOALI_1.cpp/bpr, dan SOALI_2 .cpp/bpr! 1. Buat desain seperti latihan 1.3.1, dengan hanya merubah radiobutton diubah ke dalam bentuk checklist. 2. Buat desain aplikasi untuk memasukkan nilai Resistor sebanyak 5 Resistor, kemudian buat output berupa nilai pengganti R paralel dan R seri. YHPI -> hal : 14 BAB II

MANIPULASI STRINGGRID, LISTBOX DAN COMBOBOX II.1. TUJUAN

Materi pertemuan kedua dititik beratkan optimalisasi penggunaan komponen stringgrid dan combobox, adapun tujuan latihan program pertemuan kedua ini adalah, 1. Mahasiswa mampu menggunakan stringgrid sebagai tampilan data 2. Mahasiswa mampu memodifikasi stringgrid, sehingga stringgrid dapat digunakan untuk entry data 3. Mahasiswa mampu menggunakan combobox untuk membuat desain untuk kepentingan listing pilihan. II.2. TEORI DASAR OverView StringGrid

StringGrid adalah sebuah teknik penggunaan baris dan kolom untuk merepresentasikan data dalam bentuk visual. Tidak ada aturan yang sangat keras dalam mengontrol penggunaan stringgrid ini. Untuk menangani isinya sebuah grid dibuat dalam baris vertikal dan horizontal. Baris-baris ini menggunakan pemisah, yang vertikal disebut kolom sedangkan yang horizontl disebut baris. Gambar 2.1 Pertemuan antara baris dan kolom disebut Cel s, untuk membuat sebuah grid data, VCL menyediakan beberapa kontrol, diantaranya adalah TstringGrid class. Jika kita ingin menentukan baris dan kolom fix-nya, kita bisa mengatur nilai FiedRows atau FixedCols,. YHPI -> hal : 15 Gambar 2.2 II.2.1. Properties Cells

Secara default cel s pada stringgrid dibedakan menjadi dua, yaitu cel s yang dapat dilalui oleh pointer, bahkan dapat diubah-ubah nilainya, dan cel s yang tidak dapat dilalui oleh pointer, dan nilainya juga tidak dapat di ubah. Cel s-cel s yang tidak bisa di lalui pointer secara umum berada kawasan baris dan kolom yang Fixed. Warna dari cel s-cel s ini juga berbeda, pada tulisan ini dibedakan warna biru untuk cel s yang modifable dan yang berwarna sama dengan warna form nya. Gambar 2.3 Kita juga bisa merubah warna fixed cel s, dan, modifable cel s, dengan menggunakan code berikut: //--------------------------------------------------------------------------- void __fastcal TForm1::FormCreate(TObject *Sender) {TStringGrid *StatRates = new TStringGrid(this); StatRates->Parent = this; StatRates->Color = TColor(RGB(255, 230, 204)); StatRates->FixedColor = TColor(RGB(255, 128, 0)); }//--------------------------------------------------------------------------- Hasilnya tampak seperti gambar 2.4 di bawah : Gambar 2.4 YHPI -> hal : 16 II.2.2 ComboBox dan ListBox

ListBox dan ComboBox adalah komponen yang sangat penting dan sangat sering digunakan dalam membuat sebuah desai aplikasi. Komponen listBox merepresentasikan jendela listBox standar, yang mana menampilkan simple listing dalam bentuk pilihan. Sebagai contoh adalah tuliskan coding di bawah, dan jangan lupa menyiapkan komponen ListBox pada form : //--------------------------------------------------------------------------- void __fastcal TForm1::FormCreate(TObject *Sender) { ListBox1->Items->Add("Senegal"); ListBox1->Items->Add("Botswana"); ListBox1->Items->Add("Morocco"); ListBox1->Items->Add("Suddan"); ListBox1->Items->Add("Kenya"); ListBox1->Items->Add("Libya"); ListBox1->Items->Add("Angola"); ListBox1->Items->Add("Ghana"); }//--------------------------------------------------------------------------- Hasilnya adalah: Gambar 2.5 ComboBox merupakan bentuk dari ListBox Khusus, sebenarnya combobox merupakan kobinasi dari sebuat listbox dan edit control. User dapat memilih dari listing yang disedian dalam porsi yang disediakan. Ketika user memilih sebuah item maka item tersebut akan diletakkan pada edit kontrol. Sebagai contoh kita akan menambahkan list data pada combobox sebagai berikut : ================ Telekomunikasi Elektronika Listrik Informatika ================= Maka coding yang bisa kita buat adalah sebagai berikut, dan juga harus menyiapkan komponen ComboBox di Form: //--------------------------------------------------------------------------- void __fastcal TForm1::FormCreate(TObject *Sender) YHPI -> hal : 17 { ComboBox1->Items->Add("Telekomunikasi"); ComboBox1->Items->Add("Elektronika"); ComboBox1->Items->Add("Listrik"); ComboBox1->Items->Add("Informatika"); }//--------------------------------------------------------------------------- Hasilnya tampak seperti gambar 2.6 berikut: Gambar 2.6 II.3. LATIHAN PROGRAM, II.3.1 Latihan pertama memanipulasi StringGrid, dengan merubah lebar, jumlah baris dan jumlah kolom dalam coding, dan juga merubah cel s menjadi modifable, sehingga cells dapat ditulisi.

Langkah-langkah yang harus dilakukan adalah : a. Buat aplikasi baru, File-New-Applications b. Buat Desain form seperti pada gambar di bawah ini: Gambar 2.7 YHPI -> hal : 18 c. Ubah Caption pada masing-masing komponen sehingga tampilan sama persis dengan gambar 2.7 d. Klik 1x pada stringgrid, kemudain klik properties pada object inspector, dan pilih option, kemudian gantilah nilai false menjadi true pada item goEditing dan goTabs. e. Langkah berikutnya adalah ketikkan coding berikut ini pada masing-masing VCL, sesuai dengan tempatnya! //============================================ void __fastcal TForm1::FormCreate(TObject *Sender) { StringGrid1->Hide(); }//--------------------------------------------------------------------------- void __fastcal TForm1::Button1Click(TObject *Sender) { StringGrid1->Show(); StringGrid1->ColCount=7; StringGrid1->FixedCols=2; if (Trim(Edit1->Text)=="") Edit1->Text = '0'; int n,jr; jr=StrToInt(Edit1->Text)+1; StringGrid1->RowCount=jr; for (n=1;nCel s[0][n]=IntToStr(n); StringGrid1->ColWidths[0]=25; StringGrid1->ColWidths[1]=55; StringGrid1->ColWidths[2]=80; StringGrid1->ColWidths[3]=60; StringGrid1->ColWidths[4]=85; StringGrid1->ColWidths[5]=90; StringGrid1->ColWidths[6]=90; StringGrid1->Cel s[0][0]="No."; StringGrid1->Cel s[1][0]="Router"; StringGrid1->Cel s[2][0]="Media"; StringGrid1->Cel s[3][0]="Jarak (m)"; StringGrid1->Cel s[4][0]="Bandwith Kbit/s"; StringGrid1->Cel s[5][0]="Throughput Kbit/s"; StringGrid1->Cel s[6][0]="Delay Alat (s)"; StringGrid1->SetFocus(); int rt,asci,i=1,k=0; AnsiString tasci,awal=""; for (rt=1;rtCel s[1][rt]=tasci; } }//--------------------------------------------------------------------------- YHPI -> hal : 19 f. Coba running aplikasi ini, kemudian isi masing-masing celnya g. Simpan aplikasi ini dengan nama unit Latihan2_1.cpp, dan Project dengan nama Platihan2_1.bpr II.3.2. Latihan ini mengajarkan bagaimana membuat dan membuat VCL pada combobox dan listbox, Langkah-langkah yang harus dilakukan adalah : a. Buat aplikasi baru, File-New-Applications b. Buat Desain form seperti pada gambar di bawah ini: Gambar 2.8 c. Ubah Caption pada masing-masing komponen sehingga tampilan sama persis dengan gambar 2.8 d. Langkah berikutnya adalah ketikkan coding berikut ini pada masing-masing VCL, sesuai dengan tempatnya! //======================================== void __fastcal TForm1::FormCreate(TObject *Sender) { ComboBox1->Items->Add("SEMESTER 1"); ComboBox1->Items->Add("SEMESTER 2"); ComboBox1->Items->Add("SEMESTER 3"); ComboBox1->Items->Add("SEMESTER 4"); ComboBox1->ItemIndex = 0; }//--------------------------------------------------------------------------- YHPI -> hal : 20 void __fastcal TForm1::ComboBox1Change(TObject *Sender) { if (ComboBox1->ItemIndex==0) { ListBox1->Clear(); ListBox1->Items->Add("QMS & KWU-1"); ListBox1->Items->Add("Alat Ukur dan Pengukuran"); ListBox1->Items->Add("Metematika Dasar"); ListBox1->Items->Add("Rangkaian Listrik 1"); ListBox1->Items->Add("Teknik Digital Dasar"); ListBox1->Items->Add("Sistem Telekomunikasi Analog"); ListBox1->Items->Add("Arsitektur Komputer"); ListBox1->Items->Add("Elektronika Dasar"); ListBox1->Items->Add("Praktikum Alat Ukur dan Pengukuran"); }else if (ComboBox1->ItemIndex==1) { ListBox1->Clear(); ListBox1->Items->Add("Pemrograman Lanjut"); ListBox1->Items->Add("Alat ukur"); ListBox1->Items->Add("Bahasa inggris 2"); ListBox1->Items->Add("Praktikum Fiber Optik"); ListBox1->Items->Add("Teori Mobile"); ListBox1->Items->Add("Praktikum Interfacing"); ListBox1->Items->Add("Komunikasi data"); ListBox1->Items->Add("Propagasi Antena"); }if (ComboBox1->ItemIndex==2) { ListBox1->Clear(); ListBox1->Items->Add("Sistem Mikrokontrol er Dasar"); ListBox1->Items->Add("Elektronika Telekomunikasi"); ListBox1->Items->Add("Elektronika Telekomunikasi"); } }//--------------------------------------------------------------------------- e. Coba running aplikasi ini, kemudian perhatikan hasilnya f. Simpan aplikasi ini dengan nama unit Latihan2_2.cpp, dan Project dengan nama Platihan2_2.bpr. II.4. SOAL (UJI KEMAMPUAN), Kerjakan setiap soal di bawah ini dengan membuat flowchart dan listing program, masing-masing soal simpan dengan nama file SOALII_1.cpp. 1. Buatlah desain aplikasi dengan menggunakan dua stringgrid, dimana stringgrid1 digunakan untuk menginputkan Nama, Nilai 1, Nilai 2, dan Nilai 3, dengan jumlah siswa yang di nputkan dengan menggunakan Edit->Text, simpan masing-masing cel s ke dalam variabel array dimensi2. Sedangkan Stringgrid2 digunakan untuk menampilkan hasil perhitungan nilai rata-rata=(nilai1+nilai2+nilai3)/3, dimana isi kolom stringgrid2 adalah nama, dan nilai rata-rata. YHPI -> hal : 21 BAB III VARIABEL ARRAY II .1. TUJUAN

Pada dasarnya sebuah variabel hanya mampu menampung sebuah nilai, dengan menggunakan variabel array maka variabel tersebut mampu menampung lebih dari satu nilai, tujuan dari pertemuan ini adalah, 1. Mahasiswa mampu membedakan antara variabel tunggal dengan variabel array 2. Mahasiswa mampu menggunakan variabel array dalam mendesain sebuah program II .2. TEORI DASAR II .2.1 Console Wizard

Program C++ Builder menyediakan vasilitas bahasa C++, yaitu Console. Aplikasi console memberikan fasilitas kepada kita untuk membuat coding C Standart atau C++. Untuk menjalankan editor console pada C++ Builder ver 6.0 adalah ->File, New, Other, kemudian pilih Console Wizard, type kita bisa pilih C++ atau C. Tampilan dari editor console adalah Gambar 3.1 Untuk memasukkan coding kita bisa menghapus coding yang tersedia di editor console tersebut. YHPI -> hal : 22 II.2.2 VARIABEL ARRAY

Variabel array adalah sebuah variabel yang mampu menampung data lebih dari satu nilai, karena di dalam variabel tersebut diberi indeks yang berfungsi sebagai pemembeda antara satu dengan yang lain. Salah satu teknik buffering adalah dengan cara menggunakan variabel array. Struktur variabel array secara umum adalah: nama_variabel[indeks] contoh : Int bil,i; for (i=1; i