Review Materi Algoritma dan Pemrograman Ke-11

pada pertemuan materi algoritma yang ke 11 ini kami membahas tentang kodingan yang selama ini sudah diajarkan, kami mereview materi,

kita membahas tentang file.

untuk info lebih jelasnya kami diberikan alamat blig buatan dosen tercinta yang berisi banyak kode yang bisa di pakai buat belajar atau iseng iseng

http://a-l-g-o-r-i-t-m-a.blogspot.co.id/

kita membahs acara menggunakan struck dan cara mengoper ngopernya ke fungsi fungsi,
struct Baju{
char kodeBaju[7];
char namaBaju[100];
int qty;
int hargaSatuan;
};
int initProgram(Baju baju[]){
FILE *file = fopen(“data.txt”, “r”);
int index = 0;
char tempHarga[100], tempQty[100];
while (!feof(file)){
fscanf(file, “%[^;];%[^;];%[^;];%[^\n]\n”, baju[index].kodeBaju, baju[index].namaBaju, tempQty, tempHarga);
baju[index].qty = atoi(tempQty);
baju[index].hargaSatuan = atoi(tempHarga);
index++;
}
fclose(file);
return index;
}

void generateTable(Baju baju[], int totalItem){
printf(“%-4s%-12s%-20s%-5s%-15s\n”, “No.”, “Code”, “Name”, “Qty”, “Price”);
printf(“============================================================\n”);
for (int i = 0; i < totalItem; i++)
printf(“%-4d%-12s%-20s%-5d%-15d\n”, (i + 1), baju[i].kodeBaju, baju[i].namaBaju, baju[i].qty, baju[i].hargaSatuan);
if(totalItem == 0) printf(“There is no data!”);
printf(“\n\n\n”);
}

char *generateCode(Baju baju[], int totalItem){
static char kode[10], kodeReturn[10];
int count;
strcpy(kode, baju[totalItem – 1].kodeBaju);
kode[0] = ‘0’; kode[1] = ‘0’;
count = atoi(kode) + 1;
if (count < 10) strcpy(kodeReturn, “JF00”);
else if (count < 100) strcpy(kodeReturn, “JF0”);
else if (count < 1000) strcpy(kodeReturn, “JF”);
itoa(count, kode, 10);
strcat(kodeReturn, kode);
return kodeReturn;
}

int checkCode(char key[], Baju baju[], int totalItem){
int left = 0, right = totalItem – 1, mid;
do{
mid = (left + right) / 2;
if (strcmp(baju[mid].kodeBaju, key) == 0) return mid;
else if (strcmp(baju[mid].kodeBaju, key) == -1) left = mid + 1;
else right = mid – 1;
} while (left<=right);
return -1;
}

void sort(Baju baju[], int left, int right, char by[], char option[]){
int i = left, j = right;
int pivotInt;
char pivotChar[100];
Baju tempBaju;
if (strcmp(by, “code”) == 0)strcpy(pivotChar, baju[(left + right) / 2].kodeBaju);
else if (strcmp(by, “name”) == 0)strcpy(pivotChar, baju[(left + right) / 2].namaBaju);
else if (strcmp(by, “qty”) == 0)pivotInt = baju[(left + right) / 2].qty;
else if (strcmp(by, “price”) == 0)pivotInt = baju[(left + right) / 2].hargaSatuan;
while (i <= j){
if (strcmp(by, “code”) == 0) { while (strcmp(baju[i].kodeBaju, pivotChar) < 0) i++; while (strcmp(baju[j].kodeBaju, pivotChar) > 0) j–; }
else if (strcmp(by, “name”) == 0) { while (strcmp(baju[i].namaBaju, pivotChar) < 0) i++; while (strcmp(baju[j].namaBaju, pivotChar) > 0) j–; }
else if (strcmp(by, “qty”) == 0) { while (baju[i].qty < pivotInt) i++; while (baju[j].qty > pivotInt) j–; }
else if (strcmp(by, “price”) == 0) { while (baju[i].hargaSatuan < pivotInt) i++; while (baju[j].hargaSatuan > pivotInt) j–; }
if (i <= j){
tempBaju = baju[i];
baju[i] = baju[j];
baju[j] = tempBaju;
i++; j–;
}
}
if (left < j) sort(baju, left, j, by, option);
if (i < right) sort(baju, i, right, by, option);
}

void saveData(Baju baju[], int totalItem){
FILE *file = fopen(“data.txt”, “w”);
for (int i = 0; i < totalItem; i++)
fprintf(file, “%s;%s;%d;%d\n”, baju[i].kodeBaju, baju[i].namaBaju, baju[i].qty, baju[i].hargaSatuan);
fclose(file);
}

