• Tidak ada hasil yang ditemukan

Modul 4 Pembuatan Aplikasi

N/A
N/A
Protected

Academic year: 2021

Membagikan "Modul 4 Pembuatan Aplikasi"

Copied!
9
0
0

Teks penuh

(1)

Modul 4

Pembuatan Aplikasi

1. Penyeleksian Kondisi

Penyeleksian Kondisi adalah suatu pemilihan yang didasarkan atas kondisi tertentu. Suatu aksi akan dipilih hanya jika kondisi yang didefinisikan telah terpenuhi. Terdiri dari If, If...else, If Tersarang dan switch...case.

A. STRUKTURKONDISI“IF….”

Struktur if dibentuk dari pernyataan if dan sering digunakan untuk menyeleksi suatu kondisi tunggal. Bila proses yang diseleksi terpenuhi atau bernilai benar, maka pernyataan yang ada di dalam blok if akan diproses dan dikerjakan. Bentuk umum struktur kondisi if adalah :

Contoh Program

/* Program struktur kondisi if untuk memeriksa suatu kondisi */ #include <vcl.h> #pragma hdrstop #include "U_if.h" //--- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--- __fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner) {

}

//--- void __fastcall TForm1::BitBtn1Click(TObject *Sender)

{

float Nilai=StrToFloat(Edit1->Text); if(Nilai>=60)

{

Label2->Caption="Selamat Anda -> LULUS"; }

}

Bila program tersebut dijalankan dan kita masukan nilai 60, maka akan mencetak tulisan Selamat Anda -> LULUS, tetapi sebaliknya jika memasukan sebuah nilai yang kurang dari 60 maka program akan berhenti dan tidak akan menghasilkan apa-apa.

B. STRUKTUR KONDISI“IF...ELSE….”

Dalam struktur kondisi if...else minimal terdapat dua pernyataan. Jika kondisi yang diperiksa bernilai benar atau terpenuhi maka pernyataan pertama yang dilaksanakan dan jika kondisi yang diperiksa bernilai salah maka pernyataan yang kedua yang dilaksanakan. Bentuk umumnya adalah sebagai berikut :

If(kondisi){ Pernyataan; } If(kondisi_1){ Pernyataan_1; }else If(kondisi_2){ Pernyataan_2; } #include <vcl.h> #pragma hdrstop #include "U_if.h" #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1;

__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)

{ }

//--- void __fastcall TForm1::BitBtn1Click(TObject *Sender) {

float Nilai=StrToFloat(Edit1->Text); if(Nilai>=60){

Label2->Caption="Selamat Anda -> LULUS";} } else

{

Label2->Caption="Mohon Maaf Anda -> BELUM LULUS"; }

Contoh Program #include <vcl.h> #pragma hdrstop #include "U_if.h" #include "U_Pass.h" #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1;

__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)

{ }

//--- void __fastcall TForm1::BitBtn1Click(TObject *Sender) {

if (Edit2->Text=="AMIK") {

ShowMessage("Selamat, Login Password Anda Berhasil!"); Form2->Show();}

