5.10.10

Sequential Search (Pencarian Berurutan)

Pencarian Berurutan Adalah suatu teknik pencarian data dalam array (1 dimensi)yang akan menelusuri semua elemen-elemen array dari awal sampai akhir, dimana data-data tidak perlu diurutkan terlebih dahulu. Pencarian berurutan menggunakan prinsip sebagai berikut : data yang ada dibandingkan satu per satu secara berurutan dengan yang dicari sampai data tersebut ditemukan atau tidak ditemukan. #include main() { int data[8] = {8,10,6,-2,11,7,1,100}; int cari; int flag = 0; cout<<"masukkan data yang ingin dicari = "; cin>>cari; for(int i=0;i<8;i++){ if(data[i] == cari){ flag = 1; } } if(flag == 1){ cout<<"Data ada!\n"; } else{ cout<<"Data tidak ada!\n"; } }

Operator

Operator Relasi # include # include main() { int a=20,b=20,sama1,tidaksama1,besar1,samabesar1,kecil1,samakecil1; float x=30.25,y=25.30,sama2,tidaksama2,besar2,samabesar2,kecil2,samakecil2; clrscr(); cout <<"\n*******************"; cout <<"\n* OPERATOR RELASi *"; cout <<"\n*******************"; cout <<"\n\n"; cout <<"\n a = "< 1 sama2 = (x == y); //false -> 0 cout <<"\n a = b = " < 0 tidaksama2 = (x != y); //true -> 1 cout <<"\n a != b = " < b); //false -> 0 besar2 = (x > y); //true -> 1 cout <<"\n a > b = " < y = " <= b); //true -> 1 samabesar2 = (x >= y); //true -> 1 cout <<"\n a >= b = " <= y = " < 0 kecil2 = (x < y); //false -> 0 cout <<"\n a < b = " < 1 samakecil2 = (x <= y); //false -> 0 cout <<"\n a <= b = " <

postest II


#include
#include

template

using namespace std;