int main(){
Baju baju[100];
int totalItem = initProgram(baju);
int choose, avail;
char tempCode[10], tempBy[10], tempSrt[10];
do{
system(“cls”);
printf(“\t\t\tJackForce Store\n\n”);
generateTable(baju, totalItem);
printf(“Menu\n”);
printf(“====\n”);
printf(“1. Add Item\n”);
printf(“2. Remove Item\n”);
printf(“3. Sort Item\n”);
printf(“4. Exit\n”);
printf(“\nInput menu : “);
scanf(“%d”, &choose); fflush(stdin);
switch (choose){
case 1:
sort(baju, 0, (totalItem-1), “code”, “asc”);
do{
printf(“Input your item’s name [3..20] : “);
gets(baju[totalItem].namaBaju);
} while (strlen(baju[totalItem].namaBaju)<3 || strlen(baju[totalItem].namaBaju)>20);
do{
printf(“Input your item’s qty [1..1000] : “);
scanf(“%d”, &baju[totalItem].qty); fflush(stdin);
} while (baju[totalItem].qty<1 || baju[totalItem].qty>1000);
do{
printf(“Input your item’s price [10000..1000000] : “);
scanf(“%d”, &baju[totalItem].hargaSatuan); fflush(stdin);
} while (baju[totalItem].hargaSatuan<10000 || baju[totalItem].hargaSatuan>1000000);
strcpy(baju[totalItem].kodeBaju, generateCode(baju, totalItem));
totalItem++;
printf(“Success insert the new item!”);
getchar();
break;
case 2:
avail = -99;
do{
printf(“Input your item’s code [input ‘cancel’ to cancel] : “);
scanf(“%s”, tempCode); fflush(stdin);
if (strcmp(tempCode, “cancel”) != 0 && (avail = checkCode(tempCode, baju, totalItem)) == -1){
printf(“Can’t find the item that you mean.. Please check again the code.\n”);
getchar();
}
} while (strcmp(tempCode, “cancel”) != 0 && avail == -1);
if (avail != -99){
for (int i = avail + 1; i >= 1 && i < totalItem; i++){
baju[i-1] = baju[i];
}
totalItem -= 1;
printf(“Success delete an item!”);
getchar();
}
break;
case 3:
do{
printf(“Sort by [code/name/qty/price] : “);
scanf(“%s”, tempBy);
} while (strcmp(tempBy, “code”) != 0 && strcmp(tempBy, “name”) != 0 && strcmp(tempBy, “qty”) != 0
&& strcmp(tempBy, “price”) != 0);
sort(baju, 0, (totalItem-1), tempBy, “asc”);
printf(“The data has been sorted!”);
getchar();
break;
}
} while (choose != 4);
saveData(baju, totalItem);
printf(“Exit from the System.. Press Any Key to Continue…”);
getchar();
return 0;
}

Review Materi Algoritma dan Pemrograman Ke-10

pada pertemuan kelas besar algoritma dan pemrogaman yang ke-10 ini saya kita belajar tentang sorting dan berbagai metodenya, dan yang paling gampang adalah bubble sort namun paing lama dan yang paling cepat dan rumat adalah quick sort

makadari itu saya akan membahas apa itu Sorting,

sorting adalah mengurutkan data yang bertujuan untuk memudahkan dalam proses pencarian data.

pada kelas kaliini kita juga dapat bocoran bahwa ini oasti keluar pas ujian

1.Bubble sort

seperti buble dari bawah di chek apakah lebih kecil kali lebih kecil dy pindah pindah pindah kedepan kalo kita mau ngurutinnya ascending,

  • Compare two neighboring values.
  • Compare and swap (if necessary)
  • Also known as exchange sort

saat ujian boleh di hafal kodenya:

void Bubble(int *DataArr, int n)

{

int i, j;

for(i=1; i<n; i++)

for(j=n-1; j>=i; j–)

if(DataArr[j-1] > DataArr[j])

Swap(&DataArr[j-1],&DataArr[j]);

}

2.Selection sort
cara ini juga cukup mudah dimana kita menggunakan variabel temp untuk menyimpan indeks dengan isi terkecil dan jika semua data sudah di chek maka indek yang ada di temp menjadi data terkecilnya dan prosenya d ulang lagi hingga habis.

3.Insertion sort
Setiap putaran tidak menentukan nilainya terkecil, namun iya akan menyisipkan index dengan isi yang terkecil  setiap kali menemukan indek yang lebih kecil. disini kita juga bisa menggunakan variabek temp tapi bebeda dengan selection sort karena temp di sini hanya untuk swamp aja.

