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 = " <
Tidak ada komentar:
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
if(b>0)cout<<”bilangan kompleks:”<
Kompleks
Kompleks X;
X.a=a;
X.b=-b;
return X;
}
template
Kompleks
Kompleks X;
X.a=a-m.a;
X.b=b-m.b;
return X;
}
template
Kompleks
Kompleks X;
X.a=a+m.a;
X.b=b+m.b;
return X;
}
template
ostream& operator<<(ostream&, const Kompleks
if(x.b==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:
Kompleks
Kompleks
Kompleks
};
template
Kompleks
Kompleks
temp.a=m.a+n.a;
temp.b=m.b+n.b;
return temp;
}
template
Kompleks
Kompleks
temp.a=m.a*n.a;
temp.b=m.b*n.b;
return temp;
}
template
Kompleks
Kompleks
temp.a=m.a-n.a;
temp.b=m.b-n.b;
return temp;
}
int main(int argc, char *argv[])
{
Kompleks
Operasi
cout<<”menggunakan cetak():”;x.cetak(); cout<<”menggunakan overloading:”<
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.
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
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
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
Langganan:
Postingan (Atom)
Pengikut
Entri Populer
-
Metoda Pengurutan Quick Sort Dengan Bahasa C Roni akan membangun program yang akan melakukan proses pengurutan dengan metoda Quick Sort. ...
-
Pencarian Berurutan Adalah suatu teknik pencarian data dalam array (1 dimensi)yang akan menelusuri semua elemen-elemen array dari awal sa...
-
#include #include #include #define maks 5 using namespace std; class Queue{ friend ostream& operator
-
#include > #include #include using namespace std ; class node { friend class list; friend ostream& operator public: n...
-
Menghitung Rata-Rata untuk program Kelas: Private Sub CalcBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Calc...
-
6. class Stack { 7. friend ostream& operator<<(ostream&,const Stack&); 8. public: 9. Stack(); 10. ...
-
Operator Relasi # include # include main() { int a=20,b=20,sama1,tidaksama1,besar1,samabesar1,kecil1,samakecil1; float x=30.25,...
-
#include #include template using namespace std; class Kompleks { friend class operasi ; friend ostream& operator &); frie...