Rancangan Sistem Pengontrolan dan Pengamanan Kebocoran LPG Berbasis Mikrokontroler ATMega32 dengan Menggunakan Media Informasi SMS

  52 Lampiran 1 Tabel data normalisasi lemari tabung LPG dari alat

  Waktu (s) Konsentrasi Gas LPG Konsentrasi Gas

  LPG Rata-rata (ppm)

  Data 1 (ppm)

  Data 2 (ppm)

  Data 3 (ppm) 10 2640,02 2725,35 2773,96 2713,11

  20 2582,59 2689,67 2649,57 2640,61 30 2515,61 2612,42 2630,43 2586,15 40 2486,9 2540,25 2582,59 2536,58 50 2477,33 2498,68 2525,18 2500,40 60 2362,51 2432,35 2458,20 2417,69 70 2362,51 2400,45 2410,35 2391,10 80 2295,53 2312,75 2372,08 2326,79 90 2257,26 2276,98 2305,10 2279,78

  100 2209,41 2218,35 2257,26 2228,34 110 2123,29 2180,25 2180,71 2161,42 120 2113,73 2142,22 2113,73 2123,23 130 2046,75 2065,88 2075,45 2062,69 140 1979,76 1989,72 1998,90 1989,46 150 1922,35 1922,35 1922,35 1922,35 160 1864,94 1874,45 1864,94 1868,11 170 1807,53 1826,35 1807,53 1813,80 180 1750,12 1759,69 1740,55 1750,12 190 1702,27 1683,14 1683,14 1689,52 200 1635,29 1616,35 1625,73 1625,79 210 1587,45 1563,18 1568,31 1572,98 220 1520,47 1510,75 1491,76 1507,66 230 1472,63 1453,32 1443,92 1456,62 240 1415,22 1367,05 1415,22 1399,16 250 1357,00 1348,24 1376,94 1360,73 260 1319,53 1281,76 1319,53 1306,94 270 1271,69 1252,49 1271,69 1265,29 280 1223,84 1204,32 1242,98 1223,71 290 1185,57 1156,86 1185,57 1176,00 300 1156,86 1118,59 1166,43 1147,29 310 1118,59 1080,31 1118,59 1105,83 320 1080,31 1042,04 1089,88 1070,74 330 1042,04 1013,33 1051,61 1035,66 340 1013,33 994,56 1022,90 1010,26 350 994,20 965,45 1013,33 990,99 360 955,92 936,78 975,06 955,92 370 946,35 927,22 955,92 943,16 380 917,65 908,82 936,78 921,08 390 898,51 879,37 927,22 901,70

  53 420 841,10 841,10 879,37 853,86 430 821,96 831,53 869,80 841,10 440 812,39 821,96 850,67 828,34 450 802,82 812,39 841,10 818,77 460 783,69 812,39 783,69 793,26 470 793,25 821,96 764,55 793,25 480 802,82 812,39 754,98 790,06 490 802,82 812,39 764,55 793,25 500 802,82 812,39 783,69 799,63 510 812,39 802,82 802,82 806,01 520 821,96 802,82 841,10 821,96 530 831,53 793,25 869,80 831,53 540 841,10 841,10 850,67 844,29 550 850,67 850,67 841,10 847,48 560 860,24 841,10 831,53 844,29 570 869,8 860,24 841,10 857,05

  Lampiran 2

  Tabel data normalisasi lemari tabung LPG secara teori Waktu (s)

  Konsentrasi Gas LPG Konsentrasi Gas LPG Rata-rata

  (ppm) Data 1

  (ppm) Data 2

  (ppm) Data 3

  (ppm) 10 2623,53 2639,22 2696,08 2652,94 20 2523,53 2613,73 2607,84 2581,70 30 2456,86 2572,55 2560,78 2530,07 40 2384,31 2507,84 2523,53 2471,90 50 2411,76 2431,37 2468,63 2437,25 60 2321,57 2376,47 2396,08 2364,71 70 2313,73 2333,33 2350,98 2332,68 80 2243,14 2288,24 2307,84 2279,74 90 2192,16 2225,49 2233,33 2216,99

  100 2160,78 2166,67 2198,04 2175,16 110 2072,55 2117,65 2131,37 2107,19 120 2060,78 2086,27 2070,59 2072,55 130 1998,04 2013,73 2013,73 2008,50 140 1939,22 1947,06 1945,10 1943,79 150 1880,39 1860,78 1878,43 1873,20 160 1825,49 1829,41 1811,76 1822,22 170 1758,82 1780,39 1756,86 1765,36 180 1711,76 1703,92 1694,12 1703,27 190 1664,71 1633,33 1641,18 1646,41 200 1592,16 1568,63 1574,51 1578,43

  54 220 1476,47 1464,71 1452,94 1464,71 230 1423,53 1407,84 1407,84 1413,07 240 1372,55 1331,37 1372,55 1358,82 250 1319,61 1301,96 1331,37 1317,65 260 1276,47 1245,10 1288,24 1269,93 270 1231,37 1211,76 1229,41 1224,18 280 1188,24 1162,75 1200,00 1183,66 290 1152,94 1121,57 1150,98 1141,83 300 1121,57 1080,39 1127,45 1109,80 310 1078,43 1049,02 1084,31 1070,59 320 1052,94 1013,73 1056,86 1041,18 330 1009,80 960,78 1025,49 998,69 340 986,27 958,82 990,20 978,43 350 960,78 935,29 976,47 957,52 360 929,41 909,80 949,02 929,41 370 913,73 894,12 929,41 912,42 380 888,24 878,43 907,84 891,50 390 868,63 850,98 900,00 873,20 400 852,94 841,18 890,20 861,44 410 827,45 827,45 872,55 842,48 420 809,80 809,80 856,86 825,49 430 796,08 801,96 841,18 813,07 440 786,27 796,08 837,25 806,54 450 774,51 786,27 815,69 792,16 460 754,90 786,27 754,90 765,36 470 764,71 796,08 735,29 765,36 480 776,47 786,27 729,41 764,05 490 776,47 786,27 731,37 764,71 500 776,47 786,27 749,02 770,59 510 784,31 778,43 782,35 781,70 520 790,20 798,04 801,96 796,73 530 801,96 803,92 805,88 803,92 540 805,88 805,88 831,37 814,38 550 819,61 819,61 815,69 818,30 560 829,41 809,80 803,92 814,38 570 841,18 827,45 815,69 828,10

  Lampiran 3

  Kode Program CodeVisionAVR /******************************************************* This program was created by the CodeWizardAVR V3.12 Advanced Automatic Program Generator © Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project : Version : Date : 22/12/2014 Author : Company : Comments: Chip type : ATmega32A Program type : Application AVR Core Clock frequency: 4,000000 MHz Memory model : Small External RAM size : 0 Data Stack size : 512

  • / #include <mega32a.h> #include <delay.h> char dat; // Alphanumeric LCD functions #include <alcd.h> #define buzzer PORTC.0

  #include <stdio.h> #include <stdlib.h> #define kipas PORTC.1 #define sv PORTC.2 // Declare your global variables here char lcd_buffer[33]; float vgas; unsigned int temp,temp1,temp2,x; // Voltage Reference: AVCC pin #define ADC_VREF_TYPE ((0<<REFS1) | (1<<REFS0) | (0<<ADLAR)) // Read the AD conversion result

  { ADMUX=adc_input | ADC_VREF_TYPE; // Delay needed for the stabilization of the ADC input voltage delay_us(10); // Start the AD conversion ADCSRA|=(1<<ADSC); // Wait for the AD conversion to complete while ((ADCSRA & (1<<ADIF))==0); ADCSRA|=(1<<ADIF); return ADCW; } #define DATA_REGISTER_EMPTY (1<<UDRE) #define RX_COMPLETE (1<<RXC) #define FRAMING_ERROR (1<<FE) #define PARITY_ERROR (1<<UPE) #define DATA_OVERRUN (1<<DOR) // USART Receiver buffer #define RX_BUFFER_SIZE 8 char rx_buffer[RX_BUFFER_SIZE]; #if RX_BUFFER_SIZE <= 256 unsigned char rx_wr_index=0,rx_rd_index=0; #else unsigned int rx_wr_index=0,rx_rd_index=0; #endif #if RX_BUFFER_SIZE < 256 unsigned char rx_counter=0; #else unsigned int rx_counter=0; #endif // This flag is set on USART Receiver buffer overflow bit rx_buffer_overflow; // USART Receiver interrupt service routine interrupt [USART_RXC] void usart_rx_isr(void) { char status,data; status=UCSRA; data=UDR; if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) { rx_buffer[rx_wr_index++]=data;

  // special case for receiver buffer size=256 if (++rx_counter == 0) rx_buffer_overflow=1; #else if (rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE) { rx_counter=0; rx_buffer_overflow=1; } #endif } } #ifndef _DEBUG_TERMINAL_IO_ // Get a character from the USART Receiver buffer #define _ALTERNATE_GETCHAR_ #pragma used+ char getchar(void) { char data; while (rx_counter==0); data=rx_buffer[rx_rd_index++]; #if RX_BUFFER_SIZE != 256 if (rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0; #endif #asm("cli")

  • rx_counter; #asm("sei") return data; } #pragma used- #endif // USART Transmitter buffer

  #define TX_BUFFER_SIZE 8 char tx_buffer[TX_BUFFER_SIZE]; #if TX_BUFFER_SIZE <= 256 unsigned char tx_wr_index=0,tx_rd_index=0; #else unsigned int tx_wr_index=0,tx_rd_index=0; #endif #if TX_BUFFER_SIZE < 256 unsigned char tx_counter=0; #else unsigned int tx_counter=0;

  // USART Transmitter interrupt service routine interrupt [USART_TXC] void usart_tx_isr(void) { if (tx_counter) {

  • tx_counter; UDR=tx_buffer[tx_rd_index++]; #if TX_BUFFER_SIZE != 256 if (tx_rd_index == TX_BUFFER_SIZE) tx_rd_index=0; #endif } }

  #ifndef _DEBUG_TERMINAL_IO_ // Write a character to the USART Transmitter buffer #define _ALTERNATE_PUTCHAR_ #pragma used+ void putchar(char c) { while (tx_counter == TX_BUFFER_SIZE); #asm("cli") if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0)) { tx_buffer[tx_wr_index++]=c; #if TX_BUFFER_SIZE != 256 if (tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0; #endif

  • tx_counter; } else UDR=c; #asm("sei") } #pragma used-

  #endif // Standard Input/Output functions #include <stdio.h> /* unsigned int bacaNilaiSensorI2C(unsigned char alamatI2C) { unsigned int sensor; i2c_start(); i2c_write(alamatI2C); i2c_write(0x41); i2c_stop(); delay_us(10); i2c_start(); i2c_write(alamatI2C|0x01); sensor = i2c_read(1); sensor = sensor*256 + i2c_read(0); i2c_stop(); return sensor; }

  • / void send_sms_txt(char flash *fmtstr1, char flash *fmtstr2) { printf("AT+CMGF=1"); putchar(0x0D);//ENTER while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; delay_ms(500); printf("AT+CMGS=\""); printf(fmtstr1); printf("\""); putchar(0x0D);//ENTER while(getchar()!=0x20){}; delay_ms(500); printf(fmtstr2); putchar(0x1A); while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; delay_ms(500); printf("AT+CMGD=1"); putchar(0x0D);//ENTER while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; delay_ms(500); printf("AT+CMGD=2"); putchar(0x0D);//ENTER while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; delay_ms(500); printf("AT+CMGD=3"); putchar(0x0D);//ENTER
while(getchar()!=0x0A){}; delay_ms(500); } void sms_init() { printf("ATE0"); putchar(0x0D);//ENTER while(getchar()!='K'){}; while(getchar()!=0x0A){}; delay_ms(500); } void cek_sms() { while(getchar()!=','){}; while(getchar()!=0x0A){}; } char receive_sms() { char data; printf("AT+CMGR=1"); putchar(0x0D); while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; data=getchar(); while(getchar()!='K'){}; while(getchar()!=0x0A){}; delay_ms(500); printf("AT+CMGD=1"); putchar(0x0D);//ENTER while(getchar()!='K'){}; while(getchar()!=0x0A){}; delay_ms(500); printf("AT+CMGD=2"); putchar(0x0D);//ENTER while(getchar()!='K'){}; while(getchar()!=0x0A){}; delay_ms(500); printf("AT+CMGD=3"); putchar(0x0D);//ENTER while(getchar()!='K'){};

delay_ms(500); return(data); } void tampil_lcd(char x,char y,char flash *teks, int tunda) { lcd_gotoxy(x,y); lcd_putsf(teks); delay_ms(tunda); } void main(void) { // Declare your local variables here unsigned int sensor; // Input/Output Ports initialization // Port A initialization // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0); // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0); // Port B initialization // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0); // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0); // Port C initialization // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=Out DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (1<<DDC1) | (1<<DDC0); // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=0 PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0); // Port D initialization // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0); // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);

  // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=0xFF // OC0 output: Disconnected TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00) | (0<<WGM01) | (0<<CS02) | (0<<CS01) | (0<<CS00); TCNT0=0x00; OCR0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Disconnected // OC1B output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10); TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10); TCNT1H=0x00; TCNT1L=0x00;

  ICR1H=0x00;

  ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=0xFF // OC2 output: Disconnected ASSR=0<<AS2; TCCR2=(0<<PWM2) | (0<<COM21) | (0<<COM20) | (0<<CTC2) | (0<<CS22) | (0<<CS21) | (0<<CS20); TCNT2=0x00; OCR2=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization

  TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (0<<OCIE0) | (0<<TOIE0); // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00); MCUCSR=(0<<ISC2); // USART initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On // USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate: 9600 UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) | (0<<U2X) | (0<<MPCM); UCSRB=(1<<RXCIE) | (1<<TXCIE) | (0<<UDRIE) | (1<<RXEN) | (1<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8); UCSRC=(1<<URSEL) | (0<<UMSEL) | (0<<UPM1) | (0<<UPM0) | (0<<USBS) | (1<<UCSZ1) | (1<<UCSZ0) | (0<<UCPOL); UBRRH=0x00; UBRRL=0x19; // Analog Comparator initialization // Analog Comparator: Off // The Analog Comparator's positive input is // connected to the AIN0 pin // The Analog Comparator's negative input is // connected to the AIN1 pin ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0); SFIOR=(0<<ACME); // ADC initialization // ADC Clock frequency: 125,000 kHz // ADC Voltage Reference: AVCC pin // ADC Auto Trigger Source: Free Running ADMUX=ADC_VREF_TYPE; ADCSRA=(1<<ADEN) | (0<<ADSC) | (1<<ADATE) | (0<<ADIF) | (0<<ADIE) | (1<<ADPS2) | (0<<ADPS1) | (1<<ADPS0); SFIOR=(0<<ADTS2) | (0<<ADTS1) | (0<<ADTS0); // SPI initialization // SPI disabled

  SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0); // TWI initialization // TWI disabled TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE); // Bit-Banged I2C Bus initialization // I2C Port: PORTB // I2C SDA bit: 2 // I2C SCL bit: 3 // Bit Rate: 100 kHz // Note: I2C settings are specified in the // Project|Configure|C Compiler|Libraries|I2C menu.

  /* i2c_init();

  • / // Alphanumeric LCD initialization // Connections are specified in the // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu: // RS - PORTA Bit 0 // RD - PORTA Bit 1

  // EN - PORTA Bit 2 // D4 - PORTA Bit 3 // D5 - PORTA Bit 4 // D6 - PORTA Bit 5 // D7 - PORTA Bit 6 // Characters/line: 8 lcd_init(16); // Global enable interrupts #asm("sei") buzzer=1; delay_ms(1000); buzzer=0; lcd_clear(); lcd_gotoxy(0,0); lcd_puts("Inisialising"); delay_ms(2000); //sms_init(); lcd_clear(); lcd_puts("Modem OK"); delay_ms(2000);

  { // Place your code here awal: temp1=0; temp=0;vgas=0; //sensor = bacaNilaiSensorI2C(0xE0); for(x=0;x<=100;x++) {temp=read_adc(0); temp1=temp1+temp; delay_ms(5); } vgas=(((temp1/100)*4.88))/0.51; if (vgas<=0) vgas=0; else vgas=vgas+200; lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Zikri LPG Sensor"); lcd_gotoxy(0,1); sprintf(lcd_buffer,"vgas: %0.2f ppm ",vgas); lcd_puts(lcd_buffer); delay_ms(1000); if (vgas < 2000) {sv=1;buzzer=0;} if (vgas < 800) {kipas=0;buzzer=0;sv=1;} if (vgas >= 2000 & sv == 1) { cek: lcd_clear();tampil_lcd(0,0,"GAS BOCOR",0); sv=0; buzzer=1; tampil_lcd(0,1,"kirim pesan",1000); send_sms_txt("085373735194","Warning!!!!!!, Gas LPG Bocor, hidupkan kipas? Y/N"); lcd_clear();tampil_lcd(0,0,"kirim pesan oke",1000); tampil_lcd(0,1,"menunggu respon",0); cek_sms(); lcd_clear();tampil_lcd(0,0,"sms masuk,cek..",100); dat=receive_sms(); if (dat=='Y') {lcd_clear(); tampil_lcd(0,0,"respon:Y",0); tampil_lcd(0,1,"kipas aktif",0); kipas=1; delay_ms(500); send_sms_txt("085373735194","Kipas aktif"); goto awal; else if (dat=='Y') {lcd_clear(); tampil_lcd(0,0,"respon:N",0); tampil_lcd(0,1,"kipas Mati",0); kipas=0; delay_ms(500); send_sms_txt("085373735194","kipas Mati"); goto awal; } else {lcd_clear();tampil_lcd(0,0,"salah respon,krm ulang",1000); send_sms_txt("085373735194","jawaban tidak cocok"); goto cek; } } } }

  Lampiran 4

  Gambar alat secara keseluruhan saat proses pengujian Pengujian alat dan pengambilan data. Dilakukan di Laboratorium Terpadu, Universitas Sumatera Utara.

  67

  Lampiran 5

  Tampilan SMS pada mobile phone (a)

  (b) SMS peringatan ketika gas bocor Balasan SMS ketika kipas aktif

  68

Dokumen yang terkait

BAB II PELAKSANAAN PERJANJIAN PENGANGKUTAN A. Pengertian Perjanjian Pengangkutan dan Asas-Asas Pengangkutan Menurut Hukumnya - Tinjauan YuridisTanggungjawab PT. Kereta Api Indonesia Dalam Pengangkutan CPO PTPN IV Kebun Air Batu (Studi Pada PT. Kereta Api

0 0 25

BAB I PENDAHULUAN A. Latar Belakang - Perlindungan Konsumen atas Informasi yang Tidak Benar Mengenai Undian Berhadian pada Kegiatan Perbankan (Studi Pada Bank Pembangunan Daerah Jawa Barat dan Banten Cabang Medan)

0 0 18

BAB II TINJAUAN PUSTAKA 2.1 Air - Pemeriksaan Kadar Besi (Fe) dan Mangan (Mn) Pada Air Minum Isi Ulang Secara Spektrofotometri Serapan Atom (SSA) di Balai Laboratorium Kesehatan Daerah Provinsi Sumatera Utara

0 0 13

Pengaruh Kemampuan dan Motivasi Terhadap Kinerja Guru SMP di Yayasan Pendidikan X

0 0 6

BAB II KAJIAN TEORITIS A.Kinerja 1. Pengertian - Pengaruh Kemampuan dan Motivasi Terhadap Kinerja Guru SMP di Yayasan Pendidikan X

0 0 18

BAB I PENDAHULUAN A. Latar Belakang - Pengaruh Kemampuan dan Motivasi Terhadap Kinerja Guru SMP di Yayasan Pendidikan X

0 0 15

BAB II TINJUAN PUSTAKA 2.1. Tablet - Uji Disolusi Kalium Diklofenak Dalam Sediaan Tablet Menggunakan Metode Spektrofotometri Ultraviolet

0 1 12

Efektivitas Koagulan PAC (Poly Aluminium Chloride) dan Tawas (Alum) Terhadap Logam Nitrit (NO2) Pada Air Baku PDAM Tirtanadi Hamparan Perak

0 0 19

2.1.1 Pencemaran Air - Efektivitas Koagulan PAC (Poly Aluminium Chloride) dan Tawas (Alum) Terhadap Logam Nitrit (NO2) Pada Air Baku PDAM Tirtanadi Hamparan Perak

0 0 10

BAB 2 TINJAUAN PUSTAKA 2.1 Pengertian Narkoba dan Penggolongannya Narkoba merupakan singkatan dari narkotika, psikotropika, dan bahan adiktif berbahaya lainnya. Narkoba merupakan bahan atau zat yang dimasukkan ke tubuh manusia dengan cara diminum, dihirup

0 0 14