4.Quick sort  sorting yang menggunakanmenggunakan teknik recursive. dan yang paling sulit di pahami, namun bisa di hafal juga kodenya. cocok untuk program dengan data yang banyak.

5.Merge sort  ini juga cukup cepat  dimana data di bagi  dua dua sampai habis dan kemudian di urutkan dan di gabung  dua dua. sampau tergabung semua lagi

sekarang kita bahas searching.

Teknik searching :
-Linear search

menggunakan looping dan menyimpan data yag sesuai disuatu variabel temporary dan melanjutkan hingga data habis di looping dan menampilkan hasil yang ada di variabel temporary

-Binary search

-Interpolation search

binary dan interpolar seach tidak bar-bar dan dapat di hafalakan juga rumusnya.

Review Materi Algoritma dan Pemrograman Ke-9

Hari ini materi yang disampaikan adalah FILE Access, dengan jumlah Slide presentasi 22 dan sudah termaksud sumber dan ucapan Thankyou buat perhatiaanya, jadi materi nya sangat simple dan sedikit dan pak dosen kelas besar saya yang akan buat soal UTS nya dan UTS kita bahannya Ini saja,

 

oke berikut materi yang dibahas :

File Processing:

–Files and Streams

–File Definition

–Open File

–Close File

–Input File

–Output File

Definisi File, record dan penyusunnya :

File is a collection of record
Record is a collection of field
Field is a block of byte
Byte is collection of bit

Definisi Streams 

  • To keep key in data from keyboard need to be saved at secondary storage device as a data file.
  • Stream is a sequence of character. All input and output data is a stream. C sees file as a stream.

ketika kita menjalankan Program yang dibuat dengan bahasa C dan turunnanya maka program itu menjalankan 3 jenis stream:

  1. Standard Input Stream

Controlling input stream from keyboard

  1. Standard Output Stream

Controlling output stream to the monitor

  1. Standard Error Stream

Controlling the error messaging

yang masing masing tersingkronisasi dengan File yang diakses

 

ada beberapa jenis file :

  • TEXT FILE saved in a text format or ASCII File

–Storage size depends on its data: 10000 needs 5 byte

–Can be open using standard text editor application

–or c:>TYPE file_name

  • BINARY FILE storing numerical data in affixed format in line with micro-processor format definition (example: format sign-magnitude 2’s complement).

dalam mengakses file kita akan membuka dan menutup file

yang perintanya ada di header <stdio.h>

Opening a File using fopen():

dengan menuliskan :  FILE *fopen (const char *filename, const char *mode );

  •   “r”  opening a file to be read.“w”  creating a file to be written.

    a”  opening a File for data append.

    r+”  opening a File for read/write.

    w+”  creating file for read/write.

    a+”  opening a File for read/append

    “rb”  opening a File (binary) to be read.

    “wb”  creating a file (binary) for write operation.

setlah membuka file maka filenya harus di tutup dengan :

fungsi fclose() yang sudah ada di <stdio.h>

  • fclose() will return 0 if successful, and EOF if error
  • EOF (End Of File) equals to -1
  • fclose() will release the buffer area and immediately send the remaining data to file.

demikian Info yang bisa saya dapat dan saya tampilkan

Review Materi Algoritma dan Pemrograman Ke-9

Hari ini materi yang disampaikan adalah FILE Access, dengan jumlah Slide presentasi 22 dan sudah termaksud sumber dan ucapan Thankyou buat perhatiaanya, jadi materi nya sangat simple dan sedikit dan pak dosen kelas besar saya yang akan buat soal UTS nya dan UTS kita bahannya Ini saja,

 

oke berikut materi yang dibahas :

File Processing:

–Files and Streams

–File Definition

–Open File

–Close File

–Input File

–Output File

Definisi File, record dan penyusunnya :

File is a collection of record
Record is a collection of field
Field is a block of byte
Byte is collection of bit

Definisi Streams 

  • To keep key in data from keyboard need to be saved at secondary storage device as a data file.
  • Stream is a sequence of character. All input and output data is a stream. C sees file as a stream.

ketika kita menjalankan Program yang dibuat dengan bahasa C dan turunnanya maka program itu menjalankan 3 jenis stream:

  1. Standard Input Stream

Controlling input stream from keyboard

  1. Standard Output Stream

Controlling output stream to the monitor

  1. Standard Error Stream

Controlling the error messaging

yang masing masing tersingkronisasi dengan File yang diakses

 

ada beberapa jenis file :

  • TEXT FILE saved in a text format or ASCII File

–Storage size depends on its data: 10000 needs 5 byte

–Can be open using standard text editor application

–or c:>TYPE file_name

  • BINARY FILE storing numerical data in affixed format in line with micro-processor format definition (example: format sign-magnitude 2’s complement).

