APA YANG SAYA DAPAT DI RUANG 800 PART 9 (10)

hari ini kita belajar sorting dan searching..
cekibrot…

Sorting
Sorting adalah mengurutkan suatu data
•Simple:
– Bubble sort
yaitu metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut dan juga mengurutkan data dari yang terbesar ke yang terkecil atau sebaliknya (Ascending atau Descending).
– Selection sort
memastikan data kecil dan data besar
– Insertion sort
insertion Sort merupakan algoritma yang efisien untuk mengurutkan angka yang mempunyai jumlah elemen sedikit.

•Intermediate:
– Quick Sort
Quick sort adalah algoritma sorting yang berdasarkan pembandingan dengan metoda divide-and-conqueror. Disebut Quick Sort, karena Algoritma quick sort mengurutkan dengan sangat cepat. Algoritmaquick sort mengurutkan dengan sangat cepat, namun algoritma ini sangat komplex dan diproses secara rekursif.
– Merge Sort
Merge sort adalah sort yang dilakukan dengan teknik merge (menggabungkan) dua buah array kedalam sebuah array yang baru.

Searching

–Linear Search
•Algorithm:
1. n : total record of array x.
2. For each x[i], 0 £ i £ n-1, check whether x[i] = key.
3. If x[i] = key, then the searched data is found in index=i. Finished.
4. If x[i] ¹ key, then continue searching until the last data which is i = n-1.
5. If i= n-1 and x[i] ¹ key, it means the data is not exist in the list, and set index = -1. Finished.

–Binary Search
•Algorithm:
1. n : total record of array x.
2. left=0, right= n-1.
3. mid =(int) (left + right)/2.
4. If x[mid]=key then index = mid. Finished.
5. If x[mid]key then right = mid-1.
7. If left £ right and x[mid] ¹ key, then repeat point 3.
8. If x[mid] ¹ key then index = -1. Finished.

–Interpolation Search
•Algorithm:
1.In the interpolation search, we’ll split the data according to the following formula:
2.If data[mid] = sought data, data has been found, searching is stopped and return mid.
3.If data[mid]!= sought data, repeat point **
4.**Searching is continued while sought data > data[min] and sought data < data[max].

APA YANG SAYA DAPAT DI RUANG 800 PART 7

Modular Programing
Program biasanya di bagi kedalam modul. Modul di bahasa pemrograman C diimplementasikan dengan menggunakan function. Function adalah sekumpulan statement yang di gunakan untuk melakukan sesuatu yang spesifik.

Modul juga sering di sebut sebagai Sub-Program.Best practice in module programming:
–High Fan-In, frequently used
–Low Fan-Out, more specific functionality/ small number of job
–Self-Contained, self resource sufficientFunction in C divided in two types :
–Library function
–User-defined functionFunction Prototype

Syntax : return-value-type function-name ( parameter-list );
Identifier Scooping:
– Local
– Global
Recursive
adalah sebuah function yang yang di gunakan untuk memanggil function itu sendiri.Setelah pertemuan ini, pertemuan selanjutnya ada tamu undangan dari PT. Dewa Web yang memberikan penjelasan tentang Crytography dan SSL yang sangat berguna jika ingin membuat suatu web.

APA YANG SAYA DAPAT DI RUANG 800 PART 8

File adalah kumpulan record (baris)
Record adalah kumpu lan field (column)
Field adalah blok byte
Byte adalah kumpulan bit

jadi 1 byte = 8 bit

– File dan Streams:

Stream adalah urutan karakter. Semua input dan output data stream.

ada staandar streams

Standart Input Stream

Standart Output Stream

Standart Error Stream

OPEN FILE

FILE *fopen

r -> READ

w -> Tulis

a -> Nambahin data , dibelakang

r+ -> buka data untuk ditulis dan dibaca

w+ -> buat data untuk tulis dan baca

a+ -> buka data untuk baca atau tambah

Close File

int fclose(FILE *stream)

– defined at stdio.h

-EOF equals -1

-Ditutup agar aplikasi lain bisa melihat

– Input dan output file
– fgetc (INPUT)
– Membaca satu karakter dari dua file
– fgetc (stdin) ekuivalen dengan getchar ()
– Syntax: int fgetc (FILE *stream);

