LAMPIRAN LISTING PROGRAM ALGORITMA SMS

dokumen-dokumen yang mirip
PERTEMUAN XI OPERASI FILE

BAB II TINJAUAN PUSTAKA

OPERASI FILE DASAR PEMROGRAMAN

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XII FILE

Algoritma dan Struktur Data. Ramos Somya

Algoritma dan Struktur Data. Ramos Somya, S.Kom., M.Cs.

Praktikum 12 FILE. Gambar Struktur data dari file

Bahasa C Array. Slide diambil dari MK Dasar-Dasar Pemrograman Fasilkom UI Dimodifikasi dan disesuaikan dngn kebutuhan pengajaran di PTI-Undiksha

Modul 4 Kondisional/Pencabangan If - Else

printf (" ======== Program untuk memilih nama bulan dalam setahun ======== \n \n");

ALGORITMA (2) Mengupas Kentang

Pencarian (Searching)

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

BAB XII OPERASI FILE

Algoritma Pemrograman. Fery Updi,M.Kom

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C

PRAKTIKUM 6 PENGULANGAN PROSES 2

DIKTAT MATA KULIAH PEMROGRAMAN I BAB VII ARRAY

1. Menciptakan dan mengisi file dengan data karakter dari keyboard /* File program: fputc.c */ #include <stdio.h> #include <stdlib.

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XII FILE

nama array untuk menyimpan data jumlah data

BAB 12 MANIPULATION FILE

DISUSUN OLEH BAB IX. Structt. //untuk. long. int nip; char. nama[31]; char } HAL 1

Array (Single Dimension)

A. TUJUAN PEMBELAJARAN

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-7 Pencarian (Searching) 2

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

1. Konstanta String Kostanta ABCDE disimpan dalam memory secara berurutan, dengan komposisi sebagai berikut : Memory rendah.

A. TUJUAN PEMBELAJARAN

Algoritma dan Struktur Data. Pertemuan 6 Alokasi Memori Dinamis

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

BAB 2 SORTING (PENGURUTAN)

Array (Single Dimension)

Laporan Praktikum TMD02 Algoritma dan Struktur Data dengan C. Coding 1. NIM/ No. Reg. : : Mhd. Syarif : : Blog

Laporan Praktikum TMD02 Algoritma dan Struktur Data dengan C. Coding 1. NIM/ No. Reg. : : Mhd. Syarif. :

Praktikum 8. Pengurutan (Sorting) Bubble Sort, Shell Sort

SORTING (Pengurutan)

Algoritma dan Struktur Data. Pertemuan 5 Pointer

PENGENALAN BAHASA C DAN C++

KONSEP STRING. Nilai string selalu diakhiri dengan tanda NULL (\0)

MODUL I PENGENALAN IDE C++, ALGORITMA DAN PEMROGRAMAN

# TEN Sorting PENDAHULUAN

Struktur Program Bahasa C

MI, KA-D3, SIA, SIB. ADI, S.Kom.

GISKA ARIYA SANGGITA TI

Praktikum 5 PERULANGAN PROSES

MODUL III CONTROL FLOW & FLOWCHART

Konsep Pemrograman. Bab 10. String. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

Tipe Data dan Variabel

Fungsi : Dasar Fungsi

Array LOGO. Pendidikan Teknik Elektronika FT UNY. Muh. Izzuddin Mahali, M.Cs.

FUNCTION (FUNGSI) LOGO. Pendidikan Teknik Elektronika FT UNY. Muh. Izzuddin Mahali, M.Cs.

Pointer. Yuliana Setiowati

Algoritma dan Struktur Data. Ramos Somya

BAB VI BAHASA C Pendahuluan

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

BAB V, VI ARRAY, STRING

Modul Praktikum Algoritma dan Struktur Data

PRAKTIK MATA PELAJARAN

CONTOH SOAL C++: jika di input selain dari 1 sampai 4 maka munculkan pesan "Anda Salah memasukan Input Kode"

Tipe Data, Variabel, Input/Output

KENDALI PROSES. 6.1 PENYELEKSIAN KONDISI (Selection)

Input/Output. Input/output Memformat keluaran Pengolahan karakter dan String

ARRAY DIMENSI SATU Setiap elemen array dapat diakses melalui indeks. Indeks array secara default dimulai dari 0.

1.Program pilihan bulan. Sart. Bulan. Pilih bulan

A. TUJUAN 1. Menjelaskan tentang prinsip dasar fungsi. 2. Menjelaskan tentang.parameter formal dan parameter aktual

PENGENALAN BAHASA C. A. Struktur Kode Program dalam Bahasa C Secara garis besar, suatu kode program dalam bahasa C memiliki struktur umum seperti ini:

Pengambilan Keputusan DASAR PEMROGRAMAN

ANALISA PERBANDINGAN KOMPLEKSITAS ALGORITMA SELECTIONSORT DAN INSERTIONSORT