dalam mengakses file kita akan membuka dan menutup file

yang perintanya ada di header <stdio.h>

Opening a File using fopen():

dengan menuliskan :  FILE *fopen (const char *filename, const char *mode );

  •   “r”  opening a file to be read.

    w”  creating a file to be written.

    a”  opening a File for data append.

    r+”  opening a File for read/write.

    w+”  creating file for read/write.

    a+”  opening a File for read/append

    “rb”  opening a File (binary) to be read.

    “wb”  creating a file (binary) for write operation.

setlah membuka file maka filenya harus di tutup dengan :

fungsi fclose() yang sudah ada di <stdio.h>

  • fclose() will return 0 if successful, and EOF if error
  • EOF (End Of File) equals to -1
  • fclose() will release the buffer area and immediately send the remaining data to file.

demikian Info yang bisa saya dapat dan saya tampilkan

Review Materi Algoritma dan Pemrograman Ke-7 dan 8

TULISAN DI BLOG INI SEGAJA DI TULIS TYPO GUNA MENGGANGGU PENGOPAS

 

pada pertemuan kelas besar algo yang ke 7 dan 8 ini digabung menjadi 2 pertemuan sekaligus dalam satu hari,

saya tidak begitu senang karena saya sedih dosen saya yang lucu itu tidak hadir, meskipun demikian saya tetap mengikuti pelajaran dengan  baik dan hadir tepat waktu.

jadi pada sesi pertama kita diajarin oleh Aslab tentang:

Function and Recursion

Modular Programming dimana 1  program dibagi mnejadi bebrapa modul. dengan memanggil manggil fungsi.

fungsi fusngsi yang kita buat untuk di jalankan di main harus di declare di atas karena pembacaan programmnya dari tas ke bawah.

jadi misalnya

void makan();

void minum();

 

int main{

int blasaslaslansjdak; // apa ja dah

 

void makan(variabel yang ada di dalem main buat di masukin ke fungsi ini);

void minum(variabel yang ada di dalem main buat di masukin ke fungsi ini);

 

}

void makan((int banyak, char makanan)){

 

}

void minum(int banyak, char minuman){

bla bla bla

}

 

 

kami juga diajarkan cara membedakan jenis Variabel bedasarkan tempatnya

ada yg dalem scope ada yang globa dan ada yang lokal

sebenerrnya si gak disarakan buat menggunakan variabel global karena tingkat kekeliruan lebih besar dan takut pusing.

 

 

selanjutnya kita d ingatkan kalo kita akan di beri pr buat sekelompok.

setelah itu kita masuk sesi ke dua yang di dapati ada dosen tamu dari dewa WEB, ya sebenernya materinya lebih fokus buat anak CS tapu saya yang GAT ikt nimbrung saja karena dosen import nya bawa hadiah.

dan saya dapat notes.

untuk materi yang di ajarkan , kami di kasi tau tentang ke amanan bergaai maca situs berbelanja dan situs situs yang berhubungan dengan data pribadi seseorang,

yaa gak gitu penting.

 

dans elain itu ika di kasiatu berbagai jens WEB sekuriti

ada 3 jenis dari yang gampang banget i dapetin da gak gitu aman, yang ga gampag didapetin dan yang paling susah didapetin dan paling aman.

sudah seikan dari saya.

Review Materi Algoritma dan Pemrograman Ke-6

 

 

TULISAN DI BLOG INI SEGAJA DI TULIS TYPO GUNA MENGECOH PARA PENGOPAS

 

pada pertemuan algo ke enam saya pada semester 1 ini
kami melakukan review materi yang telah di ajarakan oleh pakdosen saya yang baik ganteng dan lucu.

jadi sebagai programmer yang nantinya (saya) akan mebuat game karena saya dari jurusan GAT saya akan sanggat memerlukan segala jenis BASIC pemrogramman yang mantap.

 

jadi kami belajar cara membuat diamond, segitiga pascal, segitiga smaa sisi dan sebagian besar dari kami dipersilahkan untuk maju ke depan dam menjelaskan teman kami. jadi sebagian besar dari kami merakan pengalaman menjadi osen dimana  kami tahu bahwa, menjadi dosen bukanlah hal yang mudah.

 

dan magicnya pas Quis soal segitigas pascal keluar dan saya cuman bisa bikin sampe 1331.

dan akirnya saya mengulang lagi dan lagi untuk menjawabnya di rumah sya mencobanya lagi besama dengan soal Quis saya .