– fputc (OUTPUT)
– Menulis satu karakter ke file
– fputc (‘a’, stdout) sama dengan putchar (‘a’)
– Syntax: int fputc (int c, FILE * stream);

– fgets (INPUT)
– Syntax: char *fgets( char *string, int n, FILE *stream );
– Membaca satu baris dari sebuah file yang berakhir dengan baris baru, atau maksimum n-1 jumlah karakter.
– Kembali string jika successful dan NULL jika error

– fputs (OUTPUT)
– Menulis baris ke file
– syntax: int fputs( const char *string, FILE *stream );
– Mengembalikan nilai non-negatif jika berhasi dan EOF jika error.

– fscanf (INPUT)
– Syntax:int fscanf( FILE *stream, const char *format [, argument ]… );
– Membaca data dari file dengan format scanf.
– mengembalikan jumlah field dan read jika successful, dan EOF jika error

– fprintf (OUTPUT)
– Syntax:int fprintf( FILE *stream, const char *format [, argument ]…);
– Menulis data ke file menggunakan format printf.
– Pengembalian byte written jika nilai successful dan negatif jika error.

– fwrite
– Syntax: size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );
– Writing a block of data in the buffer area to the file
– Return number of byte data written, and error otherwise.

– fread
– Syntax: size_t fread( void *buffer, size_t size, size_t count, FILE *stream );
– Baca ukuran blok data dari file

– feof
– Syntax: int feof( FILE *stream );
– Mencari tahu apakah pointer telah mencapai end-of-file
– Kembali 0 jika tidak berakhir end-of-file

APA YANG SAYA DAPAT DI RUANG 800 PART 5

Pointer (dideklarasikan pakai tanda *) adalah variabel yang menyimpan alamat dari variabel lain. Pointer ini nggak bisa nyimpen value, value yang dia simpan adalah alamat dari variabel lain itu sendiri. Contoh penulisannya nih: *ptr_name

int i, *ptr;

ptr= &i;

*ptr= 5;

Berarti, nilai i sama dengan 5, karena ptr menunjuk ke arah i, yang mana kalau kita mengubah nilai ptr, nanti i akan berubah secara otomatis. Sama halnya kalau kita memanggil ptr untuk dicetak, nanti nilai yang ditampilkan adalah i, karena secara nggak langsung kita mencetak nilai i. Kembali lagi ke deskripsi awal tadi, ptr nggak bisa menyimpan nilai yang hakiki, dia cuma bisa menunjuk suatu variabel. Kalau kayak kata dosen praktikum, pointer ini kayak arwah yang cuma bisa rasukin manusia, tapi gak punya jasad. Ea, kebanyakan nonton film Insidious tuh.

Nah, selain pointer biasa, ternyata ada lagi yang namanya double pointer. Bahkan nggak cuma double, tapi triple dan kelipatan lain! Maksudnya ini apa? Yaah sama aja sih gunanya, sama-sama cuma untuk ‘nunjuk’, nggak bener-bener punya nilai, hanya menyimpan nilai alamat dari suatu variabel. Tapi bedanya nih, kalo double pointer (**) cuma bisa nyimpen nilai single pointer (*), dan triple pointer (***) juga cuma buat nunjuk ke double pointer (**) Ibaratnya, bintangnya dikurang satu, baru bisa menyimpan alamat si pointer sebagai nilai. Tapi sebenarnya triple pointer aja udah jarang digunakan, jadi walaupun kuartet pointer atau lima bintang pointer bisa kita gunain, tapi tetep aja fungsinya kurang bisa diterapin untuk ngoding. Katanya juga, pointer jarang keluar buat test live coding. Kalo gak salah sih gitu ya.

Nah abis pointer ada lagi yang namanya array. Kalau buat yang udah pernah ngejajal matkul Alpro sebelumnya kayak saya mah pasti udah nggak asing sama istilah larik ini. Belum lagi, array di C juga digunakan untuk ngebentuk string, yaitu array of char, karena di C nggak bisa mengenal tipedata string. Nah rupa rupanya ini, si array juga termasuk pointer, tapi konstan. Array juga bisa menyimpan data, tapi datanya banyak, dan harus homogen, dan bisa random access pula. Asal sudah dideklarasikan sebelumnya. Contoh:

int x[100];

berarti x adalah variabel array dengan tipe data integer dan punya elemen 0-99.

Array ini bisa berguna untuk nyimpen skor atau nilai, untuk bikin deret angka, atau untuk absen nama (pakai array of char 2D)

kalau tau-tau kita mau memasukkan nilai salah satu elemen array, bisa kita deklarasi kan jadi:

x[8]=90;

bedanya sama pointer, kalau mau mendeklarasi nilai, harus berbentuk alamat. misal:

*ptr= &b; (contoh yang benar) | *ptr= b; (contoh yang salah)

kalau tadi kita mendeklarasi nilai x, berarti *x adalah *x[0]; tinggal *(x+1) kalau mau nambahin elemennya.

Nah berlanjut ke array 2 D, array dua dimensi ini gunanya sama kayak matriks. Cara ngedeklarasikannya juga tinggal begini:

int arr[2][2]= {(1, 2), (3,4)};

bisa juga

int arr[2][2]={

1,2

3,4
}

Menurut aturan RMO, row major order, penulisan matriks dari array 2D ini musti per baris, bukan per kolom. Biar gampang kalau mau langsung diberi nilainya. Dan selanjutnya ada juga aray of pointer. Pointernya punya array, dan bisa menyimpan banyak alamat. Tujuannya sama aja kayak pointer biasa.

Yah segitu lah kira-kira yang saya dapat dari pertemuan yang diadakan di K3A Syahdan kemarin. Semangat kuis, yosh!

This entry was posted on Sunday, November 1st, 2015 at 10:42 am and is filed under Uncategorized. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Leave a Reply

Logged in as waiting4miracle. Logout »

APA YANG SAYA DAPAT DI RUANG 800 PART 4

Struktur kendali perulangan

Dalam bahasa C, terdapat beberapa macam struktur kendali perulangan, diantaranya for,
do…while, while.
repetition ini sangat berguna, bisa buat bikin animasi, kotak dll.

for
For digunakan untuk mengulang suatu statement yang dideklarasikan berdasarkan
suatu kondisi atau syarat tertentu.
Syntax:

for(exp1; exp2; exp3) statement;
or:
for(exp1; exp2; exp3){
statement1;
statement2;
…….
}

exp1 : initialisasi
exp2 : kondisi
exp3 : increment atau decrement
exp1, exp2 and exp3 are optional

contoh:

void reverse(char ss[])
{
int c,i,j;
for(i=0, j=strlen(ss)-1; i<j; i++, j–){
c=ss[i];
ss[i]=ss[j];
ss[j]=c;
}
}

BREAK = misal kita mau cetak 1-10 nanti yang kecetak cuma 1-5
CONTINUE = klo ini kecetaknya dari 5-10

WHILE

while tidak akan jalan selama kondisinya FALSE, dia akan jalan hanya ketika TRUE
kelebihan = kesalahannya 0 , karena dia ngecek dulu

pernah gak kalian makan warteg terus ketinggalan duit?
waduh dompet gua ketinggalan padahal gua udh makan

null

Syntax :

while (exp) statements;
or:
while(exp){
statement1;
statement2;
…..
}

DO-WHILE

perbedaan while dan do-while
while = cek dulu baru jalanin
do while = jalanin dulu baru ngecek (cek username password)

Apa yang saya dapat di kostan dan di ruang 800 part 3

kali ini saya akan melakukan hal yang sangat “greget“.
biasanya saya posting 1 menit setelah pelajaran selesai, tapi sekarang saya akan post sebelum kelas dimulai.
semua ini saya lakukan karena saya tidak begitu mengerti dengan perkataan dari pengajar.(ampun pak)
cekibrutz &>>>>>>>>>>

Apa yang saya dapat di kostan
Program control : Selection

disini kita akan belajar apa itu :

– selection
– If
– If-Else
– Nested if
– Program Examples using if
– Switch-Case
– ?: Operator
– dan tipe-tipe error

pertama-tama kita harus tau definisi dari Selection .
Selection itu apa sih?
Selection apa ya ?
Selection itu apa woy?
Selection apa woy buru !!
sobur sobur
jadi Selection itu “SELEKSI”

what the …..