else {

Agar form Contoh if muncul, maka harus di tambahkan unitnya ke unit Password, yaitu: #include “U_if.h”

(2)

© 2011 C. STRUKTUR KONDISI“IFTERSARANG”

Dalam struktur kondisi if tersarang yaitu di dalam if terdapat if yang lainnya minimal terdapat dua pernyataan. Bentuk umumnya adalah sebagai berikut :

Contoh Program

Program berikut ini adalah program untuk menghitung persamaan kuadrat AX2 + BX + C, A ≠ 0 dengan nilai

Determinan adalah D = B2 – 4AC, yang mempunyai ketentuan berikut:

- Jika D < 0, akan terjadi “Akar-akar persamaan imaginer, yaitu:” X1 = -B + -D i

2A 2A X2 = -B - -D i 2A 2A

- Jika D = 0, akan terjadi “Akar-akar persamaan nyata tetapi kembar, yaitu:” X1 = X2 = -B / 2A

- Jika D > 0, akan terjadi “Akar-akar persamaan nyata dan berbeda, yaitu:” X1 = -B + D

2A X2 = -B - -D 2A

Dengan tampilan Form berikut:

Komponen Properti Nilai

Form1 Caption Program Untuk Menyelesaikan Persamaan Kuadrat

Label1 Caption Masukan Bilangan A

Label2 Caption Masukan Bilangan B

Label3 Caption Masukan Bilangan C

Label4 Caption Nilai Determinan (D)

Edit1 Text Kosongkan

Edit2 Text Kosongkan

Edit3 Text Kosongkan

Edit4 Text Kosongkan

ListBox

Bitbtn1 Caption &Proses

Bitbtn2 Caption &Ulang

Bitbtn3 Kind bkClose

Dengan Listing, sebagai berikut:

If(kondisi_1){ Pernyataan_1; }else If(kondisi_2){ Pernyataan_2; } else If(kondisi_n){ Pernyataan_n; } else {Pernyataan_m;}

void __fastcall TForm1::BitBtn1Click(TObject *Sender) { double a = StrToFloat(Edit1->Text); double b = StrToFloat(Edit2->Text); double c = StrToFloat(Edit3->Text); double D = b*b - 4*a*c; double x1, x2, z1, z2; Edit4->Text=FloatToStr(D); if(D<0) {z1 = -b/(2*a); z2 = Sqrt(-D)/(2*a);

ListBox1->Items->Add("Akar-akar persamaan imaginer, yaitu :");

ListBox1->Items->Add("x1 = "+FloatToStr(z1)+" + "+FloatToStr(z2)+"i"); ListBox1->Items->Add("x2 = "+FloatToStr(z1)+" - "+FloatToStr(z2)+"i"); }else if(D==0)

{ x1 = -b/(2*a);

ListBox1->Items->Add("Akar-akar persamaan nyata tetapi kembar, yaitu :"); ListBox1->Items->Add("x1 = x2 = " + FloatToStr(x1));

}else

{ x1 = (-b+Sqrt(D))/(2*a); x2 = (-b-Sqrt(D))/(2*a);

ListBox1->Items->Add("Akar-akar persamaan nyata dan berbeda, yaitu :"); ListBox1->Items->Add("x1 = " +FloatToStr(x1));

ListBox1->Items->Add("x2 = " +FloatToStr(x2)); }

(3)

Aktifkan komponen Bitbtn2 pada form1 dan lakukan double click, Kemudian tuliskan source code dibawah ini

D.STRUKTURKONDISI“SWITCH....CASE....DEFAULT…”

Struktur kondisi switch....case....default digunakan untuk penyeleksian kondisi dengan kemungkinan yang terjadi cukup banyak. Struktur ini akan melaksanakan salah satu dari beberapa pernyataan „case‟ tergantung nilai kondisi yang ada di dalam switch. Selanjutnya proses diteruskan hingga ditemukan pernyataan „break‟. Jika tidak ada nilai pada case yang sesuai dengan nilai kondisi, maka proses akan diteruskan kepada pernyataan yang ada di bawah „default‟.

Bentuk umum dari struktur kondisi ini adalah :

Latihan 4

1. Buat aplikasi baru dengan dengan memilih menu File|New|Application C++ Builder. Kemudian lakukan design form dan pengesetan properti komponen pada object properties seperti gambar

2. Double klik pada tombol Konversi kemudian isikan source code berikut

3. Apabila program ini dijalankan (RUN  F9), maka ditampilkan seperti form di bawah ini: void __fastcall TForm1::Button1Click(TObject *Sender)

{

int angka=StrToInt(Edit1->Text); switch (angka) {

case 0:Edit2->Text="Nol"; break; case 1:Edit2->Text="Satu"; break; case 2:Edit2->Text="Dua"; break; case 3:Edit2->Text="Tiga"; break; case 4:Edit2->Text="Empat"; break; case 5:Edit2->Text="Lima"; break; case 6:Edit2->Text="Enam"; break; case 7:Edit2->Text="Tujuh"; break; case 8:Edit2->Text="Delapan"; break; case 9:Edit2->Text="Sembilan"; break;

default: MessageBox(0, "Angka yang dikonfersi dari 0 sd 9","Kesalahan", MB_ICONINFORMATION|MB_OK);; } } switch(variabel){ case konstantaVariabel_1:Pernyataan_1; break; case konstantaVariabel_2:Pernyataan_2; break; case konstantaVariabel_3:Pernyataan_4; break; case konstantaVariabel_n:Pernyataan_n; break; default:Pernyataan_m; }

void __fastcall TForm1::BitBtn2Click(TObject *Sender) { Edit1->Clear(); Edit2->Clear(); Edit3->Clear(); Edit4->Clear(); ListBox1->Clear(); Edit1->SetFocus(); }

(4)

© 2011 Latihan 5

1. Buat aplikasi baru dengan memilih menu File|New|Application. Kemudian design form, dan lakukan pengesetan properti pada object properties untuk masing-masing komponen seperti pada tabel dibawah ini.

Komponen Properti Nilai

Form1 Caption Contoh switch-case

GroupBox1 Caption Data Pegawai

Label1 Caption NIP

Label2 Caption Nama Pegawai

Label3 Caption Jenis Kelamin

Label4 Caption Golongan

Edit1 Text Kosongkan

Edit2 Text Kosongkan

RadioButton1 Caption Laki-laki

RadioButton2 Caption Perempuan

ComboBox1 Text Kosongkan

Items.. 1, 2, 3

GroupBox2 Caption Output Data Gaji

Label5 Caption NIP

Label6 Caption Nama Pegawai

Label7 Caption Jenis Kelamin

Label8 Caption Golongan

Label9 Caption Gaji Pokok

Label10 Caption Tunjangan

Label11 Caption Gaji Diterima

Edit3 Text Kosongkan

Edit4 Text Kosongkan

Edit5 Text Kosongkan

Edit6 Text Kosongkan

Edit7 Text Kosongkan

Edit8 Text Kosongkan

Edit9 Text Kosongkan

Bitbtn1 Caption &Proses

Kind bkAll

Bitbtn2 Caption &Ulang

Kind bkRetry

Bitbtn3 Caption &Close

Kind bkClose

2. Aktifkan komponen Bitbtn1 pada form1 dan lakukan double click, Kemudian tuliskan source code dibawah ini

3. aktifkan komponen Bitbtn2 pada form1 dan lakukan double click, Kemudian tuliskan source code dibawah ini

void __fastcall TForm1::BitBtn1Click(TObject *Sender)

{ int gol; gol=StrToInt(ComboBox1->Text); float tj=0.25; Edit3->Text=Edit1->Text; Edit4->Text=Edit2->Text; Edit6->Text=ComboBox1->Text; switch (gol) { case 1 : Edit7->Text="1000000"; break; case 2 : Edit7->Text="1500000"; break; case 3 : Edit7->Text="2000000"; break;

default: MessageBox(0,"Golongan Yang Dimasukan Tidak Terdaftar","Informasi", MB_ICONINFORMATION|MB_OK); } if (RadioButton1->Checked) { Edit5->Text="Laki-laki"; Edit8->Text=FloatToStr(tj*StrToFloat(Edit7->Text)); } else { Edit5->Text="Perempuan"; Edit8->Text=0; } Edit9->Text=FloatToStr(StrToFloat(Edit7->Text)+StrToFloat(Edit8->Text)); }

void __fastcall TForm1::BitBtn2Click(TObject *Sender)

{

Edit1->Clear(); Edit2->Clear();

RadioButton1->Checked=false; RadioButton2->Checked=false; ComboBox1->ClearSelection(); Edit5->Clear(); Edit6->Clear();

Edit7->Clear(); Edit8->Clear(); Edit9->Clear(); Edit1->SetFocus(); }

(5)

4. aktifkan komponen Bitbtn3 pada form1 dan lakukan double click, Kemudian tuliskan source code

dibawah ini

5. Simpan unit dengan nama U_switchcase dan projectnya dengan nama P_switchcase dengan memilih

menu File-Save All. Kemudian jalankan aplikasi dengan menekan tombol F9 atau Run.

Latihan 6

1. Buat aplikasi baru dengan memilih menu File – New | Application. Kemudian design form, dan

lakukan pengesetan properti pada object properties untuk masing-masing komponen seperti pada

tabel dibawah ini.

Komponen Properti

Nilai

Form1

Caption

Program Menghitung Nilai Akhir

GroupBox1 Caption

Data Mahasiswa

Label1

Caption

NPM

Label2

Caption

Nama Mahasiswa

Label3

Caption

Jurusan/Jenjang

Label4

Caption

Mata Kuliah

Edit1

Text

Kosongkan

Edit2

Text

Kosongkan

Edit3

Text

Kosongkan

Edit4

Text

Kosongkan

GroupBox2 Caption

Data Nilai

Label5

Caption

Nilai UAS

Label6

Caption

Nilai UAS

Label7

Caption

Nilai UAS

Label8

Caption

Nilai UAS

Label9

Caption

Nilai UAS

Edit5

Text

Kosongkan

Edit6

Text

Kosongkan

Edit7

Text

Kosongkan

Edit8

Text

Kosongkan

Edit9

Text

Kosongkan

Memo1

Bitbtn1

Caption

&Proses

Kind

bkAll

Bitbtn2

Caption

&Ulang

Kind

bkRetry

Bitbtn3

Caption

&Selesai

Kind

bkClose

void __fastcall TForm1::BitBtn3Click(TObject *Sender)

{ Close(); }

(6)

© 2011

2. Aktifkan komponen Bitbtn1 pada form1 dan lakukan double click, Kemudian tuliskan source code dibawah ini

3. aktifkan komponen Bitbtn2 pada form1 dan lakukan double click, Kemudian tuliskan source code dibawah ini

4. aktifkan komponen Bitbtn3 pada form1 dan lakukan double click, Kemudian tuliskan source code dibawah ini

5. Simpan unit dengan nama U_NilaiAkhir dan projectnya dengan nama P_NilaiAkhir dengan memilih menu File-Save All. Kemudian jalankan aplikasi dengan menekan tombol F9 atau Run.

void __fastcall TForm1::BitBtn1Click(TObject *Sender)

{

double Hdr = StrToFloat(Edit5->Text); double Qz = StrToFloat(Edit6->Text); double Tgs = StrToFloat(Edit7->Text); double UTS = StrToFloat(Edit8->Text); double UAS = StrToFloat(Edit9->Text);

double NA = 0.1*Hdr+0.1*Qz+0.15*Tgs+0.3*UTS+0.35*UAS; Memo1->Lines->Add("Output Data Mahasiswa dan Mata Kuliah :");

Memo1->Lines->Add("=========================================="); Memo1->Lines->Add("NPM : "+Edit1->Text);

Memo1->Lines->Add("Nama Mahasiswa : "+Edit2->Text); Memo1->Lines->Add("Jurusan/Jenjang : "+Edit3->Text); Memo1->Lines->Add("Mata Kuliah : "+Edit4->Text);

Memo1->Lines->Add("=========================================="); Memo1->Lines->Add("Hasil Perhitungan, adalah ...");

Memo1->Lines->Add("---"); Memo1->Lines->Add("Nilai Akhir = "+FloatToStr(NA)); if (NA>=85){

Memo1->Lines->Add("Nilai Huruf = A");

Memo1->Lines->Add("Keterangan = Sangat Baik");} else if (NA>=70){ Memo1->Lines->Add("Nilai Huruf = B"); Memo1->Lines->Add("Keterangan = Baik");} else if (NA>=60){ Memo1->Lines->Add("Nilai Huruf = C"); Memo1->Lines->Add("Keterangan = Cukup");} else if (NA>=40){ Memo1->Lines->Add("Nilai Huruf = D"); Memo1->Lines->Add("Keterangan = Kurang");} else if (NA<40){

Memo1->Lines->Add("Nilai Huruf = E"); Memo1->Lines->Add("Keterangan = Gagal");} }

void __fastcall TForm1::BitBtn2Click(TObject *Sender)

{ Edit1->Clear(); Edit2->Clear(); Edit3->Clear(); Edit4->Clear(); Edit5->Clear(); Edit6->Clear(); Edit7->Clear(); Edit8->Clear(); Edit7->Clear(); Memo1->Clear(); Edit1->SetFocus(); }

void __fastcall TForm1::BitBtn3Click(TObject *Sender)

{ Close(); }

(7)

2. PENGULANGAN (LOOPING)

Pengulangan atau looping berguna untuk melakukan proses berulangan terhadap pernyataan, ada 3 jenis struktur pengulangan yaitu for, while, dan do – while.

A. STRUKTUR PENGULANGAN FOR

Struktur perulangan for biasa digunakan untuk mengulang suatu proses yang telah diketahui jumlah perulangannya. Dari segi penulisannya, struktur perulangan for tampaknya lebih efisien karena susunannya lebih simpel dan sederhana.

Bentuk umumnya adalah sebagai berikut :

Latihan 6

1. Buat aplikasi baru dengan dengan memilih menu File|New|Application C++ Builder. Kemudian tambahkan komponen TlistBox dan Tbutton seperti gambar.

2. Double klik pada tombol proses dan isikan source code berikut.

3. Simpan unit dengan nama U_for dan projectnya dengan nama P_for kemudian jalankan dengan menekan tombol F9.

B. STRUKTUR PENGULANGAN WHILE

Perulangan WHILE banyak digunakan pada program yang terstruktur. Perulangan ini banyak digunakan bila jumlah perulangannya belum diketahui. Proses perulangan akan terus berlanjut selama kondisinya bernilai benar (true) dan akan berhenti bila kondisinya bernilai salah. Bentuk Umumnya:

Latihan 7

1. Buat aplikasi baru dengan dengan memilih menu File|New|Application C++ Builder. Kemudian tambahkan komponen TlistBox dan Tbutton seperti gambar.

void __fastcall TForm1::Button1Click(TObject *Sender)

{ int i;

for (i = 1; i<=10;i++){

Memo1->Lines->Add("Bilangan Ke = "+IntToStr(i)); } }

//untuk pengulangan yang melakukan proses increment

for (variabel=nilai_awal; kondisi; variabel_peningkatan) { Pernyataan_yang_akan_diulang;}

//untuk pengulangan yang melakukan proses decrement

for (Nama_variabel=nilai_awal; kondisi; variabel_penurunan) { Pernyataan_yang_akan_diulang;}

//Struktur Pengulangan while

Nama_variabel=nilai_awal;

while (kondisi) {

pernyataan_yang_akan_diulang; variabel_peningkatan;

(8)

© 2011

2. Double klik pada tombol proses dan isikan source code berikut.

3. Simpan unit dengan nama U_while dan projectnya dengan nama P_while kemudian jalankan dengan menekan tombol F9.

C. STRUKTUR PENGULANGAN DO..WHILE

Pada dasarnya struktur perulangan do....while sama saja dengan struktur while, hanya saja pada proses perulangan dengan while, seleksi berada di while yang letaknya di atas sementara pada perulangan do....while, seleksi while berada di bawah batas perulangan. Jadi dengan menggunakan struktur do…while sekurangkurangnya akan terjadi satu kali perulangan. Bentuk Umumnya:

Latihan 8

1. Buat aplikasi baru dengan dengan memilih menu File|New|VCL Form Application C++ Builder. Kemudian tambahkan komponen TlistBox dan Tbutton seperti gambar.

2. Double klik pada tombol proses dan isikan source code berikut.

3. Simpan unit dengan nama U_dowhile dan projectnya dengan nama P_dowhile kemudian jalankan dengan menekan tombol F9.

Soal Latihan

1. Buatlah program aplikasi dengan C++ untuk menghitung Nilai Faktorial (N!=1x2x3x…xn), dengan tampilan Form Berikut:

void __fastcall TForm1::Button1Click(TObject *Sender)

{ int i; i=1; while (i<=10){ Memo1->Lines->Add("Bilangan Ke = "+IntToStr(i)); i++; } }

//Struktur Pengulangan do .. while

Nama_variabel=nilai_awal;

do {

pernyataan_yang_akan_diulang; variable_peningkatan;

} while (kondisi);

void __fastcall TForm1::Button1Click(TObject *Sender)

{ int i; i=1; do { Memo1->Lines->Add("Bilangan Ke = "+IntToStr(i)); i++; } while (i<=10); }

(9)

Dengan listing berikut:

2. Buatlah aplikasi sederhana untuk menghitung Nilai Rata-rata. Dengan output tampilan seperti gambar.

Dengan Listing Berikut:

void __fastcall TForm1::Button1Click(TObject *Sender)

{ int a, i, fak; a=StrToInt(Edit1->Text); fak =1; for (i = 2; i <= a; i++) { fak=fak*i; Edit2->Text=IntToStr(fak); } }

void __fastcall TForm1::Button1Click(TObject *Sender)

{

int x,y; double z, jml;

AnsiString S = InputBox("Jumlah Data","Banyaknya Data",""); x =StrToInt(S);

jml=0;

ListBox1->Items->Add("Output Perhitungan Nilai Rata-rata"); ListBox1->Items->Add("=================================="); for (y=1; y <= x; y++) {

AnsiString T = InputBox("Data Bilangan","Masukan Angkanya",""); z=StrToFloat(T);

ListBox1->Items->Add("Data Ke "+IntToStr(y)+" : "+FloatToStr(z)); jml=jml+z;

}

double rata; rata=jml/x;

ListBox1->Items->Add("=================================="); ListBox1->Items->Add("Jumlah Data = "+IntToStr(x)); ListBox1->Items->Add("Total Nilai = "+FloatToStr(jml)); ListBox1->Items->Add("Nilai Rata-rata = "+FloatToStr(rata)); ListBox1->Items->Add("=================================="); }

Referensi

Dokumen terkait

Sebenarnya mereka berasal dari 4 keluarga yang setiap keluarga terdiri dari seorang ayah, seorang ibu dan satu orang anak, namun tidak diketahui yang mana yang menjadi ayah,

Diterangkan oleh Karina, sebagai ketua kelompok, pada umumnya SILO tersebut terbuat dari bahan dasar silikon yang bersifat toksik, sehingga kelima mahasiswa FST UNAIR tersebut

Dengan pertimbangan bahwa Kapang Jaya telah melakukan penipuan terhadap Usin dan Ho Kam Cheong karena Kapang Jaya telah menerima barang-barang dari Usin dan Ho Kam Cheong

User akan membuka menu laporan pelayanan selanjutnya user diminta memasukkan id yang ingin dilihat kemudian sistem akan menampilkan informasi atau data yang

Berapa tingkat ketidakpastian pendefinisian dalam proyek implementasi aplikasi yang dapat menerima feedback customer. Berapa tingkat ketidakpastian teknis

Proses deteksi dapat dilakukan melalui pengolahan citra dengan ekstraksi ciri menggunakan transformasi wavelet dan Gray Level Co-Occurance Matrix (GLCM), serta proses

Kegiatan promosi yang dilakukan McD menurut responden dirasakan sangat membantu mereka dalam beralih merek yaitu sebagian besar responden (73 %) menyatakan produk McD dengan

40 menit Demonstrasi Cart Parttitur Ped drum Rudimen Ludwig PENYAJIAN (INTI) Tatap muka 15 Memainkan lagu : - Daerah Nusantara - Populer 100 menit Ceramah Diskusi