\\ segitiga sama kaki
#include <stdio.h>
#include <string.h>
#include <Windows.h>
#include <conio.h>
#define flush fflush(stdin);
int main() {
int k,j;
int a,b,c,d,e;

/*
a panjang
b banyak kolom
c banyak baris
d bintang
*/
system(“color 6b”);
scanf(“%d”,&a); flush
e=a; int f=1;
for(b=1 ; b<=e ; b++){

for(c=1 ; c<=a ; c++){

printf(” “);}

for(d=1 ; d<=b ;d++){

printf(“*”);}
for(d=b-1; d>=1 ;d–){

printf(“*”);}

printf(“\n”);
a–;
}
getchar();
return 0;
}

\\siamond tidak bolong
#include<stdio.h>
#include<windows.h>
#include<string.h>
void main(){

int a,b,c,d=1,e,f;

int i = 4 ;
/*
hasil output yang diinginkan:
*
* *
* * *
* * * *
* * *
* *
*
*/
for(a = 1 ; a <= i ; a++ )//barissebanyak 4
{
for(b = i-1 ; b>= a ; b–)// lebarkolom
{printf(” “);
}
//diamond;

for(c=1 ; c<=a ;c++){
printf(“* “);}
printf(“\n”);
}

for(a = 1 ; a <= i-1 ; a++ )//barissebanyak 3
{
for(d=1 ; d<= a; d++){
printf(” “);}
for(c=i-1 ; c>=a ; c–){
printf(“* “);}
printf(“\n”);
}
getchar();}

 

//segitiga sama kaki
int i =15; //anggap input 15
scanf(“%d”,&i); fflush(stdin);
for(a = 1 ; a<=i ;a++){//banyak baris
for(b = a ; b<=i-1 ;b++){
printf(” “);}
for(c = 1 ; c<=a ; c++){
printf(“*”);}
for(d = 3; d<=c ; d++){
printf(“*”);}

printf(“\n”);}
segitiga pascal saya di bantu koko saya kerjai yg ini karena cuman bisa sampe 1331

int konstanta=1;

for(a=0 ; a<i ; a++){
konstanta = 1;
for(c=0 ; c< i-a ; c++){printf(” “);}
for(b=0 ; b<=a ; b++){
if(b==1 || b==a){
e = 1;
printf(“%d “,e);}

else {
printf(“%d “,konstanta);
konstanta = konstanta * (a-b)/(b+1);
e = a-1 ,b-1 + a-1,b;
printf(“%d “,e);
}
}
printf(“\n”);}

getchar ();
return 0;}

sekian pak

doakan saya lulus ya

Review Materi Algoritma dan Pemrograman Ke-5

pada pertemuan algo ke lima saya pada semester 1 ini
kami mebahas tentang : Array &*pointer

jadi sebagai programmer yang nantinya (saya) akan mebuat game karena saya dari jurusan GAT saya akan sanggat memerlukan
Array dalam membuat game atapun hanya program kecil sederhana, sudah terbukti sejak saya mengikuti training NAR16-1 dimana saat test masuk saya dan teman teman ditugaskan untuk meng copycat program berupa permainan labirin. saat itu saya tidak tahu tentang Array, jadi saya tidak bisa membuatnya, samapi suati hari saya bertanya kepada teman saya bagai mana cara membuatnya, dan teman saya bilang “pakai Array”. selain itu, array dan pointer juga bisa digunakan untuk menampilkan list Rankning player dan score mereka dalam game.

selain itu sepertibiasa, materi ini pasti keluar pas ujiann nanti dan selalu ada di bahasa pemrogramman apapun

tapi sejujurnya pada kelas kalini saya bolos, karna saya ikut seminar dari Nottingham, dan berasil membawa pulang FD dan hadiah exclusive dari Nottingham, karena menjawab pertanyaan.

maafin saya ya bapak =’)

jadi dalam memasukakn repetition dalam program yang kita program
kita akan mengenal
yang disebut dengan:
pelajaran hari ini:
Array and Pointer

kadi pertama tama kita bahs Pointer dulu ya,

pengertian pointer: pointer adalah variabel yang menujuk alamat dari variabel lain.

contoh : pointer

int *p

pengertian pointer to pinter: pointer yang menunjuk alamat dari pointer.jadi bisa saja pointer to pointer meunjuk dirinya sendiri.

contoh : pointer to pointer

int  **ptr_ptr;

jadi pointer ditunjukan dengan *

sekian tentang pointer yang saya tahu

sekarang kita bahas Array

apa itu Array? Array adalah data yang disimpan dalam suatu bentuk struktur yang pasti dimana data dapat diakses secara bersamaan atau terpisah dan merupakan Variabel yang memiliki Index dimana setiap indeksnya dapat diisi data yang berbeda ,

Karakteristik Array:

 

-semua tipe data dalam suatu Array harus sama

-kita dapat mengakses data dalam Array tampa harus mengikuti urutan