okeh jadi lengkapnya gini, yang dimaksud Selection disini adalah In an algorithm implementation, an instruction or block of instructions may be executed (or not) with certain predertemined condition
kampret apaan tuh sok2an inggris!

oke saya akan translate versi anak english in focus
“didalam implementasi algoritma, sebuah instruksi mungkin bisa di eksekusi (atau tidak) dengan kondisi tertentu yang telah diterapkan”
jadi gampangnya gini : “Suatu Struktur dasar algoritma yang memiliki satu atau lebih kondisi tertentu dimana sebuah instruksi dilaksanakan jika sebuah kondisi/persyaratan terpenuhi”
cakep~

dan didalam bahasa C, terdapat beberapa macam struktur kendali pemilihan (selection)
diantaranya adalah : if,else,elseif dan switch case

IF

ok pertama kita belajar syntax IF
IF itu “jika”
gampang kan?
ok serius
berikut rumus IF:
if (kondisi);
printf(“pernyataan”);

misal kondisi saya ganti “amriganteng”
dan pernyataan saya ganti “benar sekali kk”
jadi
if(amriganteng);
printf(“benar sekali kk”);

karena ini IF tunggal pernyataan akan selalu benar (karna amri memang ganteng) tapi jangan lupa ditambah int:amriganteng
jadi yang akan muncul dilayar anda : benar sekali kk
loh klo ga benar gmana kk? klo ternyata amri itu tidak ganteng? melainkan tamvan?
hal itu akan di bahas di Else

ELSE

else itu berarti ‘lain’
jadi jika nilai IF bernilai salah maka akan di oper ke ELSE
ok?
sip

tipe2 error
silahkan anda baca di sini
klik kakak

APA YANG SAYA DAPAT DI RUANG 800

“hidup itu pilihan”
“yang terpenting adalah syntax”

IF
hanya menerima true atau false
klo true dia menjalankan statment klo false tidak

“jangan sampai saat ujian meraba-raba” (aww)
“semester 1 penentuan penyesalan kalian”
“semakin semester kalian tinggi semakin susah”

apa yang saya dapat di ruang 800 part 2

karena saya telat 14 menit 20 detik , jadi saya tidak bisa mencatat yang awal2
cekibrot …
ternary = operator 3
binari = 2
unonari = 1

macam2 operator : ALARBP
– assisgment operator = sama dengan (=)
– integer = bilangan bulat jadi, 7 dibagi 2 = 3
– logical operator = yang ada TRUE dan FALSE
– arithmatic operator = operasi aritmatik
– relational operator = dan dan (&&)
– bitwise operator = dan (&)
– pointer operator =

Logical operator

x y or (^)
T T F
T F T
F T T
F F F

RUMUS POLIGAMI
misal ada a dan b

x y a | b & !(A&B)
T T T & !(T)
T F T & F
F T F
F F ?

BIT 10 = 1010
cara cepet = karna dia sudah tua jadi di share , cari lah angka 2 pangkat sekian yang lebih kecil dari 10. (ga ngerti kan? sama)

aldi ditanya …
BIT 15 = 1 1 1 1
2 pangkat brp yg lebih kecil dari 15
2^3 = 8
1 1 1 1
ohh…..
ga ngerti

BIT 37 =
2^5 = 32
1 _ _ _ _ _
1 _ _ 1 _ _
1 _ _ _ _ 1
1 0 0 1 0 1

rumus flashdisk
2^8 = 256
2^9 = 512

ohh…
ga ngerti

1111111 =
cara cepet (klo ga ngerti brarti cara tidak cepet)
11 =3
111 =7
11 itu sama aja kayak nilai dari 100 nilainya brp blablabla ketinggalan kk

111111 = 63
1 0 0 0 0 0 0
2^6 = 64
dikurang 1 jadi 63

ketemu yang kampret
1010101 = bikin kodingannya

….

4 = 100
3= 011 &
_ _ _ _ _ _ _ _
0= 000

4 = 100
3= 011 |
_ _ _ _ _ _ _ _
7= 111

4 = 100
7= 011 |
_ _ _ _ _ _ _ _
7= 111

Bitwise Operators

geser kekanan (>>) dikali 2
geser keiri (<<) dibagi 2

tenkyu tenkyu