void tukar_xy(struct koordinat *pos_xy){ int z; z = (*pos_xy).x; (*pos_xy).x = (*pos_xy).y; (*pos_xy).y = z;

Algoritma Pemrograman. Fery Updi,M.Kom

Praktikum 4 PENGULANGAN PROSES

P R E T R EM N 5 STRUKTUR LOOPING

Aliran Kendali (Flow Control)

Pertemuan 9 Pemrograman Terstruktur

PRAKTIK MATA PELAJARAN

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

Operator untuk operasi aritmatika yang tergolong sebagai operator binary adalah: Perkalian Pembagian Sisa Pembagian (mod) Penjumlahan 6 2

A. TUJUAN 1. Menjelaskan tentang konsep dari variabel pointer. zzzz. Address. Gambar 8.1 Variabel pointer px menunjuk ke variabel x

P 6 Bab 5 : Perulangan. 5.1 Tujuan. 5.2 Materi. 5.3 Struktur Perulangan. SQ

Pada prinsipnya operasi yang dilakukan pada file terdiri dari 3 tahapan : 1. Membuka file 2. Melakukan pemrosesan pada file 3.

1. Mempelajari konsep dasar array, array ganda, pengiriman array ke fungsi dan string 2. Membuat program menggunakan array, array ganda

STRING DASAR PEMROGRAMAN

C++ Mathematic Functions

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA DOUBLE LINKED LIST CIRCULAR

Nilai[0] Nilai[1] Nilai[2] Nilai[3] Nilai[4]

Gambar 13.1 Ilustrasi proses algoritma sorting

Proses Perulangan (Looping) DASAR PROGRAMMING 1

IT234 - Algoritma dan Struktur Data. Ramos Somya

Struktur kondisi dari IF digunakan untuk melakukan seleksi terhadap pernyataan (statement) tunggal. Bentuk IF Tunggal adalah sebagai berikut :

Seluruh elemen di dalam struktur array mempunyai tipe data yang sama. Random Access

PERTEMUAN XI OPERASI FILE

Teknik Pemrograman Terstruktur 1

ASD. Alokasi Memori Dinamis

Pernyataan FOR Pernyataan WHILE Pernyataan REPEAT. Dewi Sartika,M.Kom

BAHASA PEMROGRAMAN C LANGUAGE

KU-1072 PENGENALAN TEKNOLOGI INFORMASI B (PTI B)

VARIABEL & TIPE DATA PEMROGRAMAN C++

Achmad Solichin.

Baca Tulis File. Untuk dapat membaca atau menulis data dari/ke sebuah file maka langkah yang perlu dilakukan adalah:

Transkripsi:

42 LAMPIRAN LISTING PROGRAM ALGORITMA SMS #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <time.h> main() FILE *pf,*qf; int data_bil[100000], PosArray[100000], NegArray[100000]; int FreqArray[100000],size,NOP,NON; int maks,minim,a,b,c,d,i,x,y,indeks,angka; char kalimat[8],data_text[7],nama[20]; double start,stop; printf("program PENGURUTAN DATA MENGGUNAKAN ALGORITMA SMS\n"); printf(" Created By : Denni Aprilsyah Lubis\n"); printf(" Email : denni.lubis@gmail.com\n\n"); printf("masukkan Nama File Input (Dengan Ekstensi) : "); gets(nama); /*Buka File*/ if ((pf=fopen(nama,"r")) == NULL) printf("file Input Tidak Dapat Dibuka!!!\r\n"); size=0; while(fgets(kalimat,8,pf)) for(i=0;i<strlen(kalimat);i++) if ((kalimat[i]!=32) (kalimat[i]!=9)) data_text[i]=kalimat[i]; data_bil[size]=atoi(data_text); size++; fclose(pf); start = clock(); /*Prosedur Scan*/ if (size>1) maks=data_bil[0];

43 minim=data_bil[0]; NOP=0; NON=0; for (a=0;a<size;a++) if (data_bil[a] > maks) maks=data_bil[a]; if (data_bil[a] < minim) minim=data_bil[a]; if (data_bil[a] >= 0) NOP = NOP+1; NON = NON+1; if (minim!= maks) /*Prosedur Move*/ i=0; for (a=0;a<size;a++) FreqArray[a]= minim-1; if (NOP>0) for (b=0;b<=maks;b++) PosArray[b]=minim-1; if (NON>0) for (c=0;c<=abs(minim);c++) NegArray[c]= minim-1; for (d=0;d<size;d++) if (data_bil[d]>=0) if (PosArray[data_bil[d]] == minim-1) PosArray[data_bil[d]] = data_bil[d]; FreqArray[i]=data_bil[d]; i++; if (NegArray[abs(data_bil[d])] == minim-1)

44 NegArray[abs(data_bil[d])] = data_bil[d] ; FreqArray[i] = data_bil[d]; i++; printf ("Data Yang di Input Merupakan Data Yang Sudah Terurut\n"); /*Prosedur Sort*/ indeks=0; if (NON>0) for (x=abs(minim);x>=0;x--) if (NegArray[x]!= minim-1) data_bil[indeks]= NegArray[x]; for (y=0;y<=i;y++) if (FreqArray[y]==data_bil[indeks-1]) data_bil[indeks]= FreqArray[y]; if (NOP>0) for (x=0;x<=maks;x++) if (PosArray[x]!= minim-1) data_bil[indeks]= PosArray[x]; for (y=0;y<=i;y++) if (FreqArray[y]==data_bil[indeks-1])

45 data_bil[indeks]=freqarray[y]; stop = clock(); /* Ciptakan file.txt */ if ((qf = fopen("data Terurut By SMS.txt","w")) == NULL) printf("file Data Terurut By SMS.txt Tidak Dapat Diciptakan!\r\n"); for (x=0;x<indeks;x++) itoa(data_bil[x],data_text,10); fputs(data_text,qf); fputc('\n',qf); printf("proses Pengurutan Berhasil,Data Yang Terurut Telah Berhasil Tersimpan...\n"); printf("waktu eksekusi Program: %.0f ms", (stop-start)); fclose(qf); return(0); printf("data Tidak Mencukupi Untuk di Urutkan,Array Hanya Berisi 1 (Satu) Data...\n"); return (0);

46 LAMPIRAN LISTING PROGRAM PENGEMBANGAN ALGORITMA SMS #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <time.h> main() FILE *pf,*qf; int data_bil[100000], PosArray[100000], NegArray[100000]; int FreqPosArray[100000],FreqNegArray[100000],size,NOP,NON; int maxneg,minneg,maxpos,minpos,a,b,c,d,i,j,x,y,indeks,angka; char kalimat[8],data_text[7],nama[20]; double start,stop; printf("program PENGURUTAN DATA MENGGUNAKAN PENGEMBANGAN ALGORITMA SMS\n"); printf(" Created By : Denni Aprilsyah Lubis\n"); printf(" Email : denni.lubis@gmail.com\n\n"); printf("masukkan Nama File Input (Dengan Ekstensi) : "); gets(nama); /*Buka File*/ if ((pf=fopen(nama,"r")) == NULL) printf("file Tak Dapat Dibuka!!!\r\n"); size=0; while(fgets(kalimat,8,pf)) for(i=0;i<strlen(kalimat);i++) if ((kalimat[i]!=32) (kalimat[i]!=9)) data_text[i]=kalimat[i]; data_bil[size]=atoi(data_text); size++; fclose(pf); start = clock(); /*Prosedur Scan*/ if (size>1)

47 maxpos=0; minpos=100000; maxneg=-100000; minneg=-1; NOP=0; NON=0; for (a=0;a<size;a++) if (data_bil[a] >= 0) NOP++; if (data_bil[a] > maxpos) maxpos = data_bil[a]; if (data_bil[a] < minpos) minpos=data_bil[a]; NON++; if (data_bil[a] < minneg) minneg=data_bil[a]; if (data_bil[a] > maxneg) maxneg=data_bil[a]; if (maxneg < minneg) maxneg = minneg; if (minpos > maxpos) minpos = maxpos; if ((minpos!=maxpos)&&(minneg!=maxneg)) /*Prosedur Move*/ i=0; j=0; for (a=0;a<size;a++) FreqPosArray[a]= minneg-1; FreqNegArray[a]= minneg-1; if (NOP>0) for (b=minpos;b<=maxpos;b++) PosArray[b]=minneg-1; if (NON>0) for (c=abs(maxneg);c<=abs(minneg);c++) NegArray[c]= minneg-1;

48 for (d=0;d<size;d++) if (data_bil[d]>=0) if (PosArray[data_bil[d]] == minneg-1) PosArray[data_bil[d]] = data_bil[d]; FreqPosArray[i]=data_bil[d]; i++; if (NegArray[abs(data_bil[d])] == minneg-1) NegArray[abs(data_bil[d])] = data_bil[d] ; FreqNegArray[j] = data_bil[d]; j++; printf ("Data Yang di Input Merupakan Data Yang Sudah Terurut\n"); /*Prosedur Sort*/ indeks=0; if (NON>0) for (x=abs(minneg);x>=abs(maxneg);x--) if (NegArray[x]!= minneg-1) data_bil[indeks]= NegArray[x]; for (y=0;y<=j;y++) if (FreqNegArray[y]==data_bil[indeks-1]) data_bil[indeks]= FreqNegArray[y];

49 if (NOP>0) for (x=minpos;x<=maxpos;x++) if (PosArray[x]!= minneg-1) data_bil[indeks]= PosArray[x]; for (y=0;y<=i;y++) if (FreqPosArray[y]==data_bil[indeks-1]) data_bil[indeks]=freqposarray[y]; stop = clock(); /* Ciptakan file.txt */ if ((qf = fopen("data Terurut By SMS Plus.txt","w")) == NULL) printf("file tak dapat diciptakan!\r\n"); for (a=0;a<indeks;a++) itoa(data_bil[a],data_text,10); fputs(data_text,qf); fputc('\n',qf); printf("proses Pengurutan Berhasil,Data Yang Terurut Telah Berhasil Tersimpan...\n"); printf("waktu eksekusi Program: %.0f ms", (stop-start)); fclose(qf); return(0);

50 printf("data Tidak Mencukupi Untuk di Urutkan,Array Hanya Berisi 1 (Satu) Data...\n"); return (0);