selainitu ada yag namanya Array 1 dimensi, Array 2 dimensi dan Array 3 dimensi

contoh Array 1 dimensi

int a[];

contoh  Array 2 dimensi

int b[][];

contoh  Array 3 dimensi

 

int c[][];
misal:
int y[]; //ini adalah array

Array dimulai dari 0
misal:
int y[10];
isinya ada dari stot 0-9

cara memasukan nilai ke array:
int b[]= {1,2,3,4,}; //yang keisi slot 0 – 3
int b[10]= {1,2,3}; //yang kesisi slot 0 – 2

contoh cara inisialisasi yang salah:
int b[5];
b = {1,2,3,4}

jadi harus diawal

pointer
adalah variable yang menyimpan alamt variable lain

penggunaan pointer
contoh
int vinata = 5;
int *ptrpunyague;

ptrpunyague = &vinata;

printf(“%d\n”,*ptr);
penggunaan pointer dan array (sederhana):
contoh
int a [10];
int vinata = 1;

a[1] = 20;
a[2] = 40;

a[3] = a[1] + a[2];
for(int vinata = 1 ; vinata <=3 ; vinata++ ){
printf(“%d\n”,a[vinata]);
}

perbedaan ponter berdasarkan hal yang ditunjuk dan cara akses
jadi 2 yaitu :
Pointer Constat & Ponter Variable

1.pointer constant ada pada array
hanya visa di inisiasi diawal

contoh:
int abc[10];
abc[0] = 23;
2.pointer Variable diset di Variable
contoh:

int *ptr;

 

ya sekian dulu blog saya untk pertemuan Algo ke lima ini,

semoga saya sukses dan berhasil menjalani UTS dengan Nilai A+

Review Materi Algoritma dan Pemrograman Ke-4

pada pertemuan algo ke emapat saya pada semester 1 ini
kami mebahas tentang : looping
nama lain dari looping, adalah repetition atau I…..(saya lupaa karena baru sekali dengar)
dan jika dijadikan Bahasa Indonesia artinya “pengulangan”.

jadi sebagai programmer yang nantinya (saya) akan membuat game karena saya dari jurusan GAT saya akan sanggat memerlukan
looping dalam membuat game atapun hanya program kecil sederhana

selain itu materi ini pasti keluar pas ujiann nanti dan selalu ada di bahasa pemrogramman apapun

jadi dalam memasukakn repetition dalam program yang kita program
kita akan mengenal
yang disebut dengan:

Program Control – Repetitionyang terdiri dari:

1.Repetition Definition
2.For
3.While
4.Do-While
5.Repetition Operation
6.Break vs Continue
jadi kita membahasRepetition/looping operation :
for
while
do-while

saya berikan contoh:

for (x=1; x <= 10; x++) {printf(“%d”,x);}

yang sebenarnya terbagi menjadi 3 bagian:
for (ekspesi_1 ; ekspresi_2 ; ekspresi_3){statement}

dimana:
ekspresi_1 : Pendefinisian
ekspresi_2 : kondisi
ekspresi_3 : increment atau decrement
dalam melakukan looping, kita mengenal:
Infinite Loop(yang bisa disebut looping for ever yang menbutkan pernyataan break; untuk keluar dari loopingan)
Loop with no stop condition can use “for-loop” by removing all parameters (exp1, exp2, exp3). To end the loop use break.

Nested Loop(lo0ping yang terjadi daari pendefinisian dan dilanjutkan dengan penyecekan kondisi yang akan berhenti ketika kondisi bernilai benar)
Loop in a loop. The repetition operation will start from the inner side loop.

sekarang kita akan membahas tentang, DO WHILE dan WHILE yang akan kita gunakan untuk melakukan looping.

jadi perbedaan DO WHILE dengan WHILE
DO WHILE melakukan pengecekan setelah pernyataan telah diberikan, dan akan melakukan pengulangan jika pernyataan masih bernilai benar
contohnya pada penggaplikasikan mesin ATM dimana nasabah harus memasukan pin mereka untuk pengecekan dahulu.

contoh :
do{
printf(”%d\n”,Vinata);
} while(++Vinata <=10);

dengan
Syntax :
do{
< statements >;
} while(exp);
sedangkan WHILE melakukan pengecekan di Awal.
contohnya tidak bisa disamakan dengan pengecekan pin ATM karena kan lucu kalau belum masukan PIN tapi sudah ada tulisan
“PIN anda salah !”.

contoh :

void main() {
int Vinata = 1;
while (Vinata<=10) {
printf( “%d\n”, Vinata );
x++;
}
}

 

tambahan pake bahasa inggrisdari PPT:
In while operation, statement block of statements may never be executed at all if exp value is false
In do-while on the other hand statement block of statements will be executed min once