class Kompleks {
friend class operasi;
friend ostream& operator<<(ostream&, const Kompleks&);
friend istream& operator>>(istream&, Kompleks&);
public:
Kompleks(T s=0, T t=0):a(s),b(t){}
void cetak():
Kompleks operator-();
Kompleks operator-(const kompleks&);
Kompleks operator+(const kompleks&);
private:
T a;
T b;
};
template
void Kompleks::cetak(){
if(b>0)cout<<”bilangan kompleks:”<
KompleksKompleks::operator-(){
Kompleks X;
X.a=a;
X.b=-b;
return X;
}
template
KompleksKompleks::operator-(const kompleks&m){
Kompleks X;
X.a=a-m.a;
X.b=b-m.b;
return X;
}
template
KompleksKompleks::operator-(const kompleks&m){
Kompleks X;
X.a=a+m.a;
X.b=b+m.b;
return X;
}
template
ostream& operator<<(ostream&, const Kompleks&X){
if(x.b==0)out<<’['<1)out<<’['<0)out<<’['<
istream& operator>>(istream&, Kompleks&){
cout<<”masukkan bagian real:”; in>>x.a;
cout<<”masukkan bagian imajiner:”; in>>x.b;
return in;
}
template
class Operasi{
public:
Kompleksjumlah(const Kompleks&, const Kompleks&);
Komplekskali(const Kompleks&, const Kompleks&);
Komplekskurang(const Kompleks&, const Kompleks&);
};
template
Kompleks Operasi::jumlah(const Kompleks&, const Kompleks&){
Kompleks temp;
temp.a=m.a+n.a;
temp.b=m.b+n.b;
return temp;
}
template
Kompleks Operasi::kali(const Kompleks&, const Kompleks&){
Kompleks temp;
temp.a=m.a*n.a;
temp.b=m.b*n.b;
return temp;
}
template
Kompleks Operasi::kurang(const Kompleks&, const Kompleks&){
Kompleks temp;
temp.a=m.a-n.a;
temp.b=m.b-n.b;
return temp;
}

int main(int argc, char *argv[])
{
Kompleks (2,3), y(4,-4), t;
Operasi z;
cout<<”menggunakan cetak():”;x.cetak(); cout<<”menggunakan overloading:”< n;
cin>>n;
}
system(“PAUSE”);
return EXIT_SUCCESS;
}

4.10.10

Metoda Pengurutan Quick Sort Dengan Bahasa C

Metoda Pengurutan Quick Sort Dengan Bahasa C

Roni akan membangun program yang akan melakukan proses pengurutan dengan metoda Quick Sort. Program tersebut diberikan pada listing 1.

#include
#define N 20

int quick(int bawah, int atas);
int i, j, A[N];

main()
{
int jml;
clrscr();
printf("MENGURUTKAN DATA DENGAN QUICK SORT \n\n");
printf("Masukkan jumlah bilangan (maks 20) : ");
scanf("%d",&jml);

// input data

for (i=0;i{
printf("Bilangan ke %d : ",i+1);
scanf("%d",&A[i]);
}

// pengurutan data

quick(0,jml-1);

// menampilkan hasil

printf("Data yang telah terurut : \n");
for (i=0;i{
printf("%d\n",A[i]);
}
}

// fungsi quick

int quick(int bawah, int atas)
{
int pivot, temp;

// pengulangan dilakukan
// selama bawah < atas

if (bawah{
i = bawah;
j = atas;
pivot = A[j];
do
{
while (i {
i++;
}
while (j>i && A[j]>=pivot)
{
j--;
}
if (i {
temp = A[i];
A[i] = A[j];
A[j] = temp;
}
}
while (i temp = A[j];
A[j] = A[atas];
A[atas] = temp;
if (j-bawah {
quick(bawah,j-1);
quick(i+1,atas);
}
else
{
quick(i+1,atas);
quick(bawah,j-1);
}
}
}


Hasil apabila program tersebut dijalankan adalah sebagai berikut:

MENGURUTKAN DATA DENGAN QUICK SORT

Masukkan jumlah bilangan (maks 20) : 7
Bilangan ke 1 : 5
Bilangan ke 2 : 1
Bilangan ke 3 : 3
Bilangan ke 4 : 10
Bilangan ke 5 : 8
Bilangan ke 6 : 6
Bilangan ke 7 : 7

Data yang telah terurut :
1
3
5
6
7
8
10

Bandingkan dengan gambar 7.
Perhatikan dengan seksama program tersebut. Anda akan melihat bahwa di dalam fungsi quick() dipanggil lagi fungsi quick() itu sendiri. Tentunya Anda masih ingat bukan bahwa hal tersebut merupakan fungsi rekursif.
Sebagai latihan, Anda bisa membuat program yang sama namun untuk pengurutan descending atau menurun. Selamat mencoba.

Menghitung Rata-Rata untuk program Kelas

Menghitung Rata-Rata untuk program Kelas:


Private Sub CalcBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CalcBtn.Click
Dim NumStuTxtBx As Integer
Dim _NOS As Integer 'Number of Students'
Dim _NumOfClasses As Integer 'Number of additional classes'
Dim GrandTotal As Integer
Dim Grades As Double = 0
Dim Computed_Grades As Double = 0
Try
NumStuTxtBx = Integer.Parse(Me.NumStuTxtBx.Text)
_NOS += NumStuTxtBx
CalcBtn.Enabled = False
For a As Integer = 1 To NumStuTxtBx
Grades = CDbl(InputBox("Enter Grades of Students Exams"))
GrandTotal += Grades
Computed_Grades += Grades
AvgTxtBx.Text = CStr(Computed_Grades / _NOS)
AvgStuClsTxtBx.Text = CStr(GrandTotal / _NOS)
Next
NewClsBtn.Enabled = True
Catch ex As Exception
MsgBox("How Many Students are there in this Class?", MsgBoxStyle.OKOnly)
Me.NumStuTxtBx.Text = ""
Me.NumStuTxtBx.Focus()
Return
End Try
Me.NumStuTxtBx.Text = ""
Me.NumStuTxtBx.Focus()
AvgAllClsTxtBx.Text = CStr(GrandTotal / _NumOfClasses)
Return
End Sub

Private Sub NewClsBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NewClsBtn.Click
Dim _NOS As Integer 'Number of Students'
Dim _NumOfClasses As Integer 'Number of additional classes'
Dim GrandTotal As Integer
CalcBtn.Enabled = True
NewClsBtn.Enabled = False
_NumOfClasses += 1
NumClsTxtBx.Text = CStr(_NumOfClasses)
AvgAllClsTxtBx.Text = CStr(GrandTotal + _NumOfClasses)
AvgStuClsTxtBx.Text = CStr(GrandTotal / _NOS)
NumStuTxtBx.Text = ""
NumStuTxtBx.Focus()

End Sub

Pengikut


Entri Populer