To end the repetition, can be done through several ways:
Sentinel
Question, should the repetition continue?

Review Materi Algoritma dan Pemrograman Ke-3

Pada pertemuan ke-3 Kelas besar Algoritma dan Pemrogaman

kita membahas

Program Control – Selection:

–Selection Definition

–If

–If-Else

–Nested If

–Program Examples Using If

–Switch-Case

–?: Operator

–Error Type

 

pertama-tama kita belajar membedakan If, If Else, dan Nested If, yang erupanakan syntax yang sangat sering kita temukan saat pemrogaman menggunakan C, C++, C# dan java.

Kalau kita menggunakan If saja berati kita punya 1 kondisi yang bernilai benar (TRUE)yang akan memberikan 1 pernyataan.

Kalau kita menggunakan If Else kita mempunyai 2 Kondisi, yaitu benar (TRUE) atau salah (FALSE). jika pernyataan yang diterima sesuai dengan kondisi IF maka printah If akan dijalankan. jika tidak maka Else yang akan di jalankan

contohnya dalam potongan program yang saya buat:

printf(“tekan 0 jika anda suka saya\n tekan angka selain0 jika anda benci saya”);

scanf(“%d,&X”); fflush(stdin);

IF(X=0){printf (“saya suka kamu juga”)}

else {printf (“saya tidak suka kamu juga”)}

jika diterima iput angka selain 0 maka akan tercetak :”saya tidak suka kamu juga”

Kalau kita menggunakan Nested if kita harus mempunyai belih dari 2 Kondisi, jika pernyataan yang diterima sesuai dengan kondisi IF maka printah If akan dijalankan. jika tidak maka Else yang akan di jalankan jika masih tidak sesuai maka proram akan menjalankan else yang lain hingga sesuai.

contohnya dalam potongan program yang saya buat:

printf(“tekan 0 jika anda suka saya\n tekan angka 1 jika anda benci saya\n tekan angka 2 jika anda biasa saja”);

scanf(“%d,&X”); fflush(stdin);

if(X=0){printf (“saya suka kamu juga”)}

else if (X=1) {printf (“saya tidak suka kamu juga”)}

else if (X=2) {printf (“saya tidak suka kamu jawab gitu”)}

jika diterima iput angka 1 maka akan tercetak :”saya tidak suka kamu juga”.

 

selanjutnya kita bahas- Selection: SWITCH-CASE

fungsinya hampir sama dengn If Else tapi, hal yang bisa kita kerjakan dengan If- Else belum tntu dapat kita kerjakan dengan switch case

berikut contoh program yang saya buat dengan menggunakan keduanya:
#include <stdio.h>
int main()
{
int tm, uas, uts, nilaiakhir;
char grade;
printf(“masukan nilai=\n”);
scanf (“%d”,&tm);
fflush (stdin);

printf(“masukan nilai=\n”);
scanf (“%d”,&uas);
fflush (stdin);

printf(“masukan nilai=\n”);
scanf (“%d”,&uts);
fflush (stdin);

nilaiakhir= tm*20/100+uts*30/100+uas*50/100;

printf(“%d”,nilaiakhir);

if (nilaiakhir<=100 && nilaiakhir >=81 )
{ grade = ‘a’;
printf (“grade anda = A\n”);
}
else if (nilaiakhir<=80 && nilaiakhir >=71 )
{ grade = ‘b’;
printf (“grade anda = B\n”);
}

else if (nilaiakhir<=70 && nilaiakhir >=51 )
{ grade = ‘c’;
printf (“grade anda = C\n”);
}

else if (nilaiakhir<= 50 && nilaiakhir >= 0 )
{ grade = ‘d’;
printf (“grade anda = D\n”);
}

switch (grade)
{case ‘a’ : printf(“Mantap\n”);
break;

case ‘b’ : printf(“bagus\n”);
break;

case ‘c’ : printf(“cukup\n”);
break;

case ‘d’ : printf(“Mati aja\n”);
break;

getchar ();

return 0;

 

setelah membahas syntax yang akan sering kita jumpai, kita membahas: ?: Operator

opertor ? : dapat digukan untuk mengganti syntax If hanya saja bedanya opertor 😕 membelikan nilai benar, tidak speerti If yang berjalan jika pernyataan bernilai benar.

seperti ini:

if(a > b)

max_value = a;

else

max_value = b;

dapat kita tulis menjadi:

max_value = (a > b) ? a : b;

setelah itu ikta membahas Go To and Label

pada era sekarang ini Go TO label sudah jarang di gukakan dan sudak tidak di kembangakan karena penggunaan Go To label dapat menyebabkan kebingungan dan dokumentasi yang membuat orang bingung karena dengan menggunakan Go To label kita dapat meng skip pembacaan program dari abris ke baris yang dikehendaki tetapi dpaat membingungan.

jadi tidak perlu dipelajari tidak apa.

Setelah membahas bergai Sintax dan Operator kita membahas berbagai jenis Error yang akan sering kita jumpai dalam programming sebagai programmer Newbie.

  • Compile-Time Error

–caused by syntax error(kesalahan programmer dalam mengunakan Syntax)

  • Link-Time Error

–success fully compiled, but cause link error

–caused by no object code at link time (kesalahan programmer dalam memasukan link yang berisi program data data yang salah lokasi penympannan)

  • Run-Time Error

–successfully compiled, but error at runtime. Usually caused by numerical operation such as: overflow, floating point underflow, division by zero, etc.(kesalahan programmer dalam mengunakan tipe data, misalnya kita memasukan angka 26299261 tetapi tipe datanya int yang hanya mampu menampung -128 sampai127.)

  • Logical Error

–wrong result caused by incorrect logical flow/algorithm(kesalahan programmer dalam mengunakan otak mereka untuk menentukan algoritma pemrogramman yang dpaat menghasilkan hasil Out-put yang diinginkan)

 

 

sekian yang saya pelajari Pada kelas besar ke-3 di semester 1 ini.

 

 

 

Review Materi Algoritma dan Pemrograman Ke-2

Pada pertemuan Algoritma & pemrograman ke-2 yang terlaksana pada tanggal 8-Oktober 2015,   kita membahas tentang :

Operator, Operand, and Arithmetic:

  • Operator and Operand Introduction
  • Assignment Operators
  • Arithmetic Operators
  • Relational Operators
  • Conditional Expressions
  • Logical Operators
  • Bitwise Operators
  • Pointer Operators
  • Precedence and Associative
  • Exercise

Jadi,

Operator adalah Simbol untuk memproses NIlai agar menghasilkan Nilai baru.

Operand adalah bagian yang memspesifikasikan data yang akan diproses oleh Opertaor.

  • Contoh :

                              X = Y + Z

                              (‘=’ dan ‘+’ sebagai operators, X, Y dan Z sebagai operands)

  • Berdasarkan jumlah operand , operator dibedakan menjadi 3 :
    • Unary operator (memerrlukan 1 operand)
    • Binary operator (memerlukan 2 operands)
    • Ternary operator (memerlukan 3  operands)

 

  • Berdasarkan tipe oprerasi yang dijalankan, operator dapat dikelompokan menjadi:
    • Assignment Operator
    • Logical Operator
    • Arithmetic Operator
    • Relational Operator
    • Bitwise Operator
    • Pointer Operator

Setelah itu kita membahas :

Conditional Expressions

Untuk menjelaskan tentang Conditional expression saya akan memberikan contoh pernyataan:

if(a > b)  z = a;

else z = b;

pernyataan diats dapat membentuk  conditional expression

  • Conditional expression menggunakan ternary operator : ‘?’ dan ‘:’

 

Contoh laiinya int main () {

int bil, abs;

bil = 50;

abs = (bil1 > 0) ? bil : – bil;

printf(“%d \n”,bil);

bil = – 50;

abs = (bil1 > 0) ? bil : – bil;

printf(“%d \n”,bil);

return(0);

}

*abs adalah bilangan absolut

 

ogical Operator

Operand dalan Logical Operator berperan untuk memberikan pernyataaan bahwa suatu nilai bernilai TRUE or FALSE

Contoh :

int x=5; int y=0;

x && y;                                               // FALSE

(x > y) && (y>=0);              // TRUE

Bitwise Operators

Dan pada saat membahas tentang Bitwise Operrator saya lebih memperhatikan tentang saat bagaimana cara menghitung bilangan binary, jadi tadi diajarkan cara mengitung bilangan binary menjadi angka atau cara menghitung bilangan binary dari angka biasa.

Jadi misalnya kita diberikan angka 10

Cara menghintung binarynya dengan cara mencari bilangan pangkat 2 yang paing mendekati angka 10 jadi saya ambil 2^3 yang bernilai 8 nah setelah itu 10   saya kurangi dengan angka 8 sisanya tinggal 2, nah bilangan pangkat 2 berapa yang hasilnya 2 jadi saya ambil 2^1 nah hasilnya 2lalu saya kurangi dengan angka 2 yang saya dapat dari hasil pengurangan 10 dengan 8 .

Nah jadi binarynya adalah  1010

dan akan membahas tentang Precedence and Associative pada petermuan minggu depan, jadi ditunggu ya post dari saya buat minggu depan